@flozy/editor 7.0.6 → 7.0.8
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 +7 -7
- package/dist/Editor/CommonEditor.js +74 -25
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +32 -16
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Button/EditorButton.js +25 -9
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
- package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
- package/dist/Editor/Elements/Embed/Image.js +2 -2
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +0 -14
- package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
- package/dist/Editor/Elements/Grid/GridItem.js +2 -3
- package/dist/Editor/Elements/Link/Link.js +70 -43
- package/dist/Editor/Elements/SimpleText/index.js +7 -12
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +12 -12
- package/dist/Editor/Elements/Title/title.js +13 -1
- package/dist/Editor/Elements/Variables/Style.js +28 -2
- package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
- package/dist/Editor/Styles/EditorStyles.js +287 -291
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +9 -8
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +210 -85
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +56 -9
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +32 -55
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
- package/dist/Editor/common/ColorPickerButton.js +35 -9
- package/dist/Editor/common/CustomColorPicker/index.js +106 -0
- package/dist/Editor/common/CustomColorPicker/style.js +53 -0
- package/dist/Editor/common/CustomDialog/index.js +94 -0
- package/dist/Editor/common/CustomDialog/style.js +67 -0
- package/dist/Editor/common/CustomSelect.js +33 -0
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/DnD/Draggable.js +0 -1
- package/dist/Editor/common/FontLoader/FontList.js +3 -11
- package/dist/Editor/common/FontLoader/FontLoader.js +74 -42
- package/dist/Editor/common/Icon.js +28 -0
- package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/ImageSelector/UploadStyles.js +1 -2
- package/dist/Editor/common/MentionsPopup/Styles.js +3 -9
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +8 -2
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
- package/dist/Editor/common/RnD/Utils/index.js +40 -0
- package/dist/Editor/common/RnD/index.js +23 -3
- package/dist/Editor/common/Section/index.js +60 -89
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +35 -11
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/Uploader.js +8 -0
- package/dist/Editor/commonStyle.js +55 -65
- package/dist/Editor/helper/deserialize/index.js +1 -1
- package/dist/Editor/helper/index.js +2 -2
- package/dist/Editor/helper/theme.js +200 -2
- package/dist/Editor/hooks/useDrag.js +17 -11
- package/dist/Editor/hooks/useEditorScroll.js +1 -2
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +9 -3
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +5 -9
- package/dist/Editor/plugins/withLayout.js +1 -1
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/theme/ThemeList.js +50 -173
- package/dist/Editor/theme/index.js +144 -0
- package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
- package/dist/Editor/themeSettings/buttons/index.js +283 -0
- package/dist/Editor/themeSettings/buttons/style.js +21 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
- package/dist/Editor/themeSettings/fonts/index.js +220 -0
- package/dist/Editor/themeSettings/fonts/style.js +44 -0
- package/dist/Editor/themeSettings/icons.js +60 -0
- package/dist/Editor/themeSettings/index.js +320 -0
- package/dist/Editor/themeSettings/style.js +152 -0
- package/dist/Editor/themeSettingsAI/icons.js +96 -0
- package/dist/Editor/themeSettingsAI/index.js +356 -0
- package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
- package/dist/Editor/themeSettingsAI/style.js +250 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +157 -49
- package/dist/Editor/utils/button.js +0 -14
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +48 -20
- package/dist/Editor/utils/link.js +1 -1
- package/package.json +6 -3
@@ -21,7 +21,8 @@ const buttonStyle = [{
|
|
21
21
|
},
|
22
22
|
children: option.text
|
23
23
|
});
|
24
|
-
}
|
24
|
+
},
|
25
|
+
themeEnabled: true
|
25
26
|
}, {
|
26
27
|
label: "Font Size",
|
27
28
|
key: "textSize",
|
@@ -45,7 +46,8 @@ const buttonStyle = [{
|
|
45
46
|
}, {
|
46
47
|
label: "Button Color",
|
47
48
|
key: "bgColor",
|
48
|
-
type: "color"
|
49
|
+
type: "color",
|
50
|
+
themeEnabled: true
|
49
51
|
}, {
|
50
52
|
label: "Border Color",
|
51
53
|
key: "borderColor",
|
@@ -73,6 +73,11 @@ 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
|
+
},
|
76
81
|
children: /*#__PURE__*/_jsxs(Button, {
|
77
82
|
component: "label",
|
78
83
|
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";
|
6
7
|
import { CheckedBoxCheckIcon } from "../../iconListV2";
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
8
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
9
10
|
const BANNER_SPACING_KEYS = ["top", "left", "right", "bottom"];
|
10
11
|
const BannerSpacing = props => {
|
11
12
|
const {
|
12
|
-
value: val,
|
13
13
|
data,
|
14
14
|
onChange,
|
15
15
|
elementProps,
|
@@ -19,7 +19,17 @@ const BannerSpacing = props => {
|
|
19
19
|
key
|
20
20
|
} = data;
|
21
21
|
const lockKeyVal = `lock${key}`;
|
22
|
-
|
22
|
+
const {
|
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;
|
23
33
|
if (lockSpacing === undefined) {
|
24
34
|
lockSpacing = true;
|
25
35
|
}
|
@@ -3,28 +3,36 @@ 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";
|
6
7
|
import { CheckedBoxCheckIcon } from "../../iconListV2";
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
8
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
9
10
|
const BORDER_RADIUS_KEYS = ["topLeft", "topRight", "bottomLeft", "bottomRight"];
|
10
11
|
const BorderRadius = props => {
|
11
12
|
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
|
-
}
|
24
18
|
const {
|
25
19
|
key
|
26
20
|
} = data;
|
27
21
|
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
|
+
}
|
28
36
|
const value = getBreakPointsValue(val, size?.device);
|
29
37
|
const handleChange = e => {
|
30
38
|
let changeAll = {};
|
@@ -1,6 +1,7 @@
|
|
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";
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
5
6
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
6
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -15,7 +16,10 @@ const RenderCard = ({
|
|
15
16
|
return /*#__PURE__*/_jsx(Card, {
|
16
17
|
sx: {
|
17
18
|
position: 'relative',
|
18
|
-
padding: "10px"
|
19
|
+
padding: "10px",
|
20
|
+
'& .MuiCheckbox-root svg': {
|
21
|
+
fill: 'unset !important'
|
22
|
+
}
|
19
23
|
},
|
20
24
|
children: /*#__PURE__*/_jsx(FormControlLabel, {
|
21
25
|
control: /*#__PURE__*/_jsx(Checkbox, {
|
@@ -81,6 +85,9 @@ const CardsMapping = props => {
|
|
81
85
|
selectedCard,
|
82
86
|
infoIcon
|
83
87
|
} = data;
|
88
|
+
const {
|
89
|
+
theme
|
90
|
+
} = useEditorContext();
|
84
91
|
const activeCard = value === selectedCard;
|
85
92
|
const handleChange = e => {
|
86
93
|
if (selectedCard === data?.value) {
|
@@ -99,7 +106,8 @@ const CardsMapping = props => {
|
|
99
106
|
sx: {
|
100
107
|
marginBottom: "12px",
|
101
108
|
"& .MuiPaper-root": {
|
102
|
-
|
109
|
+
background: theme?.palette?.editor?.miniToolBarBackground,
|
110
|
+
border: activeCard ? "1px solid #2563EB" : `1px solid ${theme?.palette?.editor?.inputFieldBorder}`,
|
103
111
|
borderRadius: "8px",
|
104
112
|
boxShadow: activeCard ? "0px 4px 16px 0px #2563EB40" : "unset"
|
105
113
|
}
|
@@ -1,14 +1,23 @@
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
1
|
+
import React, { useEffect, useMemo, 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";
|
4
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
5
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
|
+
const MAP_STYLE_PROPS = {
|
9
|
+
bgColor: "background-color",
|
10
|
+
textColor: "color"
|
11
|
+
};
|
6
12
|
const Color = props => {
|
7
13
|
const {
|
8
|
-
value,
|
14
|
+
value: val,
|
9
15
|
data,
|
10
16
|
onChange,
|
11
|
-
classes
|
17
|
+
classes,
|
18
|
+
elementProps,
|
19
|
+
handleClose,
|
20
|
+
customProps
|
12
21
|
} = props;
|
13
22
|
const {
|
14
23
|
key,
|
@@ -16,7 +25,20 @@ const Color = props => {
|
|
16
25
|
hideGradient
|
17
26
|
} = data;
|
18
27
|
const [recentColors, setRecentColors] = useState({});
|
19
|
-
const
|
28
|
+
const editor = useSlateStatic();
|
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;
|
20
42
|
useEffect(() => {
|
21
43
|
const storedColors = JSON.parse(localStorage.getItem("recentColors"));
|
22
44
|
if (storedColors) {
|
@@ -54,11 +76,11 @@ const Color = props => {
|
|
54
76
|
fontSize: "14px",
|
55
77
|
fontWeight: 500,
|
56
78
|
marginBottom: "5px",
|
57
|
-
display:
|
58
|
-
alignItems:
|
59
|
-
|
60
|
-
width:
|
61
|
-
height:
|
79
|
+
display: "flex",
|
80
|
+
alignItems: "center",
|
81
|
+
"& svg": {
|
82
|
+
width: "20px",
|
83
|
+
height: "20px"
|
62
84
|
}
|
63
85
|
},
|
64
86
|
children: [label, data?.infoIcon ? /*#__PURE__*/_jsx(Tooltip, {
|
@@ -66,14 +88,14 @@ const Color = props => {
|
|
66
88
|
title: "Note: If color gradient is used, divider styles will not apply",
|
67
89
|
children: /*#__PURE__*/_jsx("span", {
|
68
90
|
style: {
|
69
|
-
display:
|
91
|
+
display: "inline-block"
|
70
92
|
},
|
71
93
|
children: data?.infoIcon
|
72
94
|
})
|
73
95
|
}) : null]
|
74
96
|
}), /*#__PURE__*/_jsx(TextField, {
|
75
97
|
fullWidth: true,
|
76
|
-
value:
|
98
|
+
value: inputValue,
|
77
99
|
placeholder: getLable || `${label} color code`,
|
78
100
|
InputLabelProps: {
|
79
101
|
shrink: true
|
@@ -86,6 +108,8 @@ const Color = props => {
|
|
86
108
|
value: value,
|
87
109
|
onSave: onSave,
|
88
110
|
recentColors: recentColors[key],
|
111
|
+
handleClose: handleClose,
|
112
|
+
disableEditTheme: customProps?.disableEditTheme,
|
89
113
|
hideGradient: hideGradient
|
90
114
|
})
|
91
115
|
})
|
@@ -1,19 +1,26 @@
|
|
1
|
-
import React from "react";
|
1
|
+
import React, { useMemo } from "react";
|
2
2
|
import { TextField, IconButton, Grid, Typography } from "@mui/material";
|
3
3
|
import { sizeMap } from "../../../utils/font.js";
|
4
4
|
import { TextMinusIcon, TextPlusIcon } from "../../../common/iconslist.js";
|
5
|
+
import { getElementStyle } from "../../../helper/theme.js";
|
6
|
+
import { useSlateStatic } from "slate-react";
|
5
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
7
9
|
const FontSize = props => {
|
8
10
|
const {
|
9
|
-
value,
|
11
|
+
value: val,
|
10
12
|
data,
|
11
|
-
onChange
|
13
|
+
onChange,
|
14
|
+
elementProps
|
12
15
|
} = props;
|
13
16
|
const {
|
14
17
|
key,
|
15
18
|
width
|
16
19
|
} = data;
|
20
|
+
const editor = useSlateStatic();
|
21
|
+
const value = useMemo(() => {
|
22
|
+
return getElementStyle(editor, elementProps, "font-size") || val;
|
23
|
+
}, [editor, val]);
|
17
24
|
const handleChange = e => {
|
18
25
|
let inc = parseInt(e.target.value) || 16;
|
19
26
|
inc = inc > 200 ? 200 : inc;
|
@@ -24,7 +31,9 @@ const FontSize = props => {
|
|
24
31
|
const getSizeVal = () => {
|
25
32
|
try {
|
26
33
|
const size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
|
27
|
-
|
34
|
+
const defaultSize = 16;
|
35
|
+
const val = parseInt(size || defaultSize);
|
36
|
+
return isNaN(val) ? defaultSize : val;
|
28
37
|
} catch (err) {
|
29
38
|
return "";
|
30
39
|
}
|
@@ -1,13 +1,13 @@
|
|
1
|
-
import React from "react";
|
1
|
+
import React, { useMemo } from "react";
|
2
2
|
import { FormControl, Grid, ListItemIcon, ListSubheader, MenuItem, Select, Typography } from "@mui/material";
|
3
|
-
import { getBreakPointsValue } from "../../../helper/theme";
|
3
|
+
import { getBreakPointsValue, getElementStyle } from "../../../helper/theme";
|
4
4
|
import useWindowResize from "../../../hooks/useWindowResize";
|
5
5
|
import { useEditorContext } from "../../../hooks/useMouseMove";
|
6
6
|
import FontFamilyAutocomplete from "../../../Toolbar/FormatTools/FontFamilyAutocomplete";
|
7
7
|
import { useSlate } from "slate-react";
|
8
8
|
import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
|
9
9
|
|
10
|
-
// hideMetaDataOptions -- pass true to hide metadata option in select field
|
10
|
+
// hideMetaDataOptions -- pass true to hide metadata option in select field
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
12
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
13
13
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
@@ -30,14 +30,22 @@ const TextOptions = props => {
|
|
30
30
|
renderOption,
|
31
31
|
width,
|
32
32
|
webFont = false,
|
33
|
-
hideMetaDataOptions = false
|
33
|
+
hideMetaDataOptions = false,
|
34
|
+
themeEnabled
|
34
35
|
} = data;
|
35
36
|
const {
|
36
37
|
fontFamilies
|
37
38
|
} = useEditorContext();
|
38
|
-
const editor = useSlate();
|
39
39
|
const [size] = useWindowResize();
|
40
|
-
const
|
40
|
+
const editor = useSlate();
|
41
|
+
const value = useMemo(() => {
|
42
|
+
const userValue = isBreakpoint ? getBreakPointsValue(val, size?.device) : val;
|
43
|
+
if (themeEnabled) {
|
44
|
+
// editor takes a little amount of time to update the new style in element, in that case userValue will be returned
|
45
|
+
return getElementStyle(editor, elementProps, key) || userValue;
|
46
|
+
}
|
47
|
+
return userValue;
|
48
|
+
}, [editor, isBreakpoint, val, size?.device]);
|
41
49
|
const metaDataMappingOptions = metaMappings?.boards || [];
|
42
50
|
const updatedOption = !hideMetaDataOptions && elementProps?.metadatamapping ? [...options, ...metaDataMappingOptions] : webFont ? fontFamilies?.options : options;
|
43
51
|
const handleChange = (e, d) => {
|
@@ -116,7 +124,7 @@ const TextOptions = props => {
|
|
116
124
|
editor: editor,
|
117
125
|
format: key,
|
118
126
|
options: fontFamilies.options,
|
119
|
-
width:
|
127
|
+
width: "100%",
|
120
128
|
onChange: onChange,
|
121
129
|
val: value,
|
122
130
|
webFont: true
|
@@ -4,6 +4,7 @@ import { convertBase64 } from "../utils/helper";
|
|
4
4
|
import { uploadFile } from "../service/fileupload";
|
5
5
|
import Icon from "./Icon";
|
6
6
|
import UploadStyles from "../common/ImageSelector/UploadStyles";
|
7
|
+
import { useEditorContext } from "../hooks/useMouseMove";
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
8
9
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
9
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -18,6 +19,9 @@ const Uploader = props => {
|
|
18
19
|
const [base64, setBase64] = useState(value?.url);
|
19
20
|
const [fileName, setFileName] = useState("");
|
20
21
|
const [uploading, setUploading] = useState(false);
|
22
|
+
const {
|
23
|
+
theme
|
24
|
+
} = useEditorContext();
|
21
25
|
const handleChange = async e => {
|
22
26
|
const uFile = e.target.files[0];
|
23
27
|
const strImage = await convertBase64(uFile);
|
@@ -99,6 +103,10 @@ const Uploader = props => {
|
|
99
103
|
className: "uploadImageSection",
|
100
104
|
children: base64 ? renderThumb() : /*#__PURE__*/_jsx(Grid, {
|
101
105
|
className: "uploadImageText",
|
106
|
+
sx: {
|
107
|
+
background: `${theme?.palette?.editor?.inputFieldBgColor}`,
|
108
|
+
border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
|
109
|
+
},
|
102
110
|
children: /*#__PURE__*/_jsxs(Button, {
|
103
111
|
component: "label",
|
104
112
|
variant: "text",
|
@@ -51,40 +51,30 @@ const useCommonStyle = theme => ({
|
|
51
51
|
},
|
52
52
|
"& .MuiPaper-root": {
|
53
53
|
border: `unset !important`,
|
54
|
-
borderRadius:
|
55
|
-
height:
|
54
|
+
borderRadius: "0px",
|
55
|
+
height: "fit-content",
|
56
|
+
padding: "2px"
|
56
57
|
},
|
57
58
|
"& p": {
|
58
59
|
marginBottom: "7px",
|
59
60
|
marginTop: "4px"
|
60
61
|
},
|
61
|
-
"&
|
62
|
-
|
63
|
-
|
64
|
-
height: 'fit-content',
|
65
|
-
padding: '2px'
|
62
|
+
"& p": {
|
63
|
+
marginBottom: "7px",
|
64
|
+
marginTop: "4px"
|
66
65
|
},
|
67
66
|
"& .muiIconsListParent": {
|
68
67
|
"& svg": {
|
69
68
|
color: `${theme?.palette?.editor?.svgTextAlignStrokeColor} !important`
|
70
69
|
},
|
71
|
-
"&::-webkit-scrollbar-thumb": {
|
72
|
-
background: `none !important`
|
73
|
-
},
|
74
|
-
"&::-webkit-scrollbar-track": {
|
75
|
-
visibility: "hidden"
|
76
|
-
},
|
77
70
|
"&::-webkit-scrollbar-thumb": {
|
78
71
|
background: `${theme?.palette?.editor?.brainPopupScroll} !important`
|
79
|
-
},
|
80
|
-
"&::-webkit-scrollbar-track": {
|
81
|
-
visibility: "hidden"
|
82
72
|
}
|
83
73
|
},
|
84
74
|
"& .MuiGrid-root>.MuiGrid-item": {
|
85
75
|
paddingRight: "0px !important",
|
86
76
|
fontFamily: "Inter, sans-serif",
|
87
|
-
height:
|
77
|
+
height: "fit-content"
|
88
78
|
},
|
89
79
|
"& .MuiInputBase-root": {
|
90
80
|
borderRadius: "10px",
|
@@ -145,11 +135,11 @@ const useCommonStyle = theme => ({
|
|
145
135
|
borderRadius: "10px",
|
146
136
|
width: "46px !important",
|
147
137
|
marginLeft: "10px",
|
148
|
-
height:
|
138
|
+
height: "36px !important"
|
149
139
|
}
|
150
140
|
},
|
151
|
-
|
152
|
-
margin:
|
141
|
+
"& .MuiFormHelperText-root": {
|
142
|
+
margin: "4px 0px 0px 0px",
|
153
143
|
color: theme?.palette?.editor?.closeButtonSvgStroke,
|
154
144
|
fontFamily: "Inter, sans-serif"
|
155
145
|
}
|
@@ -405,14 +395,14 @@ const useCommonStyle = theme => ({
|
|
405
395
|
padding: "8px 12px",
|
406
396
|
fontSize: "12px",
|
407
397
|
color: theme?.palette?.editor?.menuOptionTextColor,
|
408
|
-
fontWeight:
|
398
|
+
fontWeight: "500",
|
409
399
|
fontFamily: "Inter, sans-serif",
|
410
|
-
minHeight:
|
400
|
+
minHeight: "36px",
|
411
401
|
"&:hover": {
|
412
402
|
backgroundColor: theme?.palette?.editor?.menuOptionHoverBackground
|
413
403
|
}
|
414
404
|
},
|
415
|
-
|
405
|
+
"& .Mui-selected": {
|
416
406
|
background: `${theme?.palette?.editor?.menuOptionSelectedOption} !important`
|
417
407
|
},
|
418
408
|
"& .MuiListSubheader-root": {
|
@@ -421,16 +411,16 @@ const useCommonStyle = theme => ({
|
|
421
411
|
fontSize: "12px"
|
422
412
|
},
|
423
413
|
"& .MuiPaper-root": {
|
424
|
-
borderRadius:
|
425
|
-
padding:
|
414
|
+
borderRadius: "8px",
|
415
|
+
padding: "0px",
|
426
416
|
background: `${theme?.palette?.editor?.textWeightPopUpBackground} !important`
|
427
417
|
},
|
428
|
-
|
429
|
-
margin:
|
430
|
-
borderRadius:
|
418
|
+
"& .MuiButtonBase-root": {
|
419
|
+
margin: "4px",
|
420
|
+
borderRadius: "6px"
|
431
421
|
},
|
432
|
-
|
433
|
-
padding:
|
422
|
+
"& .MuiList-root": {
|
423
|
+
padding: "0px"
|
434
424
|
}
|
435
425
|
},
|
436
426
|
datePicker: {
|
@@ -475,27 +465,27 @@ const useCommonStyle = theme => ({
|
|
475
465
|
}
|
476
466
|
}
|
477
467
|
},
|
478
|
-
pageSettingPopUpRoot: {
|
479
|
-
padding: "16px 8px 16px 10px!important",
|
480
|
-
height: "100%"
|
481
|
-
},
|
482
468
|
buttonMoreOption: {
|
483
469
|
background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
484
470
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
485
|
-
padding:
|
486
|
-
|
487
|
-
width:
|
488
|
-
height:
|
489
|
-
|
471
|
+
padding: "4px !important",
|
472
|
+
"& svg": {
|
473
|
+
width: "18px !important",
|
474
|
+
height: "18px !important",
|
475
|
+
"& path": {
|
490
476
|
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
491
477
|
}
|
492
478
|
}
|
493
479
|
},
|
480
|
+
pageSettingPopUpRoot: {
|
481
|
+
padding: "16px 8px 16px 10px!important",
|
482
|
+
height: "100%"
|
483
|
+
},
|
494
484
|
buttonMoreOption2: {
|
495
485
|
background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
496
486
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
497
|
-
|
498
|
-
|
487
|
+
"& svg": {
|
488
|
+
"& path": {
|
499
489
|
fill: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
500
490
|
}
|
501
491
|
}
|
@@ -503,11 +493,11 @@ const useCommonStyle = theme => ({
|
|
503
493
|
buttonMoreOption3: {
|
504
494
|
background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
505
495
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
506
|
-
padding:
|
507
|
-
|
508
|
-
width:
|
509
|
-
height:
|
510
|
-
|
496
|
+
padding: "5px !important",
|
497
|
+
"& svg": {
|
498
|
+
width: "16px !important",
|
499
|
+
height: "16px !important",
|
500
|
+
"& path": {
|
511
501
|
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
512
502
|
}
|
513
503
|
}
|
@@ -515,37 +505,37 @@ const useCommonStyle = theme => ({
|
|
515
505
|
resizeButton: {
|
516
506
|
background: theme?.palette?.editor?.aiInputBackground,
|
517
507
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1}`,
|
518
|
-
padding:
|
519
|
-
borderRadius:
|
520
|
-
|
521
|
-
width:
|
522
|
-
height:
|
523
|
-
|
508
|
+
padding: "5px !important",
|
509
|
+
borderRadius: "50% !important",
|
510
|
+
"& svg": {
|
511
|
+
width: "18px",
|
512
|
+
height: "18px",
|
513
|
+
"& path": {
|
524
514
|
fill: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
525
515
|
}
|
526
516
|
},
|
527
|
-
|
517
|
+
"&:hover": {
|
528
518
|
background: theme?.palette?.editor?.aiInputBackground
|
529
519
|
}
|
530
520
|
},
|
531
521
|
gradientFillBtn: {
|
532
522
|
background: `linear-gradient(112.61deg, #2C63ED 19.3%, #8360FD 88.14%) !important`,
|
533
|
-
textTransform:
|
534
|
-
color:
|
535
|
-
padding:
|
536
|
-
height:
|
537
|
-
borderRadius:
|
538
|
-
fontWeight:
|
539
|
-
fontSize:
|
523
|
+
textTransform: "math-auto !important",
|
524
|
+
color: "#FFFFFF !important",
|
525
|
+
padding: "0px 12px !important",
|
526
|
+
height: "32px",
|
527
|
+
borderRadius: "8px",
|
528
|
+
fontWeight: "500",
|
529
|
+
fontSize: "14px"
|
540
530
|
},
|
541
531
|
emptyThumbBtn: {
|
542
532
|
background: `${theme?.palette?.editor?.sectionSettingIconHover} !important`,
|
543
533
|
color: `${theme?.palette?.editor?.textColor} !important`,
|
544
|
-
fontSize:
|
545
|
-
|
546
|
-
width:
|
547
|
-
height:
|
548
|
-
|
534
|
+
fontSize: "14px !important",
|
535
|
+
"& svg": {
|
536
|
+
width: "20px !important",
|
537
|
+
height: "20px !important",
|
538
|
+
"& path": {
|
549
539
|
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
550
540
|
}
|
551
541
|
}
|
@@ -175,7 +175,7 @@ const deserialize = el => {
|
|
175
175
|
if (el.nodeType === 3) {
|
176
176
|
// if there is any line-breaks
|
177
177
|
const match = /\r|\n/.exec(el.textContent);
|
178
|
-
const text = el.textContent.replace(/\r|\n/g, "").trim();
|
178
|
+
const text = el.textContent?.trim()?.length === 0 ? el.textContent.replace(/\r|\n/g, "").trim() : el.textContent;
|
179
179
|
return match && !text ? null : {
|
180
180
|
text,
|
181
181
|
...getInlineTextStyles(el.parentNode)
|
@@ -337,14 +337,14 @@ export const isCarouselSelected = editor => {
|
|
337
337
|
return false;
|
338
338
|
}
|
339
339
|
const [nodeEntry] = Editor.nodes(editor, {
|
340
|
-
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type ===
|
340
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "carousel"
|
341
341
|
});
|
342
342
|
if (!nodeEntry) {
|
343
343
|
return false;
|
344
344
|
}
|
345
345
|
const [node] = nodeEntry;
|
346
346
|
const carouselDom = ReactEditor.toDOMNode(editor, node);
|
347
|
-
const isEdit = carouselDom.classList.contains(
|
347
|
+
const isEdit = carouselDom.classList.contains("carousel_slider_edit");
|
348
348
|
return !isEdit;
|
349
349
|
} catch (err) {
|
350
350
|
console.log(err);
|