@flozy/editor 1.6.5 → 1.6.7
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/CommonEditor.js +55 -100
- package/dist/Editor/DialogWrapper.js +3 -0
- package/dist/Editor/Editor.css +3 -7
- package/dist/Editor/Elements/AppHeader/AppHeader.js +10 -3
- package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +12 -9
- package/dist/Editor/Elements/Carousel/Carousel.js +1 -1
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +29 -13
- package/dist/Editor/Elements/Color Picker/Styles.js +4 -4
- package/dist/Editor/Elements/Form/Form.js +23 -1
- package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +178 -0
- package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +139 -0
- package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +64 -0
- package/dist/Editor/Elements/Form/Workflow/Styles.js +207 -0
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +207 -0
- package/dist/Editor/Elements/Form/Workflow/constant.js +3 -0
- package/dist/Editor/Elements/Form/Workflow/index.js +179 -0
- package/dist/Editor/Elements/Grid/GridItem.js +8 -6
- package/dist/Editor/Elements/InlineIcon/InlineIcon.js +1 -2
- package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +1 -1
- package/dist/Editor/Elements/Signature/Signed.js +13 -2
- package/dist/Editor/Elements/SimpleText.js +7 -5
- package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -2
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +0 -1
- package/dist/Editor/Styles/EditorStyles.js +16 -5
- package/dist/Editor/Toolbar/Mini/Styles.js +4 -2
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +2 -2
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +4 -14
- package/dist/Editor/Toolbar/Toolbar.js +2 -1
- package/dist/Editor/Toolbar/toolbarGroups.js +2 -1
- package/dist/Editor/common/Icon.js +5 -3
- package/dist/Editor/common/ImageSelector/ImageSelector.js +1 -1
- package/dist/Editor/common/MentionsPopup/Styles.js +6 -3
- package/dist/Editor/common/StyleBuilder/gridItemStyle.js +29 -0
- package/dist/Editor/common/iconslist.js +67 -1
- package/dist/Editor/hooks/useMentions.js +0 -26
- package/dist/Editor/utils/embed.js +14 -10
- package/dist/Editor/utils/emoji.js +0 -1
- package/dist/Editor/utils/form.js +1 -0
- package/dist/Editor/utils/insertAppHeader.js +66 -12
- package/package.json +3 -2
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton } from "@mui/material";
|
|
3
|
+
import ArrowBackIcon from '@mui/icons-material/ArrowBack';
|
|
4
|
+
import FormStyles from "./Styles";
|
|
5
|
+
import FormWorkflow from "./FormWorkflow";
|
|
6
|
+
|
|
7
|
+
//Constants
|
|
8
|
+
import { minutes, hours, days } from './constant';
|
|
9
|
+
import ListWorkflow from "./ListWorkflow";
|
|
10
|
+
import { PlusIcon } from "../../../common/iconslist";
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const Workflow = props => {
|
|
14
|
+
const {
|
|
15
|
+
openWorkflow,
|
|
16
|
+
element,
|
|
17
|
+
closeWorkflow,
|
|
18
|
+
onSave
|
|
19
|
+
} = props;
|
|
20
|
+
const {
|
|
21
|
+
workflow
|
|
22
|
+
} = element;
|
|
23
|
+
const classes = FormStyles();
|
|
24
|
+
const [workflowList, setWorkflowList] = useState([]);
|
|
25
|
+
const [formData, setFormData] = useState(false);
|
|
26
|
+
const [schedule, setSchedule] = useState('immediately');
|
|
27
|
+
const [scheduleEvery, setScheduleEvery] = useState('min');
|
|
28
|
+
const currentInstant = scheduleEvery === 'min' ? minutes : scheduleEvery === 'hr' ? hours : scheduleEvery === 'day' ? days : [];
|
|
29
|
+
const [scheduleOn, setScheduleOn] = useState(currentInstant[0]);
|
|
30
|
+
const [subject, setSubject] = useState('');
|
|
31
|
+
const [bodyData, setBodyData] = useState('');
|
|
32
|
+
const [flowEdited, setFlowEdited] = useState({
|
|
33
|
+
isEdited: false,
|
|
34
|
+
listIndex: null
|
|
35
|
+
});
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setWorkflowList(workflow || []);
|
|
38
|
+
}, [workflow]);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
setScheduleOn(currentInstant[0]);
|
|
41
|
+
}, [currentInstant]);
|
|
42
|
+
const handleAddFormWorkflow = () => {
|
|
43
|
+
setFormData(true);
|
|
44
|
+
};
|
|
45
|
+
const onFormBack = () => {
|
|
46
|
+
setFormData(false);
|
|
47
|
+
setBodyData('');
|
|
48
|
+
setSubject('');
|
|
49
|
+
setSchedule('immediately');
|
|
50
|
+
};
|
|
51
|
+
const saveFormWorkflow = () => {
|
|
52
|
+
let workflowData = [...workflowList];
|
|
53
|
+
let data = {
|
|
54
|
+
schedule_type: schedule,
|
|
55
|
+
schedule_every: schedule === 'after' ? scheduleEvery : 0,
|
|
56
|
+
schedule_on: schedule === 'after' ? scheduleOn : 0,
|
|
57
|
+
subject_data: subject,
|
|
58
|
+
body_data: bodyData
|
|
59
|
+
};
|
|
60
|
+
if (flowEdited.isEdited) {
|
|
61
|
+
workflowData[flowEdited.listIndex] = data;
|
|
62
|
+
} else {
|
|
63
|
+
workflowData.push(data);
|
|
64
|
+
}
|
|
65
|
+
let saveData = {
|
|
66
|
+
workflow: workflowData
|
|
67
|
+
};
|
|
68
|
+
onSave(saveData);
|
|
69
|
+
setFormData(false);
|
|
70
|
+
setBodyData('');
|
|
71
|
+
setSubject('');
|
|
72
|
+
setSchedule('immediately');
|
|
73
|
+
setFlowEdited({
|
|
74
|
+
isEdited: false,
|
|
75
|
+
listIndex: null
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
const handleEditFormWorkflow = index => {
|
|
79
|
+
const result = workflowList.find((flow, indx) => indx === index);
|
|
80
|
+
setBodyData(result.body_data);
|
|
81
|
+
setSubject(result.subject_data);
|
|
82
|
+
setSchedule(result.schedule_type);
|
|
83
|
+
setFormData(true);
|
|
84
|
+
setFlowEdited({
|
|
85
|
+
isEdited: true,
|
|
86
|
+
listIndex: index
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const handleDeleteFormWorkflow = index => {
|
|
90
|
+
const result = workflowList.filter((flow, indx) => indx !== index);
|
|
91
|
+
let saveData = {
|
|
92
|
+
workflow: result
|
|
93
|
+
};
|
|
94
|
+
onSave(saveData);
|
|
95
|
+
setWorkflowList(result);
|
|
96
|
+
};
|
|
97
|
+
const handleSelectedVariables = (data, type) => () => {
|
|
98
|
+
if (type === 1) {
|
|
99
|
+
let newString = subject.concat(` %${data.name}%`);
|
|
100
|
+
setSubject(newString);
|
|
101
|
+
} else if (type === 2) {
|
|
102
|
+
let newString = bodyData.concat(` %${data.name}%`);
|
|
103
|
+
setBodyData(newString);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
const handleInputReset = type => () => {
|
|
107
|
+
if (type === 1) {
|
|
108
|
+
setSubject("");
|
|
109
|
+
} else if (type === 2) {
|
|
110
|
+
setBodyData("");
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
return /*#__PURE__*/_jsxs(Dialog, {
|
|
114
|
+
open: openWorkflow,
|
|
115
|
+
onClose: closeWorkflow,
|
|
116
|
+
fullWidth: true,
|
|
117
|
+
children: [/*#__PURE__*/_jsxs(DialogTitle, {
|
|
118
|
+
sx: classes.popupTitle,
|
|
119
|
+
style: {
|
|
120
|
+
padding: formData ? '16px 12px' : '16px 24px',
|
|
121
|
+
justifyContent: !formData ? "space-between" : ""
|
|
122
|
+
},
|
|
123
|
+
children: [formData && /*#__PURE__*/_jsx(IconButton, {
|
|
124
|
+
onClick: onFormBack,
|
|
125
|
+
children: /*#__PURE__*/_jsx(ArrowBackIcon, {})
|
|
126
|
+
}), "Follow-Up Email", !formData && workflowList?.length > 0 && /*#__PURE__*/_jsx(Button, {
|
|
127
|
+
variant: "outlined",
|
|
128
|
+
sx: {
|
|
129
|
+
textTransform: 'none',
|
|
130
|
+
background: '#EBF1F9'
|
|
131
|
+
},
|
|
132
|
+
onClick: handleAddFormWorkflow,
|
|
133
|
+
size: "small",
|
|
134
|
+
startIcon: /*#__PURE__*/_jsx(PlusIcon, {}),
|
|
135
|
+
children: " New Email"
|
|
136
|
+
})]
|
|
137
|
+
}), /*#__PURE__*/_jsxs(DialogContent, {
|
|
138
|
+
dividers: true,
|
|
139
|
+
children: [!formData && workflowList?.length > 0 && /*#__PURE__*/_jsx(ListWorkflow, {
|
|
140
|
+
workflow: workflowList,
|
|
141
|
+
handleEditFormWorkflow: handleEditFormWorkflow,
|
|
142
|
+
handleDeleteFormWorkflow: handleDeleteFormWorkflow
|
|
143
|
+
}), (formData || workflowList?.length === 0) && /*#__PURE__*/_jsx(FormWorkflow, {
|
|
144
|
+
subject: subject,
|
|
145
|
+
schedule: schedule,
|
|
146
|
+
bodyData: bodyData,
|
|
147
|
+
element: element,
|
|
148
|
+
currentInstant: currentInstant,
|
|
149
|
+
scheduleEvery: scheduleEvery,
|
|
150
|
+
scheduleOn: scheduleOn,
|
|
151
|
+
onFormBack: onFormBack,
|
|
152
|
+
setSubject: setSubject,
|
|
153
|
+
setBodyData: setBodyData,
|
|
154
|
+
setSchedule: setSchedule,
|
|
155
|
+
setScheduleEvery: setScheduleEvery,
|
|
156
|
+
setScheduleOn: setScheduleOn,
|
|
157
|
+
handleSelectedVariables: handleSelectedVariables,
|
|
158
|
+
handleInputReset: handleInputReset
|
|
159
|
+
})]
|
|
160
|
+
}), /*#__PURE__*/_jsxs(DialogActions, {
|
|
161
|
+
sx: classes.dialogFooter,
|
|
162
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
163
|
+
color: "primary",
|
|
164
|
+
sx: classes.closeBtn,
|
|
165
|
+
variant: "outlined",
|
|
166
|
+
onClick: closeWorkflow,
|
|
167
|
+
size: "small",
|
|
168
|
+
children: "Close"
|
|
169
|
+
}), (formData || workflowList?.length === 0) && /*#__PURE__*/_jsx(Button, {
|
|
170
|
+
sx: classes.saveBtn,
|
|
171
|
+
variant: "contained",
|
|
172
|
+
onClick: saveFormWorkflow,
|
|
173
|
+
size: "small",
|
|
174
|
+
children: "Save"
|
|
175
|
+
})]
|
|
176
|
+
})]
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
export default Workflow;
|
|
@@ -32,7 +32,8 @@ const GridItem = props => {
|
|
|
32
32
|
margin,
|
|
33
33
|
bgColorHover,
|
|
34
34
|
borderColorHover,
|
|
35
|
-
textColor
|
|
35
|
+
textColor,
|
|
36
|
+
animation
|
|
36
37
|
} = element;
|
|
37
38
|
const {
|
|
38
39
|
left,
|
|
@@ -126,6 +127,10 @@ const GridItem = props => {
|
|
|
126
127
|
display: "flex",
|
|
127
128
|
flexDirection: flexDirection || "column",
|
|
128
129
|
background: bgColor || "transparent",
|
|
130
|
+
borderColor: borderColor || "transparent",
|
|
131
|
+
borderWidth: borderWidth || "1px",
|
|
132
|
+
borderRadius: `${topLeft}px ${topRight}px ${bottomLeft}px ${bottomRight}px`,
|
|
133
|
+
borderStyle: borderStyle || "solid",
|
|
129
134
|
alignItems: horizantal,
|
|
130
135
|
justifyContent: vertical,
|
|
131
136
|
width: `${itemWidth}%`,
|
|
@@ -159,7 +164,7 @@ const GridItem = props => {
|
|
|
159
164
|
children: " "
|
|
160
165
|
}), /*#__PURE__*/_jsx(GridItemToolbar, {})]
|
|
161
166
|
}), /*#__PURE__*/_jsx(Box, {
|
|
162
|
-
className:
|
|
167
|
+
className: `gi-inner-cw ${animation || ""}`,
|
|
163
168
|
component: "div",
|
|
164
169
|
"data-path": path.join(","),
|
|
165
170
|
sx: {
|
|
@@ -171,10 +176,7 @@ const GridItem = props => {
|
|
|
171
176
|
paddingBottom: `${bottom}px`,
|
|
172
177
|
justifyContent: vertical,
|
|
173
178
|
height: gridHeight || "100%",
|
|
174
|
-
|
|
175
|
-
borderWidth: borderWidth || "1px",
|
|
176
|
-
borderRadius: `${topLeft}px ${topRight}px ${bottomLeft}px ${bottomRight}px`,
|
|
177
|
-
borderStyle: borderStyle || "solid",
|
|
179
|
+
width: "100%",
|
|
178
180
|
color: textColor || "#000",
|
|
179
181
|
"&:hover": {
|
|
180
182
|
borderColor: borderColorHover || borderColor || "transparent"
|
|
@@ -14,7 +14,7 @@ const DrawSignature = props => {
|
|
|
14
14
|
} = props;
|
|
15
15
|
const [uploading, setUploading] = useState(false);
|
|
16
16
|
const onSigned = async () => {
|
|
17
|
-
const strImage = canvasRef.toDataURL();
|
|
17
|
+
const strImage = canvasRef.getTrimmedCanvas().toDataURL();
|
|
18
18
|
setUploading(true);
|
|
19
19
|
const result = await services("uploadFile", {
|
|
20
20
|
image: strImage
|
|
@@ -37,8 +37,9 @@ const Signed = props => {
|
|
|
37
37
|
src: signature,
|
|
38
38
|
alt: "signature",
|
|
39
39
|
style: {
|
|
40
|
-
width: "
|
|
41
|
-
height: "auto"
|
|
40
|
+
width: "200px",
|
|
41
|
+
height: "auto",
|
|
42
|
+
marginBottom: "4px"
|
|
42
43
|
}
|
|
43
44
|
});
|
|
44
45
|
} else if (signedText) {
|
|
@@ -65,12 +66,22 @@ const Signed = props => {
|
|
|
65
66
|
}) : null, /*#__PURE__*/_jsxs("button", {
|
|
66
67
|
className: "signed-btn",
|
|
67
68
|
onClick: onSelect,
|
|
69
|
+
style: {
|
|
70
|
+
background: "transparent",
|
|
71
|
+
border: "none",
|
|
72
|
+
textAlign: "left"
|
|
73
|
+
},
|
|
68
74
|
children: [renderSign(), /*#__PURE__*/_jsx("div", {
|
|
69
75
|
style: {
|
|
70
76
|
fontWeight: "bold"
|
|
71
77
|
},
|
|
72
78
|
children: signedBy || ""
|
|
73
79
|
}), /*#__PURE__*/_jsx("div", {
|
|
80
|
+
style: {
|
|
81
|
+
fontSize: "10px",
|
|
82
|
+
color: "#ccc",
|
|
83
|
+
marginTop: "4px"
|
|
84
|
+
},
|
|
74
85
|
children: formatDate(signedOn, "MM/DD/YYYY")
|
|
75
86
|
})]
|
|
76
87
|
})]
|
|
@@ -32,14 +32,16 @@ const SimpleText = props => {
|
|
|
32
32
|
const {
|
|
33
33
|
element,
|
|
34
34
|
attributes,
|
|
35
|
-
children
|
|
35
|
+
children,
|
|
36
|
+
customProps
|
|
36
37
|
} = props;
|
|
38
|
+
const {
|
|
39
|
+
readOnly
|
|
40
|
+
} = customProps;
|
|
37
41
|
const classes = SimpleTextStyle();
|
|
38
42
|
const editor = useSlateStatic();
|
|
39
43
|
const selected = useSelected();
|
|
40
44
|
const path = ReactEditor.findPath(editor, element);
|
|
41
|
-
// const parentPath = Path.parent(path);
|
|
42
|
-
// const parentNode = Node.get(editor, parentPath);
|
|
43
45
|
const noContent = Node.string(Node.get(editor, path)).length === 0 && path.length === 1;
|
|
44
46
|
const emptyEditor = editor.children.length === 1 && path[0] === 0 && path.length === 1 && !selected;
|
|
45
47
|
return /*#__PURE__*/_jsxs(Box, {
|
|
@@ -47,13 +49,13 @@ const SimpleText = props => {
|
|
|
47
49
|
...attributes,
|
|
48
50
|
className: `simple-text`,
|
|
49
51
|
sx: classes.root,
|
|
50
|
-
children: [children, selected && noContent ? /*#__PURE__*/_jsxs("span", {
|
|
52
|
+
children: [children, selected && noContent && !readOnly ? /*#__PURE__*/_jsxs("span", {
|
|
51
53
|
className: "placeholder-simple-text",
|
|
52
54
|
children: ["Type ", /*#__PURE__*/_jsx("span", {
|
|
53
55
|
className: "bg-pad-sl",
|
|
54
56
|
children: "/"
|
|
55
57
|
}), " for browse elements"]
|
|
56
|
-
}) : null, emptyEditor ? /*#__PURE__*/_jsx("span", {
|
|
58
|
+
}) : null, emptyEditor && !readOnly ? /*#__PURE__*/_jsx("span", {
|
|
57
59
|
className: "placeholder-simple-text",
|
|
58
60
|
children: "Write Something..."
|
|
59
61
|
}) : null]
|
|
@@ -82,10 +82,10 @@ const TopBanner = props => {
|
|
|
82
82
|
src: url,
|
|
83
83
|
alt: "Top Banner",
|
|
84
84
|
style: {
|
|
85
|
-
width: "
|
|
85
|
+
width: "100%",
|
|
86
86
|
height: "320px",
|
|
87
87
|
objectFit: "cover",
|
|
88
|
-
borderRadius: "
|
|
88
|
+
borderRadius: "0px",
|
|
89
89
|
margin: "0px 0px"
|
|
90
90
|
}
|
|
91
91
|
}), !readOnly ? /*#__PURE__*/_jsx(TopBannerToolbar, {
|
|
@@ -3,23 +3,34 @@ const editorStyles = ({
|
|
|
3
3
|
}) => ({
|
|
4
4
|
root: {
|
|
5
5
|
display: "flex",
|
|
6
|
-
flexDirection: "column",
|
|
7
6
|
position: "relative",
|
|
8
|
-
padding: "
|
|
7
|
+
padding: "0px",
|
|
8
|
+
alignItems: "center",
|
|
9
|
+
justifyContent: "center"
|
|
9
10
|
},
|
|
10
11
|
slateWrapper: {
|
|
12
|
+
paddingTop: "0px",
|
|
11
13
|
height: `${window.innerHeight - padHeight}px`,
|
|
12
|
-
|
|
14
|
+
width: "100%",
|
|
15
|
+
overflowY: "auto",
|
|
16
|
+
overflowX: "hidden",
|
|
13
17
|
display: "flex",
|
|
14
18
|
flexDirection: "column",
|
|
19
|
+
alignItems: "center",
|
|
20
|
+
"& .max-content": {
|
|
21
|
+
width: "100%",
|
|
22
|
+
display: "flex",
|
|
23
|
+
flex: 1,
|
|
24
|
+
flexDirection: "column",
|
|
25
|
+
paddingBottom: "18px"
|
|
26
|
+
},
|
|
15
27
|
"& .scroll-area": {
|
|
16
28
|
display: "flex",
|
|
17
29
|
justifyContent: "center",
|
|
18
|
-
// minHeight: "100vh",
|
|
19
30
|
flex: 1
|
|
20
31
|
},
|
|
21
32
|
"& .editor-wrapper": {
|
|
22
|
-
maxWidth: "
|
|
33
|
+
maxWidth: "1440px",
|
|
23
34
|
height: "100%",
|
|
24
35
|
backgroundColor: "#FFF",
|
|
25
36
|
overflow: "visible"
|
|
@@ -5,16 +5,18 @@ const miniToolbarStyles = () => ({
|
|
|
5
5
|
justifyContent: "center",
|
|
6
6
|
alignItems: "center",
|
|
7
7
|
position: "absolute",
|
|
8
|
-
bottom: "-
|
|
8
|
+
bottom: "-15px",
|
|
9
9
|
left: 0,
|
|
10
10
|
right: 0,
|
|
11
11
|
margin: "auto",
|
|
12
12
|
border: "1px solid #D8DDE1",
|
|
13
13
|
borderRadius: "22px",
|
|
14
|
-
width: "
|
|
14
|
+
width: "fit-content",
|
|
15
15
|
height: "37px",
|
|
16
16
|
zIndex: 1000,
|
|
17
17
|
background: "#FFF",
|
|
18
|
+
boxShadow: "1px 2px 15px rgba(37, 99, 235, 0.25)",
|
|
19
|
+
padding: "0px 8px",
|
|
18
20
|
"& button": {
|
|
19
21
|
"& svg": {
|
|
20
22
|
stroke: "#64748B"
|
|
@@ -205,8 +205,8 @@ const usePopupStyle = () => ({
|
|
|
205
205
|
"&:before": {
|
|
206
206
|
content: '" "',
|
|
207
207
|
position: "absolute",
|
|
208
|
-
top: "-
|
|
209
|
-
left: "-
|
|
208
|
+
top: "-2px",
|
|
209
|
+
left: "-2px",
|
|
210
210
|
width: "calc(100% + 4px)",
|
|
211
211
|
height: "calc(100% + 4px)",
|
|
212
212
|
border: "3px solid blue",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
|
-
import { Button, ButtonGroup, Grid,
|
|
2
|
+
import { Button, ButtonGroup, Grid, Typography } from "@mui/material";
|
|
3
3
|
import WidthFullIcon from "@mui/icons-material/WidthFull";
|
|
4
4
|
import WidthNormalIcon from "@mui/icons-material/WidthNormal";
|
|
5
5
|
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
|
|
@@ -327,22 +327,12 @@ const TextFormat = props => {
|
|
|
327
327
|
},
|
|
328
328
|
children: "Full width"
|
|
329
329
|
})]
|
|
330
|
-
}), /*#__PURE__*/_jsx(
|
|
330
|
+
}), /*#__PURE__*/_jsx(AllColors, {
|
|
331
331
|
open: open,
|
|
332
332
|
anchorEl: anchorEl,
|
|
333
|
-
anchorOrigin: {
|
|
334
|
-
vertical: "bottom",
|
|
335
|
-
horizontal: "center"
|
|
336
|
-
},
|
|
337
|
-
transformOrigin: {
|
|
338
|
-
vertical: "top",
|
|
339
|
-
horizontal: "center"
|
|
340
|
-
},
|
|
341
333
|
onClose: onClosePicker,
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
onSelect: onSelectColor
|
|
345
|
-
})
|
|
334
|
+
classes: classes,
|
|
335
|
+
onSelect: onSelectColor
|
|
346
336
|
})]
|
|
347
337
|
});
|
|
348
338
|
};
|
|
@@ -167,7 +167,8 @@ export const RenderToolbarIcon = props => {
|
|
|
167
167
|
case "app-header":
|
|
168
168
|
return /*#__PURE__*/_jsx(AppHeaderButton, {
|
|
169
169
|
editor: editor,
|
|
170
|
-
customProps: customProps
|
|
170
|
+
customProps: customProps,
|
|
171
|
+
icoBtnType: icoBtnType
|
|
171
172
|
}, element.id);
|
|
172
173
|
case "form":
|
|
173
174
|
return /*#__PURE__*/_jsx(FormButton, {
|
|
@@ -7,7 +7,7 @@ import { AiFillEdit, AiOutlineInsertRowBelow, AiOutlineInsertRowRight, AiOutline
|
|
|
7
7
|
import { SiLatex } from "react-icons/si";
|
|
8
8
|
import { RiDeleteColumn, RiDeleteRow } from "react-icons/ri";
|
|
9
9
|
import { IoIosImage, IoIosLink, IoMdArrowDroprightCircle, IoMdArrowDropdownCircle } from "react-icons/io";
|
|
10
|
-
import { GridIcon, AccordionIcon, SignatureIcon, ButtonIcon, Carousal, FormIcon, BoldIcon, FontFamilyIcon, FontSizeIcon, ImageIcon, ItalicIcon, LinkIcon, StrikethroughIcon, TableIcon, UnderLineIcon, VideoIcon, CheckboxIcon } from "./iconslist";
|
|
10
|
+
import { GridIcon, AccordionIcon, SignatureIcon, ButtonIcon, Carousal, FormIcon, BoldIcon, FontFamilyIcon, FontSizeIcon, ImageIcon, ItalicIcon, LinkIcon, StrikethroughIcon, TableIcon, UnderLineIcon, VideoIcon, CheckboxIcon, AppHeader, MoreHorizontal } from "./iconslist";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
const iconList = {
|
|
13
13
|
fontFamily: /*#__PURE__*/_jsx(FontFamilyIcon, {
|
|
@@ -77,7 +77,7 @@ const iconList = {
|
|
|
77
77
|
fill: "#64748B"
|
|
78
78
|
}),
|
|
79
79
|
// link: <MdInsertLink size={20} />,
|
|
80
|
-
link: /*#__PURE__*/_jsx(
|
|
80
|
+
link: /*#__PURE__*/_jsx(LinkIcon, {
|
|
81
81
|
size: 20
|
|
82
82
|
}),
|
|
83
83
|
// image: <MdImage size={20} />,
|
|
@@ -181,7 +181,9 @@ const iconList = {
|
|
|
181
181
|
}),
|
|
182
182
|
accordionArrowDown: /*#__PURE__*/_jsx(IoMdArrowDropdownCircle, {
|
|
183
183
|
size: 20
|
|
184
|
-
})
|
|
184
|
+
}),
|
|
185
|
+
appHeader: /*#__PURE__*/_jsx(AppHeader, {}),
|
|
186
|
+
moreHorizantal: /*#__PURE__*/_jsx(MoreHorizontal, {})
|
|
185
187
|
};
|
|
186
188
|
const Icon = props => {
|
|
187
189
|
const {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useState } from "react";
|
|
2
2
|
import { Button, Grid, Tab, Tabs, Dialog, DialogContent, DialogActions, DialogTitle, Typography } from "@mui/material";
|
|
3
3
|
import Upload from "./Options/Upload";
|
|
4
4
|
import ChooseAssets from "./Options/ChooseAssets";
|
|
@@ -3,9 +3,10 @@ const usePopupStyles = () => ({
|
|
|
3
3
|
position: "absolute",
|
|
4
4
|
zIndex: 1000,
|
|
5
5
|
background: "white",
|
|
6
|
-
borderRadius: "
|
|
6
|
+
borderRadius: "10px",
|
|
7
7
|
padding: "0px",
|
|
8
|
-
boxShadow: "0 4px 10px rgba(0,0,0,.2)"
|
|
8
|
+
boxShadow: "0 4px 10px rgba(0,0,0,.2)",
|
|
9
|
+
overflow: "hidden"
|
|
9
10
|
},
|
|
10
11
|
papper: {
|
|
11
12
|
boxShadow: "none",
|
|
@@ -13,7 +14,8 @@ const usePopupStyles = () => ({
|
|
|
13
14
|
height: "300px",
|
|
14
15
|
overflow: "auto",
|
|
15
16
|
padding: "8px",
|
|
16
|
-
margin: "0px"
|
|
17
|
+
margin: "0px",
|
|
18
|
+
borderRadius: "10px"
|
|
17
19
|
},
|
|
18
20
|
groupHeader: {
|
|
19
21
|
padding: "10px 8px",
|
|
@@ -26,6 +28,7 @@ const usePopupStyles = () => ({
|
|
|
26
28
|
padding: "4px",
|
|
27
29
|
cursor: "pointer",
|
|
28
30
|
background: "transparent",
|
|
31
|
+
borderRadius: "10px",
|
|
29
32
|
"&.active": {
|
|
30
33
|
background: "rgba(55, 53, 47, 0.08)"
|
|
31
34
|
},
|
|
@@ -28,6 +28,35 @@ const gridItemStyle = [{
|
|
|
28
28
|
key: "borderColorHover",
|
|
29
29
|
type: "color"
|
|
30
30
|
}]
|
|
31
|
+
}, {
|
|
32
|
+
tab: "Animation",
|
|
33
|
+
value: "animation",
|
|
34
|
+
fields: [{
|
|
35
|
+
label: "Choose Animation",
|
|
36
|
+
key: "animation",
|
|
37
|
+
type: "textOptions",
|
|
38
|
+
options: [{
|
|
39
|
+
text: "No Animation",
|
|
40
|
+
value: "No Animation"
|
|
41
|
+
}, {
|
|
42
|
+
text: "Fade In",
|
|
43
|
+
value: "animate__animated animate__fadeIn"
|
|
44
|
+
}, {
|
|
45
|
+
text: "Zoom In",
|
|
46
|
+
value: "animate__animated animate__zoomIn"
|
|
47
|
+
}, {
|
|
48
|
+
text: "Bounce In Left",
|
|
49
|
+
value: "animate__animated animate__bounceInLeft"
|
|
50
|
+
}],
|
|
51
|
+
renderOption: option => {
|
|
52
|
+
return /*#__PURE__*/_jsx("span", {
|
|
53
|
+
style: {
|
|
54
|
+
fontFamily: option.value
|
|
55
|
+
},
|
|
56
|
+
children: option.text
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}]
|
|
31
60
|
}, {
|
|
32
61
|
tab: "Position",
|
|
33
62
|
value: "position",
|
|
@@ -1451,4 +1451,70 @@ export const FileUploadIcon = () => {
|
|
|
1451
1451
|
strokeLinejoin: "round"
|
|
1452
1452
|
})]
|
|
1453
1453
|
});
|
|
1454
|
-
};
|
|
1454
|
+
};
|
|
1455
|
+
export const RestRight = () => /*#__PURE__*/_jsxs("svg", {
|
|
1456
|
+
width: "20",
|
|
1457
|
+
height: "16",
|
|
1458
|
+
viewBox: "0 0 22 23",
|
|
1459
|
+
fill: "none",
|
|
1460
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1461
|
+
children: [/*#__PURE__*/_jsx("path", {
|
|
1462
|
+
d: "M13.6474 5.31C12.8499 5.07167 11.9699 4.91583 10.9983 4.91583C6.60745 4.91583 3.05078 8.4725 3.05078 12.8633C3.05078 17.2633 6.60745 20.82 10.9983 20.82C15.3891 20.82 18.9458 17.2633 18.9458 12.8725C18.9458 11.2408 18.4508 9.71917 17.6074 8.45417",
|
|
1463
|
+
stroke: "#64748B",
|
|
1464
|
+
strokeWidth: "1.5",
|
|
1465
|
+
strokeLinecap: "round",
|
|
1466
|
+
strokeLinejoin: "round"
|
|
1467
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
1468
|
+
d: "M14.7859 5.53L12.1367 2.48666",
|
|
1469
|
+
stroke: "#64748B",
|
|
1470
|
+
strokeWidth: "1.5",
|
|
1471
|
+
strokeLinecap: "round",
|
|
1472
|
+
strokeLinejoin: "round"
|
|
1473
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
1474
|
+
d: "M14.7845 5.53L11.6953 7.785",
|
|
1475
|
+
stroke: "#64748B",
|
|
1476
|
+
strokeWidth: "1.5",
|
|
1477
|
+
strokeLinecap: "round",
|
|
1478
|
+
strokeLinejoin: "round"
|
|
1479
|
+
})]
|
|
1480
|
+
});
|
|
1481
|
+
export const MoreHorizontal = ({
|
|
1482
|
+
width = "22",
|
|
1483
|
+
height = "22"
|
|
1484
|
+
}) => /*#__PURE__*/_jsxs("svg", {
|
|
1485
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1486
|
+
width: width,
|
|
1487
|
+
height: height,
|
|
1488
|
+
viewBox: "0 0 22 22",
|
|
1489
|
+
fill: "none",
|
|
1490
|
+
children: [/*#__PURE__*/_jsx("path", {
|
|
1491
|
+
d: "M4.58333 9.16797C3.575 9.16797 2.75 9.99297 2.75 11.0013C2.75 12.0096 3.575 12.8346 4.58333 12.8346C5.59167 12.8346 6.41667 12.0096 6.41667 11.0013C6.41667 9.99297 5.59167 9.16797 4.58333 9.16797Z",
|
|
1492
|
+
fill: "#64748B"
|
|
1493
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
1494
|
+
d: "M17.4168 9.16797C16.4085 9.16797 15.5835 9.99297 15.5835 11.0013C15.5835 12.0096 16.4085 12.8346 17.4168 12.8346C18.4252 12.8346 19.2502 12.0096 19.2502 11.0013C19.2502 9.99297 18.4252 9.16797 17.4168 9.16797Z",
|
|
1495
|
+
fill: "#64748B"
|
|
1496
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
1497
|
+
d: "M10.9998 9.16797C9.9915 9.16797 9.1665 9.99297 9.1665 11.0013C9.1665 12.0096 9.9915 12.8346 10.9998 12.8346C12.0082 12.8346 12.8332 12.0096 12.8332 11.0013C12.8332 9.99297 12.0082 9.16797 10.9998 9.16797Z",
|
|
1498
|
+
fill: "#64748B"
|
|
1499
|
+
})]
|
|
1500
|
+
});
|
|
1501
|
+
export const PlusIcon = props => /*#__PURE__*/_jsxs("svg", {
|
|
1502
|
+
width: "12",
|
|
1503
|
+
height: "12",
|
|
1504
|
+
viewBox: "0 0 12 12",
|
|
1505
|
+
fill: "none",
|
|
1506
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1507
|
+
children: [/*#__PURE__*/_jsx("path", {
|
|
1508
|
+
d: "M6 1.33331V10.6666",
|
|
1509
|
+
stroke: "#2563EB",
|
|
1510
|
+
strokeWidth: "1.4",
|
|
1511
|
+
strokeLinecap: "round",
|
|
1512
|
+
strokeLinejoin: "round"
|
|
1513
|
+
}), /*#__PURE__*/_jsx("path", {
|
|
1514
|
+
d: "M1.33203 6H10.6654",
|
|
1515
|
+
stroke: "#2563EB",
|
|
1516
|
+
strokeWidth: "1.4",
|
|
1517
|
+
strokeLinecap: "round",
|
|
1518
|
+
strokeLinejoin: "round"
|
|
1519
|
+
})]
|
|
1520
|
+
});
|