@flozy/editor 3.8.2 → 3.8.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Editor/ChatEditor.js +45 -55
- package/dist/Editor/CommonEditor.js +169 -111
- package/dist/Editor/Elements/AI/AIInput.js +16 -5
- package/dist/Editor/Elements/AI/PopoverAIInput.js +31 -17
- package/dist/Editor/Elements/AI/Styles.js +2 -1
- package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +73 -0
- package/dist/Editor/Elements/AI/VoiceToText/index.js +167 -0
- package/dist/Editor/Elements/AI/VoiceToText/style.js +40 -0
- 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 +28 -16
- 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/Image.js +28 -20
- package/dist/Editor/Elements/Embed/Video.js +15 -11
- package/dist/Editor/Elements/Emoji/EmojiPicker.js +2 -4
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -1
- package/dist/Editor/Elements/Grid/Grid.js +2 -0
- package/dist/Editor/Elements/Grid/GridItem.js +3 -1
- 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/PageSettings/PageSettingsButton.js +3 -3
- package/dist/Editor/Elements/Redo/RedoButton.js +14 -0
- package/dist/Editor/Elements/Table/Table.js +1 -1
- package/dist/Editor/Elements/Table/TableCell.js +1 -1
- package/dist/Editor/Elements/Undo/UndoButton.js +14 -0
- package/dist/Editor/MiniEditor.js +3 -1
- 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 +29 -18
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +4 -2
- package/dist/Editor/Toolbar/Mini/Options/Options.js +10 -0
- package/dist/Editor/Toolbar/Mini/Styles.js +7 -0
- 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 +6 -5
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/AIIcons.js +153 -1
- package/dist/Editor/assets/svg/AddTemplateIcon.js +13 -10
- package/dist/Editor/assets/svg/RedoIcon.js +27 -0
- package/dist/Editor/assets/svg/SettingsIcon.js +28 -0
- package/dist/Editor/assets/svg/TextIcon.js +8 -5
- package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
- package/dist/Editor/assets/svg/UndoIcon.js +27 -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 +43 -3
- package/dist/Editor/common/LinkSettings/NavComponents.js +5 -2
- package/dist/Editor/common/LinkSettings/index.js +2 -1
- package/dist/Editor/common/LinkSettings/navOptions.js +7 -2
- package/dist/Editor/common/MentionsPopup/MentionsListCard.js +1 -6
- package/dist/Editor/common/MentionsPopup/Styles.js +5 -2
- 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/buttonLink.js +1 -1
- 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/textOptions.js +14 -4
- package/dist/Editor/common/StyleBuilder/index.js +1 -1
- package/dist/Editor/common/iconslist.js +0 -31
- package/dist/Editor/helper/deserialize/index.js +14 -9
- package/dist/Editor/helper/theme.js +190 -4
- package/dist/Editor/hooks/useEditorTheme.js +139 -0
- package/dist/Editor/hooks/useMouseMove.js +4 -2
- 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 +161 -25
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/draftToSlate.js +1 -1
- package/dist/Editor/utils/events.js +11 -4
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +51 -1
- package/package.json +2 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
2
|
import { Grid, Button, Popover } from "@mui/material";
|
3
|
-
import ColorPickerTool from "react-gcolor-picker";
|
4
3
|
import { colors } from "../Elements/Color Picker/defaultColors";
|
4
|
+
import CustomColorPicker from "./CustomColorPicker";
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
7
7
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
@@ -9,9 +9,12 @@ const ColorPickerButton = props => {
|
|
9
9
|
const {
|
10
10
|
value,
|
11
11
|
onSave,
|
12
|
-
defaultColors = [],
|
13
12
|
classes = {},
|
14
|
-
recentColors = []
|
13
|
+
recentColors = [],
|
14
|
+
children,
|
15
|
+
handleClose: closeDrawer,
|
16
|
+
hideThemeColors,
|
17
|
+
disableEditTheme
|
15
18
|
} = props;
|
16
19
|
const [anchorEl, setAnchorEl] = useState(null);
|
17
20
|
const [color, setColor] = useState(value);
|
@@ -30,7 +33,13 @@ const ColorPickerButton = props => {
|
|
30
33
|
setColor(color);
|
31
34
|
};
|
32
35
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
33
|
-
children: [/*#__PURE__*/_jsx(
|
36
|
+
children: [children ? /*#__PURE__*/_jsx("div", {
|
37
|
+
onClick: handleColorPicker,
|
38
|
+
style: {
|
39
|
+
cursor: "pointer"
|
40
|
+
},
|
41
|
+
children: children
|
42
|
+
}) : /*#__PURE__*/_jsx(Button, {
|
34
43
|
style: {
|
35
44
|
background: value,
|
36
45
|
height: "22px",
|
@@ -60,17 +69,24 @@ const ColorPickerButton = props => {
|
|
60
69
|
item: true,
|
61
70
|
xs: 12,
|
62
71
|
children: [/*#__PURE__*/_jsx("div", {
|
63
|
-
children: /*#__PURE__*/_jsx(
|
72
|
+
children: /*#__PURE__*/_jsx(CustomColorPicker, {
|
64
73
|
gradient: true,
|
65
|
-
|
74
|
+
color: color,
|
66
75
|
onChange: handleColorChange,
|
67
|
-
|
76
|
+
recentColors: recentColors,
|
77
|
+
closeDrawer: closeDrawer,
|
78
|
+
hideThemeColors: hideThemeColors,
|
79
|
+
disableEditTheme: disableEditTheme
|
68
80
|
})
|
69
81
|
}), /*#__PURE__*/_jsxs("div", {
|
70
82
|
style: {
|
71
83
|
display: "flex",
|
72
|
-
justifyContent: "end",
|
73
|
-
|
84
|
+
justifyContent: "flex-end",
|
85
|
+
padding: "8px",
|
86
|
+
background: "white",
|
87
|
+
position: "sticky",
|
88
|
+
bottom: 0,
|
89
|
+
boxShadow: "0 -1px 5px rgba(0,0,0,0.1)"
|
74
90
|
},
|
75
91
|
children: [/*#__PURE__*/_jsx(Button, {
|
76
92
|
onClick: handleClose,
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import { Box, Button, Typography, useTheme } from "@mui/material";
|
2
|
+
import ColorPickerTool from "react-gcolor-picker";
|
3
|
+
import customColorPickerStyles from "./style";
|
4
|
+
import { colors } from "../../Elements/Color Picker/defaultColors";
|
5
|
+
import { useContext, useMemo } from "react";
|
6
|
+
import { ThemeContext } from "../../CommonEditor";
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
8
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
9
|
+
function CustomColorPicker(props) {
|
10
|
+
const {
|
11
|
+
gradient,
|
12
|
+
color,
|
13
|
+
onChange,
|
14
|
+
defaultColors,
|
15
|
+
recentColors = [],
|
16
|
+
closeDrawer,
|
17
|
+
hideThemeColors,
|
18
|
+
disableEditTheme
|
19
|
+
} = props;
|
20
|
+
const {
|
21
|
+
setOpenTheme
|
22
|
+
} = useContext(ThemeContext);
|
23
|
+
const classes = customColorPickerStyles();
|
24
|
+
const theme = useTheme();
|
25
|
+
const colorVars = theme?.vars?.colors || {};
|
26
|
+
const colorTabs = useMemo(() => {
|
27
|
+
const otherColors = {
|
28
|
+
title: "Recent colours",
|
29
|
+
colors: [...recentColors, ...defaultColors],
|
30
|
+
onChange: onChange
|
31
|
+
};
|
32
|
+
const themeColors = Object.values(colorVars);
|
33
|
+
const tabs = [];
|
34
|
+
if (themeColors?.length && !hideThemeColors) {
|
35
|
+
tabs.push({
|
36
|
+
title: "Theme colour",
|
37
|
+
onEdit: () => {
|
38
|
+
setOpenTheme("editThemeColor");
|
39
|
+
closeDrawer();
|
40
|
+
},
|
41
|
+
colors: Object.values(colorVars),
|
42
|
+
onChange: onChange
|
43
|
+
});
|
44
|
+
}
|
45
|
+
tabs.push(otherColors);
|
46
|
+
return tabs;
|
47
|
+
}, [recentColors, defaultColors, onChange, colorVars]);
|
48
|
+
return /*#__PURE__*/_jsxs(Box, {
|
49
|
+
component: "div",
|
50
|
+
sx: classes.customColorPickerContainer,
|
51
|
+
children: [/*#__PURE__*/_jsx(ColorPickerTool, {
|
52
|
+
gradient: gradient,
|
53
|
+
value: color?.startsWith("var") ? "" : color,
|
54
|
+
onChange: onChange,
|
55
|
+
defaultColors: [],
|
56
|
+
popupWidth: "300"
|
57
|
+
}), colorTabs.map((tab, i) => {
|
58
|
+
const {
|
59
|
+
title,
|
60
|
+
onEdit,
|
61
|
+
colors = [],
|
62
|
+
onChange
|
63
|
+
} = tab;
|
64
|
+
return /*#__PURE__*/_jsxs(Box, {
|
65
|
+
component: "div",
|
66
|
+
className: "customColorPickerWrapper",
|
67
|
+
children: [/*#__PURE__*/_jsxs(Box, {
|
68
|
+
component: "div",
|
69
|
+
className: "colorTitleWrapper",
|
70
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
71
|
+
variant: "subtitle2",
|
72
|
+
children: title
|
73
|
+
}), onEdit && !disableEditTheme ? /*#__PURE__*/_jsx(Button, {
|
74
|
+
variant: "text",
|
75
|
+
className: "editBtn",
|
76
|
+
onClick: () => onEdit(tab),
|
77
|
+
children: "Edit"
|
78
|
+
}) : null]
|
79
|
+
}), /*#__PURE__*/_jsx(Box, {
|
80
|
+
component: "div",
|
81
|
+
className: "colorPickerBtnContainer",
|
82
|
+
children: colors.map((colorVar, i) => {
|
83
|
+
const isSelected = colorVar === color;
|
84
|
+
return /*#__PURE__*/_jsx(Box, {
|
85
|
+
className: isSelected ? "colorPicketBtnActive" : "",
|
86
|
+
component: "div",
|
87
|
+
children: /*#__PURE__*/_jsx("button", {
|
88
|
+
style: {
|
89
|
+
background: colorVar
|
90
|
+
},
|
91
|
+
onClick: () => onChange(colorVar),
|
92
|
+
className: `colorPicketBtn`,
|
93
|
+
type: "button"
|
94
|
+
})
|
95
|
+
}, i);
|
96
|
+
})
|
97
|
+
})]
|
98
|
+
}, i);
|
99
|
+
})]
|
100
|
+
});
|
101
|
+
}
|
102
|
+
CustomColorPicker.defaultProps = {
|
103
|
+
defaultColors: [...colors],
|
104
|
+
closeDrawer: () => {}
|
105
|
+
};
|
106
|
+
export default CustomColorPicker;
|
@@ -0,0 +1,53 @@
|
|
1
|
+
const styles = () => ({
|
2
|
+
customColorPickerContainer: {
|
3
|
+
background: "white",
|
4
|
+
width: "300px",
|
5
|
+
"& .popup_tabs": {
|
6
|
+
boxShadow: "none"
|
7
|
+
},
|
8
|
+
".customColorPickerWrapper": {
|
9
|
+
padding: "10px 0px",
|
10
|
+
margin: "0px 16px",
|
11
|
+
borderTop: "1px solid #DCE4EC"
|
12
|
+
},
|
13
|
+
".colorTitleWrapper": {
|
14
|
+
display: "flex",
|
15
|
+
justifyContent: "space-between",
|
16
|
+
alignItems: "center",
|
17
|
+
paddingBottom: "10px",
|
18
|
+
".MuiTypography-root": {
|
19
|
+
fontWeight: "600"
|
20
|
+
},
|
21
|
+
".editBtn": {
|
22
|
+
textTransform: "none",
|
23
|
+
color: "#2563EB",
|
24
|
+
textDecoration: "underline",
|
25
|
+
padding: "0px",
|
26
|
+
minWidth: "unset"
|
27
|
+
}
|
28
|
+
},
|
29
|
+
".colorPickerBtnContainer": {
|
30
|
+
display: "flex",
|
31
|
+
flexWrap: "wrap",
|
32
|
+
gap: "10px"
|
33
|
+
},
|
34
|
+
".colorPicketBtn": {
|
35
|
+
width: "26px",
|
36
|
+
height: "26px",
|
37
|
+
outline: "none",
|
38
|
+
borderRadius: "50%",
|
39
|
+
cursor: "pointer",
|
40
|
+
border: "1.5px solid #DCE4EC"
|
41
|
+
},
|
42
|
+
".colorPicketBtnActive": {
|
43
|
+
borderRadius: "50%",
|
44
|
+
padding: "1px",
|
45
|
+
border: "1.5px solid rgb(83, 83, 249)",
|
46
|
+
width: "fit-content",
|
47
|
+
height: "fit-content",
|
48
|
+
display: "flex",
|
49
|
+
justifyContent: "center"
|
50
|
+
}
|
51
|
+
}
|
52
|
+
});
|
53
|
+
export default styles;
|
@@ -0,0 +1,94 @@
|
|
1
|
+
import Dialog from "@mui/material/Dialog";
|
2
|
+
import DialogTitle from "@mui/material/DialogTitle";
|
3
|
+
import DialogContent from "@mui/material/DialogContent";
|
4
|
+
import DialogActions from "@mui/material/DialogActions";
|
5
|
+
import IconButton from "@mui/material/IconButton";
|
6
|
+
import CloseIcon from "@mui/icons-material/Close";
|
7
|
+
import { Box, Typography, Button } from "@mui/material";
|
8
|
+
import SwipeableDrawer from "../SwipeableDrawer";
|
9
|
+
import customDialogStyles from "./style";
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
11
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
12
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
13
|
+
function CustomDialog(props) {
|
14
|
+
const {
|
15
|
+
handleClose,
|
16
|
+
customProps,
|
17
|
+
children,
|
18
|
+
onSubmit
|
19
|
+
} = props;
|
20
|
+
const {
|
21
|
+
isMobile
|
22
|
+
} = customProps;
|
23
|
+
const classes = customDialogStyles();
|
24
|
+
if (isMobile) {
|
25
|
+
return /*#__PURE__*/_jsx(Box, {
|
26
|
+
sx: classes.dialogContainer,
|
27
|
+
children: /*#__PURE__*/_jsxs(SwipeableDrawer, {
|
28
|
+
onClose: handleClose,
|
29
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
30
|
+
variant: "subtitle1",
|
31
|
+
gutterBottom: true,
|
32
|
+
sx: {
|
33
|
+
fontWeight: 600
|
34
|
+
},
|
35
|
+
children: "What do you want to link to?"
|
36
|
+
}), /*#__PURE__*/_jsx(Box, {
|
37
|
+
sx: classes.mobileDialogContent,
|
38
|
+
children: children
|
39
|
+
}), /*#__PURE__*/_jsx(Box, {
|
40
|
+
component: "div",
|
41
|
+
sx: classes.mobileActionBtns,
|
42
|
+
children: /*#__PURE__*/_jsx(ActionsButtons, {
|
43
|
+
classes: classes,
|
44
|
+
onCancel: handleClose,
|
45
|
+
onSave: onSubmit
|
46
|
+
})
|
47
|
+
})]
|
48
|
+
})
|
49
|
+
});
|
50
|
+
} else {
|
51
|
+
return /*#__PURE__*/_jsxs(Dialog, {
|
52
|
+
onClose: handleClose,
|
53
|
+
open: true,
|
54
|
+
sx: classes.dialogContainer,
|
55
|
+
fullWidth: true,
|
56
|
+
maxWidth: "sm",
|
57
|
+
children: [/*#__PURE__*/_jsx(DialogTitle, {
|
58
|
+
children: "What do you want to link to?"
|
59
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
60
|
+
"aria-label": "close",
|
61
|
+
onClick: handleClose,
|
62
|
+
sx: classes.closeIcon,
|
63
|
+
children: /*#__PURE__*/_jsx(CloseIcon, {})
|
64
|
+
}), /*#__PURE__*/_jsx(DialogContent, {
|
65
|
+
dividers: true,
|
66
|
+
children: children
|
67
|
+
}), /*#__PURE__*/_jsx(DialogActions, {
|
68
|
+
children: /*#__PURE__*/_jsx(ActionsButtons, {
|
69
|
+
classes: classes,
|
70
|
+
onCancel: handleClose,
|
71
|
+
onSave: onSubmit
|
72
|
+
})
|
73
|
+
})]
|
74
|
+
});
|
75
|
+
}
|
76
|
+
}
|
77
|
+
export default CustomDialog;
|
78
|
+
function ActionsButtons({
|
79
|
+
classes,
|
80
|
+
onCancel,
|
81
|
+
onSave
|
82
|
+
}) {
|
83
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
84
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
85
|
+
onClick: onCancel,
|
86
|
+
sx: classes.closeBtn,
|
87
|
+
children: "Cancel"
|
88
|
+
}), /*#__PURE__*/_jsx(Button, {
|
89
|
+
onClick: onSave,
|
90
|
+
sx: classes.saveBtn,
|
91
|
+
children: "Save"
|
92
|
+
})]
|
93
|
+
});
|
94
|
+
}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
const styles = () => ({
|
2
|
+
dialogContainer: {
|
3
|
+
"& .MuiDialogContent-root": {
|
4
|
+
padding: "0px 20px"
|
5
|
+
},
|
6
|
+
"& .MuiDialogActions-root": {
|
7
|
+
padding: "10px"
|
8
|
+
},
|
9
|
+
"& .MuiTypography-h6": {
|
10
|
+
fontWeight: 600,
|
11
|
+
fontSize: "16px",
|
12
|
+
paddingRight: "20px"
|
13
|
+
},
|
14
|
+
"& .MuiGrid-container": {
|
15
|
+
marginTop: "0px"
|
16
|
+
},
|
17
|
+
"& .MuiGrid-item": {
|
18
|
+
padding: "14px"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
saveBtn: {
|
22
|
+
color: "#fff",
|
23
|
+
background: "#2563EB",
|
24
|
+
fontSize: "14px",
|
25
|
+
fontWeight: 500,
|
26
|
+
padding: "4px 24px",
|
27
|
+
textTransform: "none",
|
28
|
+
"&:hover": {
|
29
|
+
color: "#fff",
|
30
|
+
background: "#2563EB"
|
31
|
+
}
|
32
|
+
},
|
33
|
+
closeBtn: {
|
34
|
+
backgroundColor: "#F4F6F9",
|
35
|
+
color: "#64748B",
|
36
|
+
fontSize: "14px",
|
37
|
+
fontWeight: 500,
|
38
|
+
padding: "4px 22px",
|
39
|
+
textTransform: "none",
|
40
|
+
border: "1px solid #D8DDE1",
|
41
|
+
"&:hover": {
|
42
|
+
border: "1px solid #64748B"
|
43
|
+
}
|
44
|
+
},
|
45
|
+
closeIcon: {
|
46
|
+
position: "absolute",
|
47
|
+
right: 8,
|
48
|
+
top: 8,
|
49
|
+
color: theme => theme.palette.grey[500]
|
50
|
+
},
|
51
|
+
gridDivider: {
|
52
|
+
borderRight: "1px solid rgba(0, 0, 0, 0.12)"
|
53
|
+
},
|
54
|
+
mobileActionBtns: {
|
55
|
+
display: "flex",
|
56
|
+
justifyContent: "flex-end",
|
57
|
+
gap: "8px",
|
58
|
+
paddingTop: "14px",
|
59
|
+
marginTop: "14px",
|
60
|
+
borderTop: theme => `1px solid ${theme.palette.grey[300]}`
|
61
|
+
},
|
62
|
+
mobileDialogContent: {
|
63
|
+
borderTop: theme => `1px solid ${theme.palette.grey[300]}`,
|
64
|
+
paddingTop: "14px"
|
65
|
+
}
|
66
|
+
});
|
67
|
+
export default styles;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { MenuItem, Select } from "@mui/material";
|
2
|
+
import { fontFamilyMap } from "../utils/font";
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
4
|
+
function CustomSelect(props) {
|
5
|
+
const {
|
6
|
+
onChange,
|
7
|
+
options = [],
|
8
|
+
value
|
9
|
+
} = props;
|
10
|
+
return /*#__PURE__*/_jsx(Select, {
|
11
|
+
fullWidth: true,
|
12
|
+
value: value,
|
13
|
+
onChange: onChange,
|
14
|
+
className: "editor-dd",
|
15
|
+
style: {
|
16
|
+
fontFamily: fontFamilyMap[value],
|
17
|
+
width: "100%",
|
18
|
+
height: "36px",
|
19
|
+
borderRadius: "10px",
|
20
|
+
fontSize: "14px"
|
21
|
+
},
|
22
|
+
children: options.map((option, i) => {
|
23
|
+
return /*#__PURE__*/_jsx(MenuItem, {
|
24
|
+
value: option.value,
|
25
|
+
style: {
|
26
|
+
fontFamily: option.text
|
27
|
+
},
|
28
|
+
children: option?.label || option?.text
|
29
|
+
}, i);
|
30
|
+
})
|
31
|
+
});
|
32
|
+
}
|
33
|
+
export default CustomSelect;
|
@@ -7,7 +7,7 @@ import { useEditorContext } from "../../hooks/useMouseMove";
|
|
7
7
|
import { Transforms } from "slate";
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
10
|
-
const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "grid"];
|
10
|
+
const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree", "grid"];
|
11
11
|
const DragHandleStyle = () => ({
|
12
12
|
dragHandle: {
|
13
13
|
opacity: 0,
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { Editor, Transforms } from "slate";
|
2
|
+
const selectAll = (event, {
|
3
|
+
editor,
|
4
|
+
needLayout
|
5
|
+
}) => {
|
6
|
+
try {
|
7
|
+
if (needLayout) {
|
8
|
+
event.preventDefault();
|
9
|
+
// Select the entire document
|
10
|
+
const {
|
11
|
+
selection
|
12
|
+
} = editor;
|
13
|
+
const [firstNode] = Editor.nodes(editor, {
|
14
|
+
at: [0]
|
15
|
+
}); // First node
|
16
|
+
const [lastNode] = Editor.nodes(editor, {
|
17
|
+
at: [editor.children.length - 1]
|
18
|
+
}); // Last node
|
19
|
+
|
20
|
+
if (firstNode && lastNode) {
|
21
|
+
Transforms.select(editor, {
|
22
|
+
anchor: Editor.start(editor, [0]),
|
23
|
+
// Start at the first node
|
24
|
+
focus: Editor.end(editor, [editor.children.length - 1]) // End at the last node
|
25
|
+
});
|
26
|
+
}
|
27
|
+
}
|
28
|
+
} catch (err) {
|
29
|
+
console.log(err);
|
30
|
+
}
|
31
|
+
};
|
32
|
+
const EDITORCMDS = {
|
33
|
+
a: selectAll
|
34
|
+
};
|
35
|
+
export default EDITORCMDS;
|
@@ -10,10 +10,26 @@ import { IoIosImage } from "react-icons/io";
|
|
10
10
|
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
11
|
import ArrowRightIcon from "@mui/icons-material/ArrowRight";
|
12
12
|
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
|
13
|
-
import EmailRoundedIcon from
|
14
|
-
import InfoOutlinedIcon from
|
13
|
+
import EmailRoundedIcon from "@mui/icons-material/EmailRounded";
|
14
|
+
import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
|
15
|
+
import SettingsIcon from "../assets/svg/SettingsIcon";
|
16
|
+
import UndoIcon from "../assets/svg/UndoIcon";
|
17
|
+
import RedoIcon from "../assets/svg/RedoIcon";
|
18
|
+
import TextIcon from "../assets/svg/TextIcon";
|
19
|
+
import AddElementIcon from "../assets/svg/AddElementIcon";
|
20
|
+
import AddTemplateIcon from "../assets/svg/AddTemplateIcon";
|
15
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
16
22
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
23
|
+
const HeadingIcon = ({
|
24
|
+
variant
|
25
|
+
}) => {
|
26
|
+
return /*#__PURE__*/_jsx("div", {
|
27
|
+
style: {
|
28
|
+
color: "#64748B"
|
29
|
+
},
|
30
|
+
children: variant
|
31
|
+
});
|
32
|
+
};
|
17
33
|
const iconList = {
|
18
34
|
fontFamily: /*#__PURE__*/_jsx(FontFamilyIcon, {
|
19
35
|
size: 20
|
@@ -49,6 +65,24 @@ const iconList = {
|
|
49
65
|
size: 18,
|
50
66
|
fill: "#64748B"
|
51
67
|
}),
|
68
|
+
headingFour: /*#__PURE__*/_jsx(HeadingIcon, {
|
69
|
+
variant: "H4"
|
70
|
+
}),
|
71
|
+
headingFive: /*#__PURE__*/_jsx(HeadingIcon, {
|
72
|
+
variant: "H5"
|
73
|
+
}),
|
74
|
+
headingSix: /*#__PURE__*/_jsx(HeadingIcon, {
|
75
|
+
variant: "H6"
|
76
|
+
}),
|
77
|
+
paragraphOne: /*#__PURE__*/_jsx(HeadingIcon, {
|
78
|
+
variant: "P1"
|
79
|
+
}),
|
80
|
+
paragraphTwo: /*#__PURE__*/_jsx(HeadingIcon, {
|
81
|
+
variant: "P2"
|
82
|
+
}),
|
83
|
+
paragraphThree: /*#__PURE__*/_jsx(HeadingIcon, {
|
84
|
+
variant: "P3"
|
85
|
+
}),
|
52
86
|
blockquote: /*#__PURE__*/_jsx(MdFormatQuote, {
|
53
87
|
size: 20,
|
54
88
|
fill: "#64748B"
|
@@ -244,7 +278,13 @@ const iconList = {
|
|
244
278
|
checkedIcon: /*#__PURE__*/_jsx(CheckedIcon, {}),
|
245
279
|
uncheckedIcon: /*#__PURE__*/_jsx(UncheckedIcon, {}),
|
246
280
|
infinityIcon: /*#__PURE__*/_jsx(InfinityIcon, {}),
|
247
|
-
resetIcon: /*#__PURE__*/_jsx(ResetIcon, {})
|
281
|
+
resetIcon: /*#__PURE__*/_jsx(ResetIcon, {}),
|
282
|
+
pagesSettings: /*#__PURE__*/_jsx(SettingsIcon, {}),
|
283
|
+
undoIcon: /*#__PURE__*/_jsx(UndoIcon, {}),
|
284
|
+
redoIcon: /*#__PURE__*/_jsx(RedoIcon, {}),
|
285
|
+
textIcon: /*#__PURE__*/_jsx(TextIcon, {}),
|
286
|
+
addElement: /*#__PURE__*/_jsx(AddElementIcon, {}),
|
287
|
+
addTemplate: /*#__PURE__*/_jsx(AddTemplateIcon, {})
|
248
288
|
};
|
249
289
|
const Icon = props => {
|
250
290
|
const {
|
@@ -134,10 +134,13 @@ export const SelectPage = props => {
|
|
134
134
|
});
|
135
135
|
};
|
136
136
|
export const Trigger = props => {
|
137
|
-
|
137
|
+
const {
|
138
|
+
nav
|
139
|
+
} = props;
|
140
|
+
return /*#__PURE__*/_jsxs(Typography, {
|
138
141
|
variant: "subtitle1",
|
139
142
|
gutterBottom: true,
|
140
|
-
children: "Choosing this will trigger the
|
143
|
+
children: ["Choosing this will trigger the ", nav.type, " step"]
|
141
144
|
});
|
142
145
|
};
|
143
146
|
const scrollToOptions = [{
|
@@ -3,8 +3,13 @@ export const getNavOptions = (hideTools = []) => {
|
|
3
3
|
label: "None",
|
4
4
|
value: ""
|
5
5
|
}, {
|
6
|
-
label: "Trigger",
|
7
|
-
value: "
|
6
|
+
label: "Next Trigger",
|
7
|
+
value: "nextTrigger",
|
8
|
+
type: "next"
|
9
|
+
}, {
|
10
|
+
label: "Previous Trigger",
|
11
|
+
value: "prevTrigger",
|
12
|
+
type: "previous"
|
8
13
|
}, {
|
9
14
|
label: "Web Address",
|
10
15
|
value: "webAddress",
|
@@ -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: {
|
@@ -39,10 +39,13 @@ const usePopupStyles = theme => ({
|
|
39
39
|
color: theme?.palette?.editor?.textColor
|
40
40
|
},
|
41
41
|
"&.active": {
|
42
|
-
background:
|
42
|
+
background: `#2563EB2B`,
|
43
|
+
"& .MuiTypography-root": {
|
44
|
+
color: `${theme?.palette?.editor?.activeColor} !important`
|
45
|
+
}
|
43
46
|
},
|
44
47
|
"&:hover": {
|
45
|
-
background:
|
48
|
+
background: theme?.palette?.action?.hover || `#F4F4F4`
|
46
49
|
},
|
47
50
|
"&.renderComp": {
|
48
51
|
padding: "0px",
|
@@ -40,6 +40,60 @@ const ELEMENTS_LIST = [{
|
|
40
40
|
icon: "headingThree"
|
41
41
|
}),
|
42
42
|
onInsert: editor => toggleBlock(editor, "headingThree", false)
|
43
|
+
}, {
|
44
|
+
name: "Heading 4",
|
45
|
+
desc: "",
|
46
|
+
group: "Text",
|
47
|
+
type: "headingFour",
|
48
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
49
|
+
icon: "headingFour"
|
50
|
+
}),
|
51
|
+
onInsert: editor => toggleBlock(editor, "headingFour", false)
|
52
|
+
}, {
|
53
|
+
name: "Heading 5",
|
54
|
+
desc: "",
|
55
|
+
group: "Text",
|
56
|
+
type: "headingFive",
|
57
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
58
|
+
icon: "headingFive"
|
59
|
+
}),
|
60
|
+
onInsert: editor => toggleBlock(editor, "headingFive", false)
|
61
|
+
}, {
|
62
|
+
name: "Heading 6",
|
63
|
+
desc: "",
|
64
|
+
group: "Text",
|
65
|
+
type: "headingSix",
|
66
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
67
|
+
icon: "headingSix"
|
68
|
+
}),
|
69
|
+
onInsert: editor => toggleBlock(editor, "headingSix", false)
|
70
|
+
}, {
|
71
|
+
name: "Paragraph 1",
|
72
|
+
desc: "",
|
73
|
+
group: "Text",
|
74
|
+
type: "paragraphOne",
|
75
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
76
|
+
icon: "paragraphOne"
|
77
|
+
}),
|
78
|
+
onInsert: editor => toggleBlock(editor, "paragraphOne", false)
|
79
|
+
}, {
|
80
|
+
name: "Paragraph 2",
|
81
|
+
desc: "",
|
82
|
+
group: "Text",
|
83
|
+
type: "paragraphTwo",
|
84
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
85
|
+
icon: "paragraphTwo"
|
86
|
+
}),
|
87
|
+
onInsert: editor => toggleBlock(editor, "paragraphTwo", false)
|
88
|
+
}, {
|
89
|
+
name: "Paragraph 3",
|
90
|
+
desc: "",
|
91
|
+
group: "Text",
|
92
|
+
type: "paragraphThree",
|
93
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
94
|
+
icon: "paragraphThree"
|
95
|
+
}),
|
96
|
+
onInsert: editor => toggleBlock(editor, "paragraphThree", false)
|
43
97
|
}, {
|
44
98
|
name: "Quote",
|
45
99
|
desc: "",
|