@flozy/editor 3.9.1 → 3.9.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Editor/ChatEditor.js +16 -0
- package/dist/Editor/CommonEditor.js +109 -177
- package/dist/Editor/Editor.css +12 -8
- package/dist/Editor/Elements/AI/AIInput.js +18 -17
- package/dist/Editor/Elements/AI/CustomSelect.js +12 -19
- package/dist/Editor/Elements/AI/PopoverAIInput.js +28 -23
- package/dist/Editor/Elements/AI/Styles.js +1 -2
- package/dist/Editor/Elements/Accordion/Accordion.js +1 -1
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +21 -5
- package/dist/Editor/Elements/AppHeader/AppHeader.js +4 -26
- package/dist/Editor/Elements/Button/EditorButton.js +16 -28
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +17 -60
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
- package/dist/Editor/Elements/Color Picker/Styles.js +1 -2
- package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +3 -12
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +1 -2
- package/dist/Editor/Elements/Grid/Grid.js +3 -27
- package/dist/Editor/Elements/Grid/GridItem.js +1 -3
- package/dist/Editor/Elements/Link/Link.js +1 -6
- package/dist/Editor/Elements/Link/LinkButton.js +2 -4
- package/dist/Editor/Elements/Link/LinkPopup.js +3 -10
- package/dist/Editor/Elements/List/CheckList.js +2 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +3 -3
- package/dist/Editor/Elements/Signature/SignaturePopup.js +3 -14
- package/dist/Editor/Elements/Table/Styles.js +1 -23
- package/dist/Editor/Elements/Table/Table.js +1 -2
- package/dist/Editor/Elements/Table/TableCell.js +7 -69
- package/dist/Editor/Elements/TableContextMenu/TableContextMenu.js +0 -1
- package/dist/Editor/MiniEditor.js +1 -3
- package/dist/Editor/Styles/EditorStyles.js +1 -1
- package/dist/Editor/Toolbar/Basic/index.js +2 -4
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +2 -26
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +18 -29
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -4
- package/dist/Editor/Toolbar/Mini/Options/Options.js +0 -10
- package/dist/Editor/Toolbar/Mini/Styles.js +0 -7
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +11 -4
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +86 -213
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -22
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +7 -52
- package/dist/Editor/Toolbar/PopupTool/index.js +17 -7
- package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
- package/dist/Editor/assets/svg/AIIcons.js +1 -153
- package/dist/Editor/assets/svg/AddTemplateIcon.js +10 -13
- package/dist/Editor/assets/svg/TextIcon.js +5 -8
- package/dist/Editor/common/ColorPickerButton.js +18 -26
- package/dist/Editor/common/DnD/DragHandleButton.js +47 -56
- package/dist/Editor/common/Icon.js +3 -43
- package/dist/Editor/common/LinkSettings/NavComponents.js +2 -5
- package/dist/Editor/common/LinkSettings/index.js +2 -4
- package/dist/Editor/common/LinkSettings/navOptions.js +2 -7
- package/dist/Editor/common/LinkSettings/style.js +8 -11
- package/dist/Editor/common/Section/index.js +7 -57
- package/dist/Editor/common/Section/styles.js +0 -11
- package/dist/Editor/common/Shorthands/elements.js +0 -54
- package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +2 -1
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +29 -33
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +25 -31
- package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +1 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +7 -29
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +4 -14
- package/dist/Editor/common/StyleBuilder/index.js +1 -1
- package/dist/Editor/common/iconslist.js +31 -0
- package/dist/Editor/helper/index.js +22 -0
- package/dist/Editor/helper/theme.js +4 -189
- package/dist/Editor/hooks/useMouseMove.js +1 -4
- package/dist/Editor/hooks/useWindowMessage.js +7 -10
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +1 -1
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/theme/ThemeList.js +173 -50
- package/dist/Editor/utils/SlateUtilityFunctions.js +27 -169
- package/dist/Editor/utils/button.js +17 -1
- package/dist/Editor/utils/events.js +2 -54
- package/dist/Editor/utils/font.js +37 -40
- package/dist/Editor/utils/helper.js +2 -31
- package/dist/Editor/utils/table.js +43 -51
- package/package.json +3 -4
- package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +0 -73
- package/dist/Editor/Elements/AI/VoiceToText/index.js +0 -177
- package/dist/Editor/Elements/AI/VoiceToText/style.js +0 -40
- package/dist/Editor/Elements/Link/LinkPopupStyles.js +0 -28
- package/dist/Editor/Elements/Redo/RedoButton.js +0 -14
- package/dist/Editor/Elements/Undo/UndoButton.js +0 -14
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
- package/dist/Editor/assets/svg/RedoIcon.js +0 -27
- package/dist/Editor/assets/svg/SettingsIcon.js +0 -28
- package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
- package/dist/Editor/assets/svg/UndoIcon.js +0 -27
- package/dist/Editor/common/CustomColorPicker/index.js +0 -106
- package/dist/Editor/common/CustomColorPicker/style.js +0 -53
- package/dist/Editor/common/CustomDialog/index.js +0 -94
- package/dist/Editor/common/CustomDialog/style.js +0 -67
- package/dist/Editor/common/CustomSelect.js +0 -33
- package/dist/Editor/hooks/useEditorTheme.js +0 -139
- package/dist/Editor/theme/index.js +0 -144
- package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
- package/dist/Editor/themeSettings/buttons/index.js +0 -290
- package/dist/Editor/themeSettings/buttons/style.js +0 -21
- package/dist/Editor/themeSettings/colorTheme/index.js +0 -290
- package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -123
- package/dist/Editor/themeSettings/fonts/index.js +0 -213
- package/dist/Editor/themeSettings/fonts/style.js +0 -44
- package/dist/Editor/themeSettings/icons.js +0 -60
- package/dist/Editor/themeSettings/index.js +0 -320
- package/dist/Editor/themeSettings/style.js +0 -152
- package/dist/Editor/themeSettingsAI/icons.js +0 -96
- package/dist/Editor/themeSettingsAI/index.js +0 -356
- package/dist/Editor/themeSettingsAI/saveTheme.js +0 -190
- package/dist/Editor/themeSettingsAI/style.js +0 -247
@@ -1,13 +1,13 @@
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
2
2
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
3
3
|
import Styles from "./Styles";
|
4
|
-
import { Fade, Paper, Popper } from "@mui/material";
|
4
|
+
import { Box, Fade, Paper, Popper } from "@mui/material";
|
5
5
|
import AIInput from "./AIInput";
|
6
6
|
import { ReactEditor, useSlate } from "slate-react";
|
7
7
|
import { Editor, Node, Path, Transforms } from "slate";
|
8
|
+
import useWindowResize from "../../hooks/useWindowResize";
|
8
9
|
import { MODES } from "./helper";
|
9
10
|
import { getSelectedText } from "../../utils/helper";
|
10
|
-
import { VoiceToText } from "./VoiceToText";
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
12
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
13
13
|
const scrollToAIInput = () => {
|
@@ -101,8 +101,7 @@ const updateAnchorEl = (setAnchorEl, editor) => {
|
|
101
101
|
// selected text as caret
|
102
102
|
caret = selection.getRangeAt(0);
|
103
103
|
} else {
|
104
|
-
|
105
|
-
caret = domElement?.commonAncestorContainer?.parentElement;
|
104
|
+
caret = ReactEditor.toDOMRange(editor, getNextLine(editor).at);
|
106
105
|
}
|
107
106
|
const getBoundingClientRect = () => {
|
108
107
|
const editorContainer = document.querySelector("#slate-wrapper-scroll-container")?.getBoundingClientRect();
|
@@ -148,6 +147,7 @@ function PopoverAIInput({
|
|
148
147
|
const targetRef = useRef();
|
149
148
|
const classes = Styles();
|
150
149
|
const editor = useSlate();
|
150
|
+
const [size] = useWindowResize();
|
151
151
|
const onClickOutside = () => {
|
152
152
|
setAnchorEl(null);
|
153
153
|
setOpenAI("");
|
@@ -178,11 +178,6 @@ function PopoverAIInput({
|
|
178
178
|
onClickOutside();
|
179
179
|
return;
|
180
180
|
}
|
181
|
-
if (type === "speech_to_text") {
|
182
|
-
Transforms.insertText(editor, option.text);
|
183
|
-
onClickOutside();
|
184
|
-
return;
|
185
|
-
}
|
186
181
|
if (type === "try_again") {
|
187
182
|
// resetting the previous option and try again
|
188
183
|
option = selectedOption;
|
@@ -193,7 +188,7 @@ function PopoverAIInput({
|
|
193
188
|
setLoading(true);
|
194
189
|
const payload = {
|
195
190
|
mode: option.mode || 0,
|
196
|
-
query:
|
191
|
+
query: inputValue
|
197
192
|
};
|
198
193
|
if (option.mode === MODES.translate || option.mode === MODES.rephraseTone) {
|
199
194
|
payload.textOptionInput = type;
|
@@ -268,7 +263,21 @@ function PopoverAIInput({
|
|
268
263
|
setInputValue(e.target.value);
|
269
264
|
};
|
270
265
|
return /*#__PURE__*/_jsxs("div", {
|
271
|
-
children: [/*#__PURE__*/_jsx(
|
266
|
+
children: [size.device === "xs" && openAI ? /*#__PURE__*/_jsx(Box, {
|
267
|
+
component: "div",
|
268
|
+
sx: classes.mobileAIInputWrapper,
|
269
|
+
ref: targetRef,
|
270
|
+
children: /*#__PURE__*/_jsx(AIInput, {
|
271
|
+
loading: loading,
|
272
|
+
onSend: onSend,
|
273
|
+
generatedText: generatedText,
|
274
|
+
anchorEl: anchorEl,
|
275
|
+
openAI: openAI,
|
276
|
+
inputValue: inputValue,
|
277
|
+
onInputChange: onInputChange,
|
278
|
+
onClickOutside: onClickOutside
|
279
|
+
})
|
280
|
+
}) : /*#__PURE__*/_jsx(Popper, {
|
272
281
|
open: Boolean(openAI),
|
273
282
|
anchorEl: anchorEl,
|
274
283
|
transition: true,
|
@@ -287,19 +296,15 @@ function PopoverAIInput({
|
|
287
296
|
sx: getSelectedText(editor) ? {
|
288
297
|
marginTop: "6px"
|
289
298
|
} : {},
|
290
|
-
children: /*#__PURE__*/_jsx(
|
291
|
-
|
299
|
+
children: /*#__PURE__*/_jsx(AIInput, {
|
300
|
+
loading: loading,
|
292
301
|
onSend: onSend,
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
inputValue: inputValue,
|
300
|
-
onInputChange: onInputChange,
|
301
|
-
onClickOutside: onClickOutside
|
302
|
-
})
|
302
|
+
generatedText: generatedText,
|
303
|
+
anchorEl: anchorEl,
|
304
|
+
openAI: openAI,
|
305
|
+
inputValue: inputValue,
|
306
|
+
onInputChange: onInputChange,
|
307
|
+
onClickOutside: onClickOutside
|
303
308
|
})
|
304
309
|
})
|
305
310
|
})
|
@@ -1,4 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import { getBorderColor, getTextColor } from "../../helper";
|
3
|
+
import { Box } from "@mui/material";
|
4
|
+
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
2
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
3
6
|
const AccordionSummary = props => {
|
4
7
|
const {
|
@@ -9,18 +12,31 @@ const AccordionSummary = props => {
|
|
9
12
|
const {
|
10
13
|
textColor,
|
11
14
|
bgColor,
|
12
|
-
borderColor
|
15
|
+
borderColor,
|
16
|
+
borderRadius,
|
17
|
+
bannerSpacing
|
13
18
|
} = element;
|
14
|
-
|
19
|
+
const textStyles = getTextColor(textColor);
|
20
|
+
const borderStyle = getBorderColor(borderColor);
|
21
|
+
return /*#__PURE__*/_jsx(Box, {
|
15
22
|
className: `accordion-summary-container`,
|
16
23
|
...attributes,
|
17
24
|
style: {
|
18
25
|
width: "100%",
|
19
26
|
position: "relative",
|
20
|
-
|
21
|
-
|
22
|
-
color: textColor
|
27
|
+
background: bgColor,
|
28
|
+
...borderStyle
|
23
29
|
},
|
30
|
+
sx: {
|
31
|
+
borderRadius: {
|
32
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
33
|
+
},
|
34
|
+
padding: {
|
35
|
+
...getTRBLBreakPoints(bannerSpacing)
|
36
|
+
},
|
37
|
+
'& span[data-slate-string="true"]': textStyles
|
38
|
+
},
|
39
|
+
component: "div",
|
24
40
|
children: children
|
25
41
|
});
|
26
42
|
};
|
@@ -62,11 +62,6 @@ function AppHeader(props) {
|
|
62
62
|
const handleDrawerToggle = () => {
|
63
63
|
setMobileOpen(prevState => !prevState);
|
64
64
|
};
|
65
|
-
const closeDrawer = () => {
|
66
|
-
if (mobileOpen) {
|
67
|
-
handleDrawerToggle();
|
68
|
-
}
|
69
|
-
};
|
70
65
|
const onSettings = e => {
|
71
66
|
if (!readOnly) {
|
72
67
|
e.stopPropagation();
|
@@ -153,27 +148,10 @@ function AppHeader(props) {
|
|
153
148
|
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(List, {
|
154
149
|
children: menus.map((item, i) => {
|
155
150
|
const buttonProps = handleLinkType(item.url, item.linkType, true, item.target === "_blank");
|
156
|
-
const onTouchEnd = e => {
|
157
|
-
if (buttonProps?.onTouchEnd) {
|
158
|
-
buttonProps?.onTouchEnd(e);
|
159
|
-
closeDrawer();
|
160
|
-
}
|
161
|
-
};
|
162
|
-
const onClick = e => {
|
163
|
-
if (buttonProps?.onClick) {
|
164
|
-
buttonProps?.onClick(e);
|
165
|
-
closeDrawer();
|
166
|
-
}
|
167
|
-
};
|
168
|
-
const props = {
|
169
|
-
...buttonProps,
|
170
|
-
onTouchEnd,
|
171
|
-
onClick
|
172
|
-
};
|
173
151
|
return /*#__PURE__*/_jsx(ListItem, {
|
174
152
|
disablePadding: true,
|
175
153
|
children: /*#__PURE__*/_jsx(ListItemButton, {
|
176
|
-
...
|
154
|
+
...buttonProps,
|
177
155
|
sx: {
|
178
156
|
textAlign: "center"
|
179
157
|
},
|
@@ -251,7 +229,7 @@ function AppHeader(props) {
|
|
251
229
|
style: {
|
252
230
|
display: "inline-flex",
|
253
231
|
alignItems: "center",
|
254
|
-
color: textColor
|
232
|
+
color: textColor,
|
255
233
|
fontSize: logoFontSize,
|
256
234
|
fontFamily: titleFontFamily,
|
257
235
|
justifyContent: isLogoRight ? "end" : "start"
|
@@ -299,7 +277,7 @@ function AppHeader(props) {
|
|
299
277
|
fontFamily: fontFamily,
|
300
278
|
textTransform: "none",
|
301
279
|
fontSize: fontSize || "16px",
|
302
|
-
color: textColor || "#
|
280
|
+
color: textColor || "#FFF",
|
303
281
|
background: bgColor || "none",
|
304
282
|
"& .m-settings": {
|
305
283
|
display: "none",
|
@@ -314,7 +292,7 @@ function AppHeader(props) {
|
|
314
292
|
background: "#FFF"
|
315
293
|
},
|
316
294
|
"&:hover": {
|
317
|
-
color: textColorHover || textColor || "#
|
295
|
+
color: textColorHover || textColor || "#FFF",
|
318
296
|
background: bgColorHover || bgColor || "none",
|
319
297
|
"& .m-settings": {
|
320
298
|
display: "block"
|
@@ -13,9 +13,6 @@ import { WorkflowIcon } from "../../common/iconslist";
|
|
13
13
|
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
14
14
|
import { handleLinkType, windowVar } from "../../utils/helper";
|
15
15
|
import LinkSettings from "../../common/LinkSettings";
|
16
|
-
import { useEditorTheme } from "../../hooks/useEditorTheme";
|
17
|
-
import { getTheme } from "../../theme";
|
18
|
-
import { fontFamilyMap } from "../../utils/font";
|
19
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
20
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
21
18
|
const EditorButton = props => {
|
@@ -33,12 +30,6 @@ const EditorButton = props => {
|
|
33
30
|
const path = ReactEditor.findPath(editor, element);
|
34
31
|
const [edit, setEdit] = useState(false);
|
35
32
|
const [openNav, setOpenNav] = useState(false);
|
36
|
-
const {
|
37
|
-
theme
|
38
|
-
} = useEditorTheme();
|
39
|
-
const {
|
40
|
-
buttonTheme
|
41
|
-
} = getTheme(theme);
|
42
33
|
const {
|
43
34
|
label,
|
44
35
|
bgColor,
|
@@ -52,7 +43,7 @@ const EditorButton = props => {
|
|
52
43
|
fontFamily,
|
53
44
|
textColorHover,
|
54
45
|
bgColorHover,
|
55
|
-
|
46
|
+
buttonIcon,
|
56
47
|
iconPosition = "start",
|
57
48
|
borderStyle,
|
58
49
|
borderWidth,
|
@@ -71,15 +62,13 @@ const EditorButton = props => {
|
|
71
62
|
} = actionTrigger || {
|
72
63
|
options: []
|
73
64
|
};
|
74
|
-
const isTrigger = linkType === "
|
65
|
+
const isTrigger = linkType === "actionTrigger";
|
75
66
|
const refURl = isTrigger ? buttonLink?.url : url;
|
76
|
-
const buttonIcon = element?.buttonIcon || buttonTheme?.buttonIcon;
|
77
67
|
const BtnIcon = buttonIcon ? buttonIcon : null;
|
78
68
|
windowVar.lastButtonProps = element;
|
79
69
|
const handleTrigger = async () => {
|
80
70
|
if (metadata?.buttonLink?.handler) {
|
81
|
-
|
82
|
-
metadata.buttonLink.handler(response);
|
71
|
+
metadata.buttonLink.handler("click");
|
83
72
|
} else if (redirectOnURLResult) {
|
84
73
|
// call api and redirect based on api result
|
85
74
|
const apiResult = await actionButtonRedirect({}, {
|
@@ -197,9 +186,20 @@ const EditorButton = props => {
|
|
197
186
|
children: [/*#__PURE__*/_jsxs(Box, {
|
198
187
|
sx: {
|
199
188
|
textDecoration: "none",
|
189
|
+
background: bgColor || "rgb(30, 75, 122)",
|
200
190
|
borderBlockStyle: "solid",
|
191
|
+
borderColor: borderColor || "transparent",
|
201
192
|
borderWidth: borderWidth !== undefined ? borderWidth : borderColor ? "1px" : "0px",
|
193
|
+
borderRadius: {
|
194
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
195
|
+
},
|
202
196
|
borderStyle: borderStyle || "solid",
|
197
|
+
padding: {
|
198
|
+
...getTRBLBreakPoints(bannerSpacing)
|
199
|
+
},
|
200
|
+
color: `${textColor || "#FFFFFF"}`,
|
201
|
+
fontSize: textSize || "inherit",
|
202
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
203
203
|
display: "inline-flex",
|
204
204
|
alignItems: "center",
|
205
205
|
position: "relative",
|
@@ -207,26 +207,14 @@ const EditorButton = props => {
|
|
207
207
|
display: "none"
|
208
208
|
},
|
209
209
|
"&:hover": {
|
210
|
-
color: `${textColorHover || textColor}`,
|
211
|
-
background: bgColorHover || bgColor,
|
210
|
+
color: `${textColorHover || textColor || "#FFFFFF"}`,
|
211
|
+
background: bgColorHover || bgColor || "rgb(30, 75, 122)",
|
212
212
|
"& .element-toolbar": {
|
213
213
|
display: "flex"
|
214
214
|
}
|
215
|
-
},
|
216
|
-
color: `${textColor} !important`,
|
217
|
-
fontSize: `${textSize}px !important`,
|
218
|
-
fontFamily: `${fontFamilyMap[fontFamily] || ""} !important`,
|
219
|
-
background: `${bgColor} !important`,
|
220
|
-
borderColor: `${borderColor} !important`,
|
221
|
-
borderRadius: {
|
222
|
-
...getBreakPointsValue(borderRadius || buttonTheme?.borderRadius || {}, null, "overrideBorderRadius", true)
|
223
|
-
},
|
224
|
-
padding: {
|
225
|
-
...getTRBLBreakPoints(bannerSpacing || buttonTheme?.bannerSpacing || {})
|
226
215
|
}
|
227
216
|
},
|
228
217
|
...buttonProps,
|
229
|
-
className: "button theme-element",
|
230
218
|
children: [BtnIcon && iconPosition === "start" && /*#__PURE__*/_jsx(MUIIcon, {
|
231
219
|
iconName: buttonIcon,
|
232
220
|
style: {
|
@@ -1,15 +1,11 @@
|
|
1
|
-
import React, {
|
2
|
-
import { Box, IconButton, Popover
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Box, IconButton, Popover } from "@mui/material";
|
3
3
|
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
|
4
4
|
import Button from "../../common/Button";
|
5
5
|
import { colors } from "./defaultColors";
|
6
6
|
import ColorPicker from "./colorPicker.svg";
|
7
|
-
import { ThemeContext } from "../../CommonEditor";
|
8
|
-
import { useSlateStatic } from "slate-react";
|
9
|
-
import { Transforms } from "slate";
|
10
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
11
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
12
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
13
9
|
let c = [];
|
14
10
|
const ColorChunks = (recentColors = []) => [...recentColors, ...colors].reduce((a, b, i) => {
|
15
11
|
if (i % 7 === 0) {
|
@@ -35,7 +31,9 @@ const SingleColorButton = ({
|
|
35
31
|
style: {
|
36
32
|
width: "100%",
|
37
33
|
display: "flex",
|
38
|
-
|
34
|
+
alignItems: "center",
|
35
|
+
padding: padding || "8px",
|
36
|
+
justifyContent: "center"
|
39
37
|
},
|
40
38
|
children: [crs.map(m => /*#__PURE__*/_jsx(Button, {
|
41
39
|
onClick: handleSelect(m),
|
@@ -111,17 +109,11 @@ const ColorButtons = props => {
|
|
111
109
|
forMiniTool,
|
112
110
|
openColorTool,
|
113
111
|
onClose,
|
114
|
-
onColorPickerClick
|
115
|
-
disableEditTheme
|
112
|
+
onColorPickerClick
|
116
113
|
} = props;
|
117
114
|
const [row1, ...restRows] = ColorChunks([]);
|
118
115
|
const [anchorEl, setAnchorEl] = useState(null);
|
119
116
|
const open = Boolean(anchorEl);
|
120
|
-
const theme = useTheme();
|
121
|
-
const editor = useSlateStatic();
|
122
|
-
const {
|
123
|
-
setOpenTheme
|
124
|
-
} = useContext(ThemeContext);
|
125
117
|
const handleMore = e => {
|
126
118
|
setAnchorEl(e.currentTarget);
|
127
119
|
};
|
@@ -134,7 +126,6 @@ const ColorButtons = props => {
|
|
134
126
|
const handleSelect = color => () => {
|
135
127
|
onSelect(color);
|
136
128
|
};
|
137
|
-
const colorVars = theme?.vars?.colors || {};
|
138
129
|
return /*#__PURE__*/_jsxs(Box, {
|
139
130
|
component: "span",
|
140
131
|
sx: classes.colorButtons,
|
@@ -151,7 +142,7 @@ const ColorButtons = props => {
|
|
151
142
|
activeColor: activeColor
|
152
143
|
}, `si_btn_row1_${m}_${i}`);
|
153
144
|
})
|
154
|
-
}), /*#__PURE__*/
|
145
|
+
}), /*#__PURE__*/_jsxs(Popover, {
|
155
146
|
open: open || openColorTool,
|
156
147
|
anchorEl: anchorEl || openColorTool,
|
157
148
|
onClose: handleClose,
|
@@ -165,39 +156,9 @@ const ColorButtons = props => {
|
|
165
156
|
},
|
166
157
|
sx: classes.colorPopper,
|
167
158
|
className: "colorPopper",
|
168
|
-
children: /*#__PURE__*/
|
159
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
169
160
|
sx: classes.colorButtonsInner,
|
170
|
-
children:
|
171
|
-
children: [/*#__PURE__*/_jsxs(Box, {
|
172
|
-
component: "div",
|
173
|
-
className: "singleColorTitleWrapper",
|
174
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
175
|
-
variant: "subtitle2",
|
176
|
-
children: "Theme colour"
|
177
|
-
}), disableEditTheme ? null : /*#__PURE__*/_jsx("div", {
|
178
|
-
className: "editBtn",
|
179
|
-
onClick: () => {
|
180
|
-
Transforms.deselect(editor, {
|
181
|
-
at: editor.selection
|
182
|
-
});
|
183
|
-
setOpenTheme("editThemeColor");
|
184
|
-
},
|
185
|
-
children: "Edit"
|
186
|
-
})]
|
187
|
-
}), /*#__PURE__*/_jsx(SingleColorButton, {
|
188
|
-
crs: Object.values(colorVars),
|
189
|
-
handleSelect: handleSelect,
|
190
|
-
classes: classes,
|
191
|
-
activeColor: activeColor
|
192
|
-
})]
|
193
|
-
}) : null, /*#__PURE__*/_jsx(Box, {
|
194
|
-
component: "div",
|
195
|
-
className: "singleColorTitleWrapper",
|
196
|
-
children: /*#__PURE__*/_jsx(Typography, {
|
197
|
-
variant: "subtitle2",
|
198
|
-
children: "Custom colour"
|
199
|
-
})
|
200
|
-
}), restRows.map((m, i) => {
|
161
|
+
children: restRows.map((m, i) => {
|
201
162
|
return /*#__PURE__*/_jsx(SingleColorButton, {
|
202
163
|
id: `p2_${id}`,
|
203
164
|
crs: m,
|
@@ -206,18 +167,14 @@ const ColorButtons = props => {
|
|
206
167
|
classes: classes,
|
207
168
|
activeColor: activeColor
|
208
169
|
}, `si_btn_${m}_${i}`);
|
209
|
-
})
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
alt: "color wheel"
|
218
|
-
})
|
219
|
-
}) : null]
|
220
|
-
})
|
170
|
+
})
|
171
|
+
}), forMiniTool ? /*#__PURE__*/_jsx(IconButton, {
|
172
|
+
onClick: onColorPickerClick,
|
173
|
+
children: /*#__PURE__*/_jsx("img", {
|
174
|
+
src: ColorPicker,
|
175
|
+
alt: "color wheel"
|
176
|
+
})
|
177
|
+
}) : null]
|
221
178
|
})]
|
222
179
|
});
|
223
180
|
};
|
@@ -60,28 +60,4 @@
|
|
60
60
|
padding: 0 15px !important;
|
61
61
|
width: 60px !important;
|
62
62
|
flex-shrink: 0;
|
63
|
-
}
|
64
|
-
|
65
|
-
|
66
|
-
.singleColorTitleWrapper {
|
67
|
-
display: flex;
|
68
|
-
justify-content: space-between;
|
69
|
-
align-items: center;
|
70
|
-
padding: 10px;
|
71
|
-
width: 100%;
|
72
|
-
border-bottom: 1px solid #DCE4EC;
|
73
|
-
}
|
74
|
-
|
75
|
-
.singleColorTitleWrapper .MuiTypography-root {
|
76
|
-
font-weight: 600;
|
77
|
-
}
|
78
|
-
|
79
|
-
.singleColorTitleWrapper .editBtn {
|
80
|
-
text-transform: none;
|
81
|
-
color: #2563EB;
|
82
|
-
text-decoration: underline;
|
83
|
-
padding: 0px;
|
84
|
-
min-width: unset;
|
85
|
-
cursor: pointer;
|
86
|
-
font-size: 14px;
|
87
|
-
}
|
63
|
+
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
2
|
import { ReactEditor } from "slate-react";
|
3
3
|
import { Transforms } from "slate";
|
4
|
+
import ColorPickerTool from "react-gcolor-picker";
|
4
5
|
import { IconButton, Tooltip, Box, Popover } from "@mui/material";
|
5
6
|
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions";
|
6
7
|
import ColorButtons from "./ColorButtons";
|
@@ -8,7 +9,6 @@ import ColorPickerStyles from "./Styles";
|
|
8
9
|
import colorWheel from "./colorWheel.png";
|
9
10
|
import "./ColorPicker.css";
|
10
11
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
11
|
-
import CustomColorPicker from "../../common/CustomColorPicker";
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
13
13
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
14
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -95,10 +95,10 @@ const ColorPicker = props => {
|
|
95
95
|
horizontal: "top"
|
96
96
|
},
|
97
97
|
sx: classes.colorPickerPopup,
|
98
|
-
children: /*#__PURE__*/_jsx(
|
98
|
+
children: /*#__PURE__*/_jsx(ColorPickerTool, {
|
99
99
|
gradient: true,
|
100
|
-
|
101
|
-
|
100
|
+
value: activeColor,
|
101
|
+
onChange: handleFormSubmit
|
102
102
|
})
|
103
103
|
})]
|
104
104
|
});
|
@@ -15,8 +15,7 @@ const ColorPickerStyles = theme => ({
|
|
15
15
|
colorPopper: {
|
16
16
|
"& .MuiPaper-root": {
|
17
17
|
backgroundColor: theme?.palette?.editor?.background,
|
18
|
-
|
19
|
-
"@media only screen and (max-width: 600px)": {
|
18
|
+
'@media only screen and (max-width: 600px)': {
|
20
19
|
marginTop: "-40px"
|
21
20
|
}
|
22
21
|
}
|
@@ -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__*/_jsx(RadioGroup, {
|
75
75
|
name: "set timing",
|
76
76
|
value: schedule,
|
77
77
|
defaultValue: 1,
|
78
|
-
children:
|
78
|
+
children: /*#__PURE__*/_jsx(FormControlLabel, {
|
79
79
|
value: "immediately",
|
80
80
|
label: "Immediately",
|
81
81
|
onChange: () => {
|
@@ -84,16 +84,7 @@ const FormWorkflow = props => {
|
|
84
84
|
control: /*#__PURE__*/_jsx(Radio, {
|
85
85
|
size: "small"
|
86
86
|
})
|
87
|
-
})
|
88
|
-
value: "after",
|
89
|
-
label: "After",
|
90
|
-
onChange: () => {
|
91
|
-
setSchedule("after");
|
92
|
-
},
|
93
|
-
control: /*#__PURE__*/_jsx(Radio, {
|
94
|
-
size: "small"
|
95
|
-
})
|
96
|
-
})]
|
87
|
+
})
|
97
88
|
})
|
98
89
|
}), schedule === "after" && /*#__PURE__*/_jsx(Grid, {
|
99
90
|
item: true,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
2
2
|
import React, { useState } from "react";
|
3
|
-
import { Transforms, Path
|
3
|
+
import { Transforms, Path } from "slate";
|
4
4
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
5
5
|
import { IconButton, Tooltip, Grid as GridContainer } from "@mui/material";
|
6
6
|
import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
|
@@ -15,7 +15,6 @@ 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";
|
19
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
20
19
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
21
20
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -30,16 +29,11 @@ const GridToolBar = ({
|
|
30
29
|
onAddGridItem,
|
31
30
|
onAddSection,
|
32
31
|
onMoveSection,
|
33
|
-
path
|
34
|
-
isSectionFullWidth
|
32
|
+
path
|
35
33
|
}) => {
|
36
34
|
return selected && !showTool ? /*#__PURE__*/_jsxs("div", {
|
37
35
|
className: "grid-container-toolbar",
|
38
36
|
contentEditable: false,
|
39
|
-
style: isSectionFullWidth ? {
|
40
|
-
right: "4px",
|
41
|
-
top: "4px"
|
42
|
-
} : {},
|
43
37
|
children: [/*#__PURE__*/_jsx(Tooltip, {
|
44
38
|
title: "Grid Settings",
|
45
39
|
arrow: true,
|
@@ -80,19 +74,7 @@ const GridToolBar = ({
|
|
80
74
|
}) : null]
|
81
75
|
}) : null;
|
82
76
|
};
|
83
|
-
const getParentEl = (editor, path) => {
|
84
|
-
try {
|
85
|
-
if (path?.length) {
|
86
|
-
return Node.parent(editor, path);
|
87
|
-
} else {
|
88
|
-
return null;
|
89
|
-
}
|
90
|
-
} catch (err) {
|
91
|
-
return null;
|
92
|
-
}
|
93
|
-
};
|
94
77
|
const Grid = props => {
|
95
|
-
const theme = useTheme();
|
96
78
|
const {
|
97
79
|
attributes,
|
98
80
|
children,
|
@@ -131,11 +113,6 @@ const Grid = props => {
|
|
131
113
|
const selected = hoverPath === path.join(",");
|
132
114
|
const [showTool] = useEditorSelection(editor);
|
133
115
|
const [size] = useWindowResize();
|
134
|
-
const parentElement = getParentEl(editor, path);
|
135
|
-
const {
|
136
|
-
sectionGridSize
|
137
|
-
} = parentElement || {};
|
138
|
-
const isSectionFullWidth = sectionGridSize && sectionGridSize[size?.device] >= 12;
|
139
116
|
const onAddGridItem = () => {
|
140
117
|
const currentPath = editor.selection?.anchor?.path;
|
141
118
|
const ancestorsPath = Path.ancestors(currentPath, {
|
@@ -350,8 +327,7 @@ const Grid = props => {
|
|
350
327
|
onAddGridItem: onAddGridItem,
|
351
328
|
onAddSection: onAddSection,
|
352
329
|
onMoveSection: onMoveSection,
|
353
|
-
path: path
|
354
|
-
isSectionFullWidth: isSectionFullWidth
|
330
|
+
path: path
|
355
331
|
})]
|
356
332
|
}), openSetttings ? /*#__PURE__*/_jsx(PoupComp, {
|
357
333
|
element: element,
|