@flozy/editor 3.7.1 → 3.7.3
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 +211 -0
- package/dist/Editor/CommonEditor.js +169 -111
- package/dist/Editor/Elements/Accordion/Accordion.js +74 -7
- package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +3 -2
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +4 -60
- package/dist/Editor/Elements/AppHeader/AppHeader.js +26 -4
- package/dist/Editor/Elements/Button/EditorButton.js +34 -18
- package/dist/Editor/Elements/ChipText/ChipText.js +3 -3
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +60 -17
- 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 +2 -1
- package/dist/Editor/Elements/Embed/Frames/ImageFrame.js +1 -0
- package/dist/Editor/Elements/Embed/Image.js +28 -20
- package/dist/Editor/Elements/Embed/Video.js +15 -11
- package/dist/Editor/Elements/Emoji/EmojiButton.js +2 -2
- package/dist/Editor/Elements/Emoji/EmojiPicker.js +16 -0
- package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +12 -3
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -1
- package/dist/Editor/Elements/Grid/Grid.js +3 -1
- package/dist/Editor/Elements/Grid/GridItem.js +4 -2
- package/dist/Editor/Elements/InlineIcon/InlineIcon.js +2 -3
- package/dist/Editor/Elements/Link/Link.js +6 -1
- package/dist/Editor/Elements/Link/LinkButton.js +4 -2
- package/dist/Editor/Elements/Link/LinkPopup.js +11 -3
- package/dist/Editor/Elements/Link/LinkPopupStyles.js +28 -0
- package/dist/Editor/Elements/List/CheckList.js +6 -2
- package/dist/Editor/Elements/Table/TableCell.js +1 -1
- package/dist/Editor/MiniEditor.js +3 -1
- package/dist/Editor/Styles/EditorStyles.js +3 -2
- package/dist/Editor/Toolbar/Basic/index.js +4 -2
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +26 -2
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -11
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +4 -11
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +213 -86
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +20 -13
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +52 -7
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +9 -2
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
- package/dist/Editor/common/ColorPickerButton.js +25 -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/EditorCmds.js +35 -0
- package/dist/Editor/common/Icon.js +30 -2
- package/dist/Editor/common/MUIIcon/index.js +48 -0
- package/dist/Editor/common/MentionsPopup/MentionsListCard.js +5 -2
- package/dist/Editor/common/MentionsPopup/Styles.js +6 -3
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +7 -7
- package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +16 -16
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +13 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +31 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +12 -28
- package/dist/Editor/common/StyleBuilder/fieldTypes/loadIcon.js +13 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/mui_filled_icons.js +2 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +14 -4
- package/dist/Editor/common/StyleBuilder/formStyle.js +25 -26
- package/dist/Editor/common/StyleBuilder/index.js +1 -1
- package/dist/Editor/helper/index.js +15 -0
- package/dist/Editor/helper/theme.js +190 -4
- package/dist/Editor/hooks/useEditorTheme.js +139 -0
- package/dist/Editor/hooks/useMouseMove.js +15 -6
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +47 -5
- package/dist/Editor/plugins/withLayout.js +15 -10
- package/dist/Editor/plugins/withTable.js +2 -2
- 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 +290 -0
- package/dist/Editor/themeSettings/buttons/style.js +21 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +290 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +123 -0
- package/dist/Editor/themeSettings/fonts/index.js +213 -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 +190 -0
- package/dist/Editor/themeSettingsAI/style.js +247 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +157 -25
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +361 -0
- package/dist/Editor/utils/events.js +11 -4
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/form.js +2 -2
- package/dist/Editor/utils/helper.js +71 -12
- package/dist/Editor/utils/serializeToHTML.js +25 -13
- package/dist/index.js +5 -1
- package/package.json +4 -4
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import data from "@emoji-mart/data";
|
|
2
|
+
import Picker from "@emoji-mart/react";
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
|
+
const EmojiPicker = props => {
|
|
6
|
+
const {
|
|
7
|
+
onEmojiSelect
|
|
8
|
+
} = props;
|
|
9
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
10
|
+
children: /*#__PURE__*/_jsx(Picker, {
|
|
11
|
+
data: data,
|
|
12
|
+
onEmojiSelect: onEmojiSelect
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
export default EmojiPicker;
|
|
@@ -71,11 +71,11 @@ const FormWorkflow = props => {
|
|
|
71
71
|
children: [/*#__PURE__*/_jsx(Grid, {
|
|
72
72
|
item: true,
|
|
73
73
|
sx: classes.radioBtn,
|
|
74
|
-
children: /*#__PURE__*/
|
|
74
|
+
children: /*#__PURE__*/_jsxs(RadioGroup, {
|
|
75
75
|
name: "set timing",
|
|
76
76
|
value: schedule,
|
|
77
77
|
defaultValue: 1,
|
|
78
|
-
children: /*#__PURE__*/_jsx(FormControlLabel, {
|
|
78
|
+
children: [/*#__PURE__*/_jsx(FormControlLabel, {
|
|
79
79
|
value: "immediately",
|
|
80
80
|
label: "Immediately",
|
|
81
81
|
onChange: () => {
|
|
@@ -84,7 +84,16 @@ const FormWorkflow = props => {
|
|
|
84
84
|
control: /*#__PURE__*/_jsx(Radio, {
|
|
85
85
|
size: "small"
|
|
86
86
|
})
|
|
87
|
-
})
|
|
87
|
+
}), /*#__PURE__*/_jsx(FormControlLabel, {
|
|
88
|
+
value: "after",
|
|
89
|
+
label: "After",
|
|
90
|
+
onChange: () => {
|
|
91
|
+
setSchedule("after");
|
|
92
|
+
},
|
|
93
|
+
control: /*#__PURE__*/_jsx(Radio, {
|
|
94
|
+
size: "small"
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
88
97
|
})
|
|
89
98
|
}), schedule === "after" && /*#__PURE__*/_jsx(Grid, {
|
|
90
99
|
item: true,
|
|
@@ -15,6 +15,7 @@ import { gridItem } from "../../utils/gridItem";
|
|
|
15
15
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
16
16
|
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
17
17
|
import useWindowResize from "../../hooks/useWindowResize";
|
|
18
|
+
import { useTheme } from "@emotion/react";
|
|
18
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
20
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
21
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -75,6 +76,7 @@ const GridToolBar = ({
|
|
|
75
76
|
}) : null;
|
|
76
77
|
};
|
|
77
78
|
const Grid = props => {
|
|
79
|
+
const theme = useTheme();
|
|
78
80
|
const {
|
|
79
81
|
attributes,
|
|
80
82
|
children,
|
|
@@ -277,7 +279,7 @@ const Grid = props => {
|
|
|
277
279
|
} = getBreakPointsValue(borderRadius, size?.device) || {};
|
|
278
280
|
return /*#__PURE__*/_jsxs(GridContainer, {
|
|
279
281
|
container: true,
|
|
280
|
-
className: `grid-container ${grid} has-hover element-root`,
|
|
282
|
+
className: `grid-container ${grid} has-hover element-root dpath`,
|
|
281
283
|
...attributes,
|
|
282
284
|
...sectionId,
|
|
283
285
|
sx: {
|
|
@@ -8,6 +8,7 @@ import { GridSettingsIcon } from "../../common/iconslist";
|
|
|
8
8
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
9
9
|
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
10
10
|
import { isEmptyNode } from "../../utils/helper";
|
|
11
|
+
import { useTheme } from "@emotion/react";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
const GridItemToolbar = ({
|
|
@@ -34,6 +35,7 @@ const GridItemToolbar = ({
|
|
|
34
35
|
}) : null;
|
|
35
36
|
};
|
|
36
37
|
const GridItem = props => {
|
|
38
|
+
const theme = useTheme();
|
|
37
39
|
const {
|
|
38
40
|
attributes,
|
|
39
41
|
children,
|
|
@@ -105,7 +107,7 @@ const GridItem = props => {
|
|
|
105
107
|
return /*#__PURE__*/_jsxs(Item, {
|
|
106
108
|
item: true,
|
|
107
109
|
component: "div",
|
|
108
|
-
className: `grid-item element-root gi-top-wrpr`,
|
|
110
|
+
className: `grid-item element-root gi-top-wrpr dpath`,
|
|
109
111
|
...attributes,
|
|
110
112
|
sx: {
|
|
111
113
|
width: {
|
|
@@ -119,7 +121,7 @@ const GridItem = props => {
|
|
|
119
121
|
xs: xsHidden ? "none" : "flex"
|
|
120
122
|
},
|
|
121
123
|
flexDirection: flexDirection || "column",
|
|
122
|
-
background: bgColor
|
|
124
|
+
background: bgColor,
|
|
123
125
|
borderColor: getBorderColor(),
|
|
124
126
|
borderWidth: borderWidth || "1px",
|
|
125
127
|
borderRadius: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as fIcons from "@mui/icons-material";
|
|
3
2
|
import { Box } from "@mui/material";
|
|
3
|
+
import Check from "@mui/icons-material/Check";
|
|
4
4
|
import { getBreakPointsValue } from "../../helper/theme";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -23,7 +23,6 @@ const InlineIcon = props => {
|
|
|
23
23
|
right,
|
|
24
24
|
bottom
|
|
25
25
|
} = bannerSpacing || {};
|
|
26
|
-
const BtnIcon = fIcons["Check"];
|
|
27
26
|
return /*#__PURE__*/_jsxs(Box, {
|
|
28
27
|
...attributes,
|
|
29
28
|
className: "editor-icon-text",
|
|
@@ -42,7 +41,7 @@ const InlineIcon = props => {
|
|
|
42
41
|
background: bgColor || "#CCC",
|
|
43
42
|
color: textColor
|
|
44
43
|
},
|
|
45
|
-
children: [/*#__PURE__*/_jsx(
|
|
44
|
+
children: [/*#__PURE__*/_jsx(Check, {}), /*#__PURE__*/_jsx("div", {
|
|
46
45
|
contentEditable: true,
|
|
47
46
|
children: children
|
|
48
47
|
})]
|
|
@@ -9,6 +9,7 @@ import { removeLink } from "../../utils/link";
|
|
|
9
9
|
import LinkPopup from "./LinkPopup";
|
|
10
10
|
import "./styles.css";
|
|
11
11
|
import { absoluteLink } from "../../utils/helper";
|
|
12
|
+
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
const Link = props => {
|
|
@@ -29,6 +30,9 @@ const Link = props => {
|
|
|
29
30
|
const path = ReactEditor.findPath(editor, element);
|
|
30
31
|
const urlPath = element.url || element.href;
|
|
31
32
|
const absLink = absoluteLink(urlPath);
|
|
33
|
+
const {
|
|
34
|
+
theme
|
|
35
|
+
} = useEditorContext();
|
|
32
36
|
const updateLink = () => {
|
|
33
37
|
Transforms.setNodes(editor, {
|
|
34
38
|
href: linkData?.url,
|
|
@@ -107,7 +111,8 @@ const Link = props => {
|
|
|
107
111
|
linkData: linkData,
|
|
108
112
|
handleClose: handleClose,
|
|
109
113
|
handleInputChange: handleInputChange,
|
|
110
|
-
handleInsertLink: updateLink
|
|
114
|
+
handleInsertLink: updateLink,
|
|
115
|
+
theme: theme
|
|
111
116
|
})]
|
|
112
117
|
});
|
|
113
118
|
};
|
|
@@ -9,7 +9,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const LinkButton = props => {
|
|
11
11
|
const {
|
|
12
|
-
editor
|
|
12
|
+
editor,
|
|
13
|
+
theme
|
|
13
14
|
} = props;
|
|
14
15
|
const linkInputRef = useRef(null);
|
|
15
16
|
const [showInput, setShowInput] = useState(false);
|
|
@@ -77,7 +78,8 @@ const LinkButton = props => {
|
|
|
77
78
|
linkData: linkData,
|
|
78
79
|
handleClose: handleClose,
|
|
79
80
|
handleInputChange: handleInputChange,
|
|
80
|
-
handleInsertLink: handleInsertLink
|
|
81
|
+
handleInsertLink: handleInsertLink,
|
|
82
|
+
theme: theme
|
|
81
83
|
})]
|
|
82
84
|
});
|
|
83
85
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Dialog, DialogActions, DialogContent, DialogTitle, FormControl, FormControlLabel, Grid, TextField, Button, IconButton, Typography, Checkbox } from "@mui/material";
|
|
3
3
|
import CloseIcon from "@mui/icons-material/Close";
|
|
4
|
+
import LinkPopupStyles from "./LinkPopupStyles";
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
7
|
const LinkPopup = props => {
|
|
@@ -9,8 +10,10 @@ const LinkPopup = props => {
|
|
|
9
10
|
handleClose,
|
|
10
11
|
linkData,
|
|
11
12
|
handleInputChange,
|
|
12
|
-
handleInsertLink
|
|
13
|
+
handleInsertLink,
|
|
14
|
+
theme
|
|
13
15
|
} = props;
|
|
16
|
+
const classes = LinkPopupStyles(theme);
|
|
14
17
|
return /*#__PURE__*/_jsxs(Dialog, {
|
|
15
18
|
fullWidth: true,
|
|
16
19
|
open: open,
|
|
@@ -44,13 +47,16 @@ const LinkPopup = props => {
|
|
|
44
47
|
style: {
|
|
45
48
|
paddingTop: "12px"
|
|
46
49
|
},
|
|
50
|
+
className: classes.titleTypo,
|
|
47
51
|
children: /*#__PURE__*/_jsx(TextField, {
|
|
48
52
|
size: "small",
|
|
49
53
|
fullWidth: true,
|
|
50
54
|
value: linkData?.name,
|
|
51
55
|
name: "name",
|
|
52
56
|
placeholder: "Link Title",
|
|
53
|
-
onChange: handleInputChange
|
|
57
|
+
onChange: handleInputChange,
|
|
58
|
+
sx: classes.addLinkField,
|
|
59
|
+
className: classes.addLinkField
|
|
54
60
|
})
|
|
55
61
|
}), /*#__PURE__*/_jsx(Grid, {
|
|
56
62
|
item: true,
|
|
@@ -64,7 +70,9 @@ const LinkPopup = props => {
|
|
|
64
70
|
name: "url",
|
|
65
71
|
value: linkData?.url,
|
|
66
72
|
placeholder: "https://google.com",
|
|
67
|
-
onChange: handleInputChange
|
|
73
|
+
onChange: handleInputChange,
|
|
74
|
+
sx: classes.addLinkField,
|
|
75
|
+
className: classes.addLinkField
|
|
68
76
|
})
|
|
69
77
|
}), /*#__PURE__*/_jsx(Grid, {
|
|
70
78
|
item: true,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const LinkPopupStyles = theme => ({
|
|
2
|
+
addLinkField: {
|
|
3
|
+
"& .MuiOutlinedInput-input": {
|
|
4
|
+
fontSize: "12px",
|
|
5
|
+
fontWeight: 500,
|
|
6
|
+
color: `${theme?.palette?.editor?.textColor} !important`
|
|
7
|
+
},
|
|
8
|
+
"& .MuiFormHelperText-root": {
|
|
9
|
+
color: `${theme?.palette?.editor?.textColor} !important`
|
|
10
|
+
},
|
|
11
|
+
"& .MuiOutlinedInput-root": {
|
|
12
|
+
boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.16)",
|
|
13
|
+
color: `${theme?.palette?.editor?.textColor} !important`,
|
|
14
|
+
borderRadius: "7px",
|
|
15
|
+
"& fieldset": {
|
|
16
|
+
borderColor: "#D8DDE1"
|
|
17
|
+
},
|
|
18
|
+
"&:hover fieldset": {
|
|
19
|
+
borderColor: "#64748B"
|
|
20
|
+
},
|
|
21
|
+
"&.Mui-focused fieldset": {
|
|
22
|
+
borderColor: "#2563EB"
|
|
23
|
+
},
|
|
24
|
+
"& .MuiFormLabel-root": {}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export default LinkPopupStyles;
|
|
@@ -11,7 +11,9 @@ const CheckList = ({
|
|
|
11
11
|
attributes,
|
|
12
12
|
children,
|
|
13
13
|
element,
|
|
14
|
-
isEmpty
|
|
14
|
+
isEmpty,
|
|
15
|
+
className,
|
|
16
|
+
style
|
|
15
17
|
}) => {
|
|
16
18
|
const editor = useSlateStatic();
|
|
17
19
|
const readOnly = useReadOnly();
|
|
@@ -30,12 +32,14 @@ const CheckList = ({
|
|
|
30
32
|
const nestedCheckList = element?.children?.length && element.children[0].type === "check-list-item";
|
|
31
33
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
32
34
|
children: /*#__PURE__*/_jsxs("div", {
|
|
35
|
+
className: className || "",
|
|
33
36
|
...attributes,
|
|
34
37
|
style: {
|
|
35
38
|
textAlign: element.alignment || "left",
|
|
36
39
|
display: "flex",
|
|
37
40
|
justifyContent: "center",
|
|
38
|
-
alignItems: "center"
|
|
41
|
+
alignItems: "center",
|
|
42
|
+
...(style || {})
|
|
39
43
|
},
|
|
40
44
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
41
45
|
contentEditable: false,
|
|
@@ -117,7 +117,7 @@ const TableCell = props => {
|
|
|
117
117
|
className: `editor-table-cell ${hasSelected ? "selection" : ""}`,
|
|
118
118
|
style: {
|
|
119
119
|
position: "relative",
|
|
120
|
-
|
|
120
|
+
background: bgColor || entireBgColor,
|
|
121
121
|
border: `3px solid ${cellBorderColor}`,
|
|
122
122
|
...(sizeProps || {})
|
|
123
123
|
},
|
|
@@ -23,7 +23,8 @@ const MiniEditor = props => {
|
|
|
23
23
|
miniEditorPlaceholder,
|
|
24
24
|
className,
|
|
25
25
|
otherProps,
|
|
26
|
-
onSave
|
|
26
|
+
onSave,
|
|
27
|
+
theme
|
|
27
28
|
} = props;
|
|
28
29
|
const {
|
|
29
30
|
CHARACTERS = []
|
|
@@ -132,6 +133,7 @@ const MiniEditor = props => {
|
|
|
132
133
|
editor: editor,
|
|
133
134
|
initialValue: content,
|
|
134
135
|
onChange: onChange,
|
|
136
|
+
theme: theme,
|
|
135
137
|
children: [/*#__PURE__*/_jsx(BasicToolbar, {
|
|
136
138
|
...props
|
|
137
139
|
}), /*#__PURE__*/_jsx(Editable, {
|
|
@@ -188,6 +188,7 @@ const editorStyles = ({
|
|
|
188
188
|
}
|
|
189
189
|
},
|
|
190
190
|
"& .checkbox-edit": {
|
|
191
|
+
alignSelf: "flex-start",
|
|
191
192
|
"& .MuiFormControlLabel-root": {
|
|
192
193
|
marginRight: "0px"
|
|
193
194
|
},
|
|
@@ -212,7 +213,7 @@ const editorStyles = ({
|
|
|
212
213
|
"& svg": {
|
|
213
214
|
width: "17px",
|
|
214
215
|
height: "18px",
|
|
215
|
-
marginTop:
|
|
216
|
+
marginTop: "-1px"
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
219
|
},
|
|
@@ -273,7 +274,7 @@ const editorStyles = ({
|
|
|
273
274
|
},
|
|
274
275
|
cardsTypo: {
|
|
275
276
|
color: theme?.palette?.editor?.textColor,
|
|
276
|
-
fontSize:
|
|
277
|
+
fontSize: "14px !important"
|
|
277
278
|
}
|
|
278
279
|
});
|
|
279
280
|
export default editorStyles;
|
|
@@ -25,7 +25,8 @@ const BasicToolbar = props => {
|
|
|
25
25
|
hideTextColor = false,
|
|
26
26
|
hideResetIcon = true,
|
|
27
27
|
onResetClick = () => {}
|
|
28
|
-
}
|
|
28
|
+
},
|
|
29
|
+
theme
|
|
29
30
|
} = props;
|
|
30
31
|
// state
|
|
31
32
|
const [activeColor, setActiveColor] = useState("#000000");
|
|
@@ -65,7 +66,8 @@ const BasicToolbar = props => {
|
|
|
65
66
|
item: true,
|
|
66
67
|
children: /*#__PURE__*/_jsx(LinkButton, {
|
|
67
68
|
active: isBlockActive(editor, link.format),
|
|
68
|
-
editor: editor
|
|
69
|
+
editor: editor,
|
|
70
|
+
theme: theme
|
|
69
71
|
}, link.id)
|
|
70
72
|
}), !hideTextColor && /*#__PURE__*/_jsx(Grid, {
|
|
71
73
|
item: true,
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Select, MenuItem } from "@mui/material";
|
|
3
|
-
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
|
|
3
|
+
import { addMarkData, activeMark, getSelectedElementStyle } from "../../utils/SlateUtilityFunctions.js";
|
|
4
4
|
import { fontFamilyMap } from "../../utils/font";
|
|
5
|
+
import { toolbarGroups } from "../toolbarGroups.js";
|
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const allTools = toolbarGroups.flat();
|
|
8
|
+
const fontWeight = allTools.find(f => f.format === "fontWeight");
|
|
9
|
+
const getValue = (editor, format) => {
|
|
10
|
+
switch (format) {
|
|
11
|
+
case "fontFamily":
|
|
12
|
+
{
|
|
13
|
+
const style = getSelectedElementStyle("font-family", editor);
|
|
14
|
+
const val = Object.entries(fontFamilyMap).find(([key, value]) => value === style)?.[0];
|
|
15
|
+
return val || fontFamilyMap.PoppinsRegular;
|
|
16
|
+
}
|
|
17
|
+
case "fontWeight":
|
|
18
|
+
{
|
|
19
|
+
const {
|
|
20
|
+
options
|
|
21
|
+
} = fontWeight || {};
|
|
22
|
+
const fontWeightStyle = getSelectedElementStyle("font-weight", editor);
|
|
23
|
+
const selected = options?.find(o => o.value === fontWeightStyle || o.numVal === fontWeightStyle);
|
|
24
|
+
return selected?.value;
|
|
25
|
+
}
|
|
26
|
+
default:
|
|
27
|
+
return activeMark(editor, format);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
6
30
|
const Dropdown = ({
|
|
7
31
|
classes,
|
|
8
32
|
editor,
|
|
@@ -10,7 +34,7 @@ const Dropdown = ({
|
|
|
10
34
|
options,
|
|
11
35
|
width
|
|
12
36
|
}) => {
|
|
13
|
-
const value =
|
|
37
|
+
const value = getValue(editor, format);
|
|
14
38
|
const changeMarkData = (event, format) => {
|
|
15
39
|
event.preventDefault();
|
|
16
40
|
const value = event.target.value;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import Icon from "../../common/Icon";
|
|
3
3
|
import Button from "../../common/Button";
|
|
4
|
-
import { toggleMark,
|
|
4
|
+
import { toggleMark, isMarkBtnActive } from "../../utils/SlateUtilityFunctions.js";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
const MarkButton = ({
|
|
7
7
|
editor,
|
|
@@ -9,7 +9,7 @@ const MarkButton = ({
|
|
|
9
9
|
title
|
|
10
10
|
}) => {
|
|
11
11
|
return /*#__PURE__*/_jsx(Button, {
|
|
12
|
-
active:
|
|
12
|
+
active: isMarkBtnActive(editor, format),
|
|
13
13
|
format: format,
|
|
14
14
|
onMouseDown: e => {
|
|
15
15
|
e.preventDefault();
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TextField, IconButton } from "@mui/material";
|
|
3
|
-
import { addMarkData, activeMark
|
|
4
|
-
import { headingMap, sizeMap } from "../../utils/font.js";
|
|
3
|
+
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
|
|
5
4
|
import { TextMinusIcon, TextPlusIcon } from "../../common/iconslist.js";
|
|
6
|
-
import { getBreakPointsValue } from "../../helper/theme.js";
|
|
5
|
+
import { getBreakPointsValue, getTextSizeVal } from "../../helper/theme.js";
|
|
7
6
|
import useWindowResize from "../../hooks/useWindowResize.js";
|
|
8
7
|
import { BREAKPOINTS_DEVICES } from "../../helper/theme.js";
|
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -17,7 +16,8 @@ const TextSize = ({
|
|
|
17
16
|
}) => {
|
|
18
17
|
const [size] = useWindowResize();
|
|
19
18
|
const val = activeMark(editor, format);
|
|
20
|
-
const
|
|
19
|
+
const noFontSize = val === "normal" || typeof val === "object" && !Object.keys(val)?.length;
|
|
20
|
+
const value = noFontSize ? getTextSizeVal(editor) : getBreakPointsValue(val, size?.device);
|
|
21
21
|
const updateMarkData = newVal => {
|
|
22
22
|
let upData = {
|
|
23
23
|
...getBreakPointsValue(val),
|
|
@@ -46,13 +46,7 @@ const TextSize = ({
|
|
|
46
46
|
};
|
|
47
47
|
const getSizeVal = () => {
|
|
48
48
|
try {
|
|
49
|
-
|
|
50
|
-
Object.entries(headingMap).forEach(([format, value]) => {
|
|
51
|
-
if (isBlockActive(editor, format) && isNaN(parseInt(size))) {
|
|
52
|
-
size = value;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
return parseInt(size);
|
|
49
|
+
return parseInt(value);
|
|
56
50
|
} catch (err) {
|
|
57
51
|
return "";
|
|
58
52
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
|
-
import { activeMark, addMarkData
|
|
2
|
+
import { activeMark, addMarkData } from "../../../utils/SlateUtilityFunctions";
|
|
3
3
|
import { Button, IconButton, Popover, TextField } from "@mui/material";
|
|
4
4
|
import DownArrowIcon from "../../../assets/svg/DownArrowIcon";
|
|
5
5
|
import useWindowResize from "../../../hooks/useWindowResize";
|
|
6
|
-
import { BREAKPOINTS_DEVICES, getBreakPointsValue } from "../../../helper/theme";
|
|
7
|
-
import { headingMap, sizeMap } from "../../../utils/font";
|
|
6
|
+
import { BREAKPOINTS_DEVICES, getBreakPointsValue, getTextSizeVal } from "../../../helper/theme";
|
|
8
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
9
|
const fontSizeOptions = [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 26, 32, 36, 40, 48, 64, 96, 128];
|
|
@@ -19,7 +18,7 @@ function SelectFontSize({
|
|
|
19
18
|
const containerRef = useRef();
|
|
20
19
|
const [size] = useWindowResize();
|
|
21
20
|
const val = activeMark(editor, format);
|
|
22
|
-
const value =
|
|
21
|
+
const value = getTextSizeVal(editor);
|
|
23
22
|
const timerRef = useRef();
|
|
24
23
|
const updateMarkData = newVal => {
|
|
25
24
|
let upData = {
|
|
@@ -53,13 +52,7 @@ function SelectFontSize({
|
|
|
53
52
|
};
|
|
54
53
|
const getSizeVal = () => {
|
|
55
54
|
try {
|
|
56
|
-
|
|
57
|
-
Object.entries(headingMap).forEach(([format, value]) => {
|
|
58
|
-
if (isBlockActive(editor, format) && isNaN(parseInt(size))) {
|
|
59
|
-
size = value;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
return parseInt(size);
|
|
55
|
+
return parseInt(value);
|
|
63
56
|
} catch (err) {
|
|
64
57
|
return "";
|
|
65
58
|
}
|