@flozy/editor 4.9.5 → 4.9.7
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Editor/ChatEditor.js +25 -34
- package/dist/Editor/CommonEditor.js +5 -2
- package/dist/Editor/Editor.css +4 -4
- package/dist/Editor/Elements/AI/AIInput.js +0 -1
- package/dist/Editor/Elements/Grid/Grid.js +1 -1
- package/dist/Editor/Elements/Grid/Providers/GridProvider.js +27 -5
- package/dist/Editor/Elements/Grid/Styles.js +9 -0
- package/dist/Editor/Elements/Signature/SignaturePopup.js +1 -1
- package/dist/Editor/Elements/SimpleText/index.js +8 -1
- package/dist/Editor/Elements/SimpleText/style.js +3 -1
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +2 -0
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +2 -0
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +108 -11
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +47 -0
- package/dist/Editor/assets/svg/BrainIcon.js +2 -2
- package/dist/Editor/common/ColorPickerButton.js +3 -2
- package/dist/Editor/common/FontLoader/FontLoader.js +8 -5
- package/dist/Editor/common/MentionsPopup/Styles.js +14 -9
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +4 -1
- package/dist/Editor/common/RnD/index.js +1 -1
- package/dist/Editor/common/Section/index.js +18 -11
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +79 -0
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +4 -0
- package/dist/Editor/commonStyle.js +6 -2
- package/dist/Editor/helper/theme.js +24 -1
- package/dist/Editor/hooks/useMouseMove.js +5 -2
- package/dist/Editor/utils/brains.js +40 -14
- package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +14 -0
- package/dist/Editor/utils/events.js +0 -1
- package/dist/Editor/utils/pageSettings.js +14 -2
- package/dist/Editor/utils/serializeToText.js +2 -0
- package/package.json +1 -1
@@ -1,9 +1,8 @@
|
|
1
1
|
import React, { useCallback, useMemo, useRef, useState, useEffect, useImperativeHandle, forwardRef } from "react";
|
2
2
|
import { Editable, Slate, ReactEditor } from 'slate-react';
|
3
3
|
import { createEditor, Transforms, Editor } from 'slate';
|
4
|
-
import { useDebounce } from "use-debounce";
|
5
4
|
import withCommon from "./hooks/withCommon";
|
6
|
-
import { getBlock, getMarked } from "./utils/chatEditor/SlateUtilityFunctions";
|
5
|
+
import { getBlock, getMarked, serializeMentions } from "./utils/chatEditor/SlateUtilityFunctions";
|
7
6
|
import MiniTextFormat from "./Toolbar/PopupTool/MiniTextFormat";
|
8
7
|
import { commands, mentionsEvent } from "./utils/events";
|
9
8
|
import { insertEmoji } from "./utils/emoji";
|
@@ -15,6 +14,7 @@ import Shorthands from "./common/Shorthands";
|
|
15
14
|
import usePopupStyle from "./Toolbar/PopupTool/PopupToolStyle";
|
16
15
|
import { EditorProvider } from "./hooks/useMouseMove";
|
17
16
|
import decorators from "./utils/Decorators";
|
17
|
+
import { useDebouncedCallback } from "use-debounce";
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
19
19
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
20
20
|
const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
@@ -42,8 +42,18 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
42
42
|
});
|
43
43
|
const [isInteracted, setIsInteracted] = useState(false);
|
44
44
|
const [value, setValue] = useState(convertedContent);
|
45
|
-
const
|
46
|
-
const
|
45
|
+
const debouncedValue = useRef(value);
|
46
|
+
const debounced = useDebouncedCallback(
|
47
|
+
// function
|
48
|
+
value => {
|
49
|
+
const {
|
50
|
+
value: strVal,
|
51
|
+
...restVal
|
52
|
+
} = getOnSaveData(value);
|
53
|
+
onSave(strVal, restVal);
|
54
|
+
},
|
55
|
+
// delay in ms
|
56
|
+
500);
|
47
57
|
const editor = useMemo(() => {
|
48
58
|
return withCommon(createEditor(), {
|
49
59
|
needLayout,
|
@@ -63,7 +73,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
63
73
|
const {
|
64
74
|
value: strVal,
|
65
75
|
...restVal
|
66
|
-
} = getOnSaveData(
|
76
|
+
} = getOnSaveData(debouncedValue?.current);
|
67
77
|
onsubmit(false, {
|
68
78
|
strVal,
|
69
79
|
restVal
|
@@ -99,7 +109,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
99
109
|
const newValue = draftToSlate({
|
100
110
|
data: content
|
101
111
|
});
|
102
|
-
|
112
|
+
debounced(newValue);
|
113
|
+
|
103
114
|
// setTimeout(() => {
|
104
115
|
if (editor.children.length === 0) {
|
105
116
|
Transforms.insertNodes(editor, newValue);
|
@@ -112,27 +123,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
112
123
|
}
|
113
124
|
}
|
114
125
|
}));
|
115
|
-
|
116
|
-
// useEffect(() => {
|
117
|
-
// setIsExternalUpdate(true);
|
118
|
-
// setValue(draftToSlate({ data: content }));
|
119
|
-
// }, [content]);
|
120
|
-
|
121
|
-
useEffect(() => {
|
122
|
-
if (JSON.stringify(loadedValue) !== JSON.stringify(deboundedValue) && isInteracted && onSave) {
|
123
|
-
const {
|
124
|
-
value: strVal,
|
125
|
-
...restVal
|
126
|
-
} = getOnSaveData(deboundedValue);
|
127
|
-
onSave(strVal, restVal);
|
128
|
-
}
|
129
|
-
}, [deboundedValue]);
|
130
126
|
const getOnSaveData = val => {
|
131
127
|
const text = serializeToText(val);
|
128
|
+
const mentions = serializeMentions(val);
|
132
129
|
const title = val?.find(f => f.type === "title");
|
133
130
|
return {
|
134
131
|
value: JSON.stringify(val),
|
135
132
|
text: text,
|
133
|
+
mentions: mentions,
|
136
134
|
title: serializeToText(title?.children) || "Untitled"
|
137
135
|
};
|
138
136
|
};
|
@@ -180,15 +178,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
180
178
|
});
|
181
179
|
};
|
182
180
|
const handleEditorChange = newValue => {
|
183
|
-
|
184
|
-
|
185
|
-
const {
|
186
|
-
value: strVal,
|
187
|
-
...restVal
|
188
|
-
} = getOnSaveData(newValue);
|
189
|
-
onSave(strVal, restVal);
|
190
|
-
}
|
191
|
-
setValue(newValue);
|
181
|
+
debounced(newValue);
|
182
|
+
debouncedValue.current = newValue;
|
192
183
|
if (!isInteracted) {
|
193
184
|
setIsInteracted(true);
|
194
185
|
}
|
@@ -228,7 +219,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
228
219
|
editor
|
229
220
|
});
|
230
221
|
} else if (event.key === "Enter" && !isMobile) {
|
231
|
-
const isEmpty =
|
222
|
+
const isEmpty = debouncedValue?.current.length === 1 && debouncedValue?.current[0].type === 'paragraph' && debouncedValue?.current[0].children.length === 1 && debouncedValue?.current[0].children[0].text === '';
|
232
223
|
if (isEmpty) {
|
233
224
|
event.preventDefault();
|
234
225
|
return;
|
@@ -237,7 +228,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
237
228
|
const {
|
238
229
|
value: strVal,
|
239
230
|
...restVal
|
240
|
-
} = getOnSaveData(
|
231
|
+
} = getOnSaveData(debouncedValue?.current);
|
241
232
|
onsubmit(false, {
|
242
233
|
strVal,
|
243
234
|
restVal
|
@@ -251,7 +242,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
251
242
|
const {
|
252
243
|
value: strVal,
|
253
244
|
...restVal
|
254
|
-
} = getOnSaveData(
|
245
|
+
} = getOnSaveData(debouncedValue?.current);
|
255
246
|
onBlur({
|
256
247
|
strVal,
|
257
248
|
restVal
|
@@ -272,7 +263,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
272
263
|
editor: editor,
|
273
264
|
children: /*#__PURE__*/_jsxs(Slate, {
|
274
265
|
editor: editor,
|
275
|
-
initialValue:
|
266
|
+
initialValue: debouncedValue?.current,
|
276
267
|
onChange: handleEditorChange,
|
277
268
|
children: [toolBar && /*#__PURE__*/_jsx(MiniTextFormat, {
|
278
269
|
classes: classes,
|
@@ -26,7 +26,7 @@ import editorStyles from "./Styles/EditorStyles";
|
|
26
26
|
import DragAndDrop from "./common/DnD";
|
27
27
|
import Section from "./common/Section";
|
28
28
|
import decorators from "./utils/Decorators";
|
29
|
-
import { getTRBLBreakPoints } from "./helper/theme";
|
29
|
+
import { getBreakpointLineSpacing, getTRBLBreakPoints } from "./helper/theme";
|
30
30
|
import { handleInsertLastElement, isFreeGrid, isFreeGridFragment, isPageSettings, outsideEditorClickLabel } from "./utils/helper";
|
31
31
|
import useWindowResize from "./hooks/useWindowResize";
|
32
32
|
import PopoverAIInput from "./Elements/AI/PopoverAIInput";
|
@@ -130,7 +130,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
130
130
|
pageColor,
|
131
131
|
color: pageTextColor,
|
132
132
|
pageWidth,
|
133
|
-
maxWidth: pageMaxWidth
|
133
|
+
maxWidth: pageMaxWidth,
|
134
|
+
lineHeight
|
134
135
|
} = pageSt?.pageProps || {
|
135
136
|
bannerSpacing: {
|
136
137
|
left: 0,
|
@@ -317,6 +318,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
317
318
|
onDrawerOpen: onDrawerOpen,
|
318
319
|
ICON_API: "https://assets.agenciflow.com"
|
319
320
|
};
|
321
|
+
const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
|
320
322
|
const renderElement = useCallback(props => {
|
321
323
|
return /*#__PURE__*/_jsx(Element, {
|
322
324
|
...props,
|
@@ -522,6 +524,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
522
524
|
padding: {
|
523
525
|
...getTRBLBreakPoints(bannerSpacing)
|
524
526
|
},
|
527
|
+
lineHeight: lineH,
|
525
528
|
width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
|
526
529
|
height: viewport.h ? `${viewport.h}px` : `100%`,
|
527
530
|
alignSelf: "center",
|
package/dist/Editor/Editor.css
CHANGED
@@ -399,7 +399,7 @@ blockquote {
|
|
399
399
|
align-items: center;
|
400
400
|
border-width: 0px, 0px, 0px, 0px;
|
401
401
|
border-style: solid;
|
402
|
-
border-color: #
|
402
|
+
border-color: #2563EB66;
|
403
403
|
justify-content: center;
|
404
404
|
flex-direction: column;
|
405
405
|
width: 100%;
|
@@ -492,9 +492,9 @@ blockquote {
|
|
492
492
|
|
493
493
|
.MuiButton-root.primaryBtn.disabled,
|
494
494
|
.MuiButton-root.secondaryBtn.disabled {
|
495
|
-
background: #eee
|
496
|
-
color: #ccc
|
497
|
-
border: 1px solid #ccc
|
495
|
+
background: #eee;
|
496
|
+
color: #ccc;
|
497
|
+
border: 1px solid #ccc;
|
498
498
|
}
|
499
499
|
|
500
500
|
.MuiButton-root.secondaryBtn {
|
@@ -71,7 +71,6 @@ function AIInput({
|
|
71
71
|
}, [openAI]);
|
72
72
|
const isSendBtnDisabled = !inputValue || loading;
|
73
73
|
const props = getProps(openAI, generatedText) || {};
|
74
|
-
const fromToolBar = openAI === "fromToolBar";
|
75
74
|
const handleSendBtnClick = () => {
|
76
75
|
if (isSendBtnDisabled) {
|
77
76
|
return;
|
@@ -312,7 +312,7 @@ const Grid = props => {
|
|
312
312
|
return /*#__PURE__*/_jsx(GridProvider, {
|
313
313
|
children: /*#__PURE__*/_jsxs(GridContainer, {
|
314
314
|
container: true,
|
315
|
-
className: `grid-container ${grid} has-hover element-root dpath ${equalItems ? "equal-cols" : ""}`,
|
315
|
+
className: `grid-container ${grid} has-hover element-root dpath ${equalItems ? "equal-cols" : ""} cc-${element?.children?.length}`,
|
316
316
|
...attributes,
|
317
317
|
...sectionId,
|
318
318
|
sx: {
|
@@ -13,12 +13,25 @@ const getAdjacentColumnPath = (editor, currentPath, direction = "next") => {
|
|
13
13
|
|
14
14
|
// Ensure the adjacent index is valid
|
15
15
|
if (adjacentIndex < 0 || adjacentIndex >= gridNode.children.length) {
|
16
|
-
return
|
16
|
+
return {
|
17
|
+
parentPath
|
18
|
+
}; // No adjacent column exists in the given direction
|
17
19
|
}
|
18
20
|
|
19
|
-
return
|
21
|
+
return {
|
22
|
+
parentPath: [...parentPath],
|
23
|
+
rightColPath: [...parentPath, adjacentIndex]
|
24
|
+
}; // Return the adjacent column's path
|
20
25
|
};
|
21
26
|
|
27
|
+
const isSingleColumn = (editor, parentPath) => {
|
28
|
+
try {
|
29
|
+
const gridNode = Node.get(editor, parentPath);
|
30
|
+
return gridNode?.children?.length === 1;
|
31
|
+
} catch (err) {
|
32
|
+
console.log(err);
|
33
|
+
}
|
34
|
+
};
|
22
35
|
export const GridProvider = ({
|
23
36
|
children
|
24
37
|
}) => {
|
@@ -28,7 +41,10 @@ export const GridProvider = ({
|
|
28
41
|
const initColumnWidth = (currentColPath = [], currentMinWidth = 0) => {
|
29
42
|
try {
|
30
43
|
let right = 0;
|
31
|
-
const
|
44
|
+
const {
|
45
|
+
parentPath,
|
46
|
+
rightColPath
|
47
|
+
} = getAdjacentColumnPath(editor, currentColPath);
|
32
48
|
if (rightColPath) {
|
33
49
|
const parentPath = Path.parent(rightColPath); // Get the parent grid path
|
34
50
|
const gridNode = Node.get(editor, parentPath);
|
@@ -41,7 +57,8 @@ export const GridProvider = ({
|
|
41
57
|
left: currentMinWidth,
|
42
58
|
right,
|
43
59
|
rightPath: rightColPath?.join(),
|
44
|
-
rightIndex: rightColPath
|
60
|
+
rightIndex: rightColPath,
|
61
|
+
parentPath: parentPath
|
45
62
|
});
|
46
63
|
} catch (err) {
|
47
64
|
console.log(err);
|
@@ -56,7 +73,12 @@ export const GridProvider = ({
|
|
56
73
|
// logic to update right column width
|
57
74
|
const right = columnWidths?.right - (data?.left - columnWidths?.left);
|
58
75
|
const diff = right !== widths?.right;
|
59
|
-
if (
|
76
|
+
if (isSingleColumn(editor, columnWidths?.parentPath) && data?.left <= 100) {
|
77
|
+
setWidths({
|
78
|
+
...data,
|
79
|
+
right: right
|
80
|
+
});
|
81
|
+
} else if (right && right > 10 && data?.left > 10 && diff) {
|
60
82
|
setWidths({
|
61
83
|
...data,
|
62
84
|
right: right
|
@@ -23,6 +23,15 @@ const GridStyles = theme => ({
|
|
23
23
|
flexWrap: "wrap"
|
24
24
|
}
|
25
25
|
},
|
26
|
+
"&.cc-1": {
|
27
|
+
"& .grid-item": {
|
28
|
+
"&:last-child": {
|
29
|
+
"& .col-width-resizer": {
|
30
|
+
display: "block !important"
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
},
|
26
35
|
"& .grid-item": {
|
27
36
|
minWidth: "var(--minWidth)",
|
28
37
|
maxWidth: "var(--minWidth)",
|
@@ -516,7 +516,7 @@ const SignaturePopup = props => {
|
|
516
516
|
children: "Delete"
|
517
517
|
}) : null, /*#__PURE__*/_jsx(Button, {
|
518
518
|
onClick: handleSave,
|
519
|
-
className: `primaryBtn actionBtn ${isEmpty ? "disabled" : ""}`,
|
519
|
+
className: `primaryBtn actionBtn ${isEmpty ? "disabled disabledSaveBtn" : ""}`,
|
520
520
|
disabled: isEmpty,
|
521
521
|
children: "Save"
|
522
522
|
})]
|
@@ -5,6 +5,7 @@ import { getPageSettings } from "../../utils/pageSettings";
|
|
5
5
|
import { isTextSelected } from "../../utils/helper";
|
6
6
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
7
7
|
import SimpleTextStyle from "./style";
|
8
|
+
import { getBreakpointLineSpacing } from "../../helper/theme";
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
9
10
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
10
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -32,8 +33,14 @@ const SimpleText = props => {
|
|
32
33
|
const {
|
33
34
|
pageColor
|
34
35
|
} = pageSt?.pageProps || {};
|
36
|
+
const {
|
37
|
+
activeBreakPoint
|
38
|
+
} = useEditorContext();
|
39
|
+
const lineHeight = element?.children[0]?.lineHeight;
|
40
|
+
const lineH = getBreakpointLineSpacing(lineHeight, activeBreakPoint);
|
35
41
|
const classes = SimpleTextStyle({
|
36
|
-
pageColor: pageColor || theme?.palette?.editor?.background || "#FFFFFF"
|
42
|
+
pageColor: pageColor || theme?.palette?.editor?.background || "#FFFFFF",
|
43
|
+
lineHeight: lineH
|
37
44
|
});
|
38
45
|
const selected = useSelected();
|
39
46
|
const path = ReactEditor.findPath(editor, element);
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { invertColor } from "../../helper";
|
2
2
|
const SimpleTextStyle = ({
|
3
|
-
pageColor
|
3
|
+
pageColor,
|
4
|
+
lineHeight
|
4
5
|
}) => ({
|
5
6
|
root: {
|
6
7
|
position: "relative",
|
7
8
|
padding: "0px",
|
9
|
+
lineHeight: lineHeight,
|
8
10
|
"& .placeholder-simple-text": {
|
9
11
|
color: "#94A3B8",
|
10
12
|
background: "transparent",
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
2
2
|
import { Select, MenuItem } from "@mui/material";
|
3
3
|
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
|
4
4
|
import { fontFamilyMap } from "../../utils/font";
|
5
|
+
import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownRounded';
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
7
|
const Dropdown = ({
|
7
8
|
classes,
|
@@ -29,6 +30,7 @@ const Dropdown = ({
|
|
29
30
|
}
|
30
31
|
},
|
31
32
|
sx: classes.textFormatSelect,
|
33
|
+
IconComponent: KeyboardArrowDownRoundedIcon,
|
32
34
|
children: options.map((item, index) => /*#__PURE__*/_jsx(MenuItem
|
33
35
|
// style={{ fontFamily: item.text }}
|
34
36
|
, {
|
@@ -3,6 +3,7 @@ import { Autocomplete, TextField } from "@mui/material";
|
|
3
3
|
import { activeMark, addMarkData } from "../../utils/SlateUtilityFunctions.js";
|
4
4
|
import usePopupStyle from "../PopupTool/PopupToolStyle.js";
|
5
5
|
import { useEditorContext } from "../../hooks/useMouseMove.js";
|
6
|
+
import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownRounded';
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
7
8
|
const FontFamilyAutocomplete = ({
|
8
9
|
editor,
|
@@ -57,6 +58,7 @@ const FontFamilyAutocomplete = ({
|
|
57
58
|
children: option
|
58
59
|
});
|
59
60
|
},
|
61
|
+
popupIcon: /*#__PURE__*/_jsx(KeyboardArrowDownRoundedIcon, {}),
|
60
62
|
renderInput: params => /*#__PURE__*/_jsx(TextField, {
|
61
63
|
sx: {
|
62
64
|
"& .MuiInputBase-root.MuiOutlinedInput-root": {
|
@@ -96,8 +96,29 @@ const usePopupStyle = theme => ({
|
|
96
96
|
width: "100%",
|
97
97
|
maxHeight: "fit-content"
|
98
98
|
},
|
99
|
+
"& .MuiTab-root": {
|
100
|
+
textTransform: "capitalize",
|
101
|
+
color: "#64748B",
|
102
|
+
borderBottom: `1.5px solid ${theme?.palette?.editor?.deviderBgColor}`
|
103
|
+
},
|
104
|
+
"& .Mui-selected": {
|
105
|
+
color: `${theme?.palette?.editor?.textColor} !important`,
|
106
|
+
fontWeight: "700 !important"
|
107
|
+
},
|
108
|
+
"& .MuiTabs-indicator": {
|
109
|
+
background: "#2563EB"
|
110
|
+
},
|
111
|
+
"& .MuiTabScrollButton-horizontal": {
|
112
|
+
borderBottom: "unset !important"
|
113
|
+
},
|
99
114
|
"@media only screen and (max-width: 599px)": {
|
100
115
|
width: "330px"
|
116
|
+
},
|
117
|
+
"& .MuiCardContent-root": {
|
118
|
+
color: theme?.palette?.editor?.textColor,
|
119
|
+
fontFamily: "Inter, sans-serif",
|
120
|
+
fontSize: "12px",
|
121
|
+
fontWeight: "500"
|
101
122
|
}
|
102
123
|
},
|
103
124
|
"& .headerContainer": {},
|
@@ -122,6 +143,38 @@ const usePopupStyle = theme => ({
|
|
122
143
|
fill: theme?.palette?.type === "dark" ? "none" : ""
|
123
144
|
}
|
124
145
|
},
|
146
|
+
"& .signatureElementIcon": {
|
147
|
+
"& path": {
|
148
|
+
fill: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
149
|
+
}
|
150
|
+
},
|
151
|
+
"& .commonSvgStyle": {
|
152
|
+
"& path": {
|
153
|
+
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
154
|
+
}
|
155
|
+
},
|
156
|
+
"& .commonSvgStyle2": {
|
157
|
+
"& path": {
|
158
|
+
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
159
|
+
}
|
160
|
+
},
|
161
|
+
"& .colorBoxElementIcon": {
|
162
|
+
"& path": {
|
163
|
+
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke}`,
|
164
|
+
fill: "none"
|
165
|
+
}
|
166
|
+
},
|
167
|
+
"& .gridElementIcon": {
|
168
|
+
"& path": {
|
169
|
+
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke}`,
|
170
|
+
fill: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
171
|
+
}
|
172
|
+
},
|
173
|
+
"& .newLineElementIcon": {
|
174
|
+
"& path": {
|
175
|
+
fill: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
176
|
+
}
|
177
|
+
},
|
125
178
|
"&:hover": {
|
126
179
|
backgroundColor: `${theme?.palette?.editor?.menuOptionSelectedOption} !important`,
|
127
180
|
"& .signatureElementIcon": {
|
@@ -194,6 +247,11 @@ const usePopupStyle = theme => ({
|
|
194
247
|
},
|
195
248
|
"@media only screen and (max-width: 599px)": {
|
196
249
|
width: "330px"
|
250
|
+
},
|
251
|
+
"& .textFormatMUIIcon": {
|
252
|
+
"& svg": {
|
253
|
+
color: theme?.palette?.editor?.closeButtonSvgStroke
|
254
|
+
}
|
197
255
|
}
|
198
256
|
},
|
199
257
|
textFormatLabel: {
|
@@ -290,9 +348,10 @@ const usePopupStyle = theme => ({
|
|
290
348
|
autoCompleteaFontFamily: {
|
291
349
|
"& .MuiOutlinedInput-root": {
|
292
350
|
borderRadius: "8px",
|
293
|
-
backgroundColor: `${theme?.palette?.editor?.inputFieldBgColor}
|
351
|
+
backgroundColor: `${theme?.palette?.editor?.inputFieldBgColor}`,
|
294
352
|
fontSize: "14px",
|
295
|
-
height: "36px"
|
353
|
+
height: "36px",
|
354
|
+
paddingLeft: "15px !important"
|
296
355
|
},
|
297
356
|
"& .MuiOutlinedInput-notchedOutline": {
|
298
357
|
border: `1px solid ${theme?.palette?.editor?.inputFieldBorder} !important`
|
@@ -470,7 +529,8 @@ const usePopupStyle = theme => ({
|
|
470
529
|
},
|
471
530
|
"& .colorPicker": {
|
472
531
|
background: theme?.palette?.editor?.inputFieldBgColor,
|
473
|
-
borderRadius: "0px 7px 7px 0px"
|
532
|
+
borderRadius: "0px 7px 7px 0px",
|
533
|
+
padding: "0px"
|
474
534
|
},
|
475
535
|
"& .vl": {
|
476
536
|
background: theme?.palette?.editor?.borderColor,
|
@@ -511,7 +571,8 @@ const usePopupStyle = theme => ({
|
|
511
571
|
},
|
512
572
|
"& .colorPicker": {
|
513
573
|
background: theme?.palette?.editor?.inputFieldBgColor,
|
514
|
-
borderRadius: "0px 7px 7px 0px"
|
574
|
+
borderRadius: "0px 7px 7px 0px",
|
575
|
+
padding: "0px"
|
515
576
|
},
|
516
577
|
"& .vl": {
|
517
578
|
background: theme?.palette?.editor?.borderColor,
|
@@ -696,8 +757,11 @@ const usePopupStyle = theme => ({
|
|
696
757
|
}
|
697
758
|
},
|
698
759
|
"& .default-color-panel": {
|
760
|
+
gridTemplateColumns: "repeat(auto-fill, 24px)",
|
699
761
|
"& .default-color-panel_item": {
|
700
|
-
borderRadius: "50%"
|
762
|
+
borderRadius: "50%",
|
763
|
+
width: "16px",
|
764
|
+
height: "16px"
|
701
765
|
}
|
702
766
|
}
|
703
767
|
},
|
@@ -818,17 +882,18 @@ const usePopupStyle = theme => ({
|
|
818
882
|
"& .MuiPopover-paper": {
|
819
883
|
maxHeight: "140px",
|
820
884
|
// minWidth: "130px",
|
821
|
-
border: "1px solid #E4E8EB",
|
822
|
-
background: `${theme?.palette?.editor?.
|
885
|
+
// border: "1px solid #E4E8EB",
|
886
|
+
background: `${theme?.palette?.editor?.textWeightPopUpBackground} !important`,
|
823
887
|
overflowY: "scroll",
|
824
|
-
padding: "
|
888
|
+
padding: "3px 12px 8px 2px",
|
889
|
+
borderRadius: "8px",
|
825
890
|
"@media only screen and (max-width: 600px)": {
|
826
891
|
marginTop: "-40px"
|
827
892
|
}
|
828
893
|
},
|
829
894
|
"& .customSelectOptionLabel": {
|
830
895
|
color: theme?.palette?.editor?.textColor || "black",
|
831
|
-
margin: "
|
896
|
+
margin: "6px 6px 0px 6px",
|
832
897
|
width: "100%",
|
833
898
|
justifyContent: "start",
|
834
899
|
paddingRight: "20px",
|
@@ -841,8 +906,40 @@ const usePopupStyle = theme => ({
|
|
841
906
|
background: `${theme?.palette?.action?.selected} !important`
|
842
907
|
},
|
843
908
|
"&.selected": {
|
844
|
-
color:
|
845
|
-
background:
|
909
|
+
color: `${theme?.palette?.editor?.menuOptionTextColor} !important`,
|
910
|
+
background: `${theme?.palette?.editor?.menuOptionSelectedOption} !important`,
|
911
|
+
"& .orderedListIcon": {
|
912
|
+
"& path": {
|
913
|
+
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
914
|
+
},
|
915
|
+
"& text": {
|
916
|
+
fill: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
917
|
+
}
|
918
|
+
},
|
919
|
+
"& .bulletedListTextIcon": {
|
920
|
+
"& path": {
|
921
|
+
fill: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`,
|
922
|
+
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
923
|
+
},
|
924
|
+
"& circle": {
|
925
|
+
fill: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
926
|
+
}
|
927
|
+
},
|
928
|
+
"& .checkedListTextIcon": {
|
929
|
+
"& path": {
|
930
|
+
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
931
|
+
}
|
932
|
+
},
|
933
|
+
"& .accordianIconSvgTextFormat": {
|
934
|
+
"& path": {
|
935
|
+
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor} !important`
|
936
|
+
}
|
937
|
+
},
|
938
|
+
"& .textAlignIconSameStyles": {
|
939
|
+
"& path": {
|
940
|
+
fill: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
941
|
+
}
|
942
|
+
}
|
846
943
|
}
|
847
944
|
},
|
848
945
|
"& .menuOptions": {
|
@@ -14,6 +14,8 @@ import SelectSuperSubscript from "./MiniTextFormat/SelectSuperSubscript";
|
|
14
14
|
import { ColorResetIcon, TextDefaultStyleIcon } from "../../common/iconListV2";
|
15
15
|
import FontFamilyAutocomplete from "../FormatTools/FontFamilyAutocomplete";
|
16
16
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
17
|
+
import LineSpacing from "../../common/StyleBuilder/fieldTypes/lineSpacing";
|
18
|
+
import { getPageSettings } from "../../utils/pageSettings";
|
17
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
18
20
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
19
21
|
const allTools = toolbarGroups.flat();
|
@@ -35,6 +37,14 @@ const TextFormat = props => {
|
|
35
37
|
fontFamilies,
|
36
38
|
theme
|
37
39
|
} = useEditorContext();
|
40
|
+
const {
|
41
|
+
element: pageSt
|
42
|
+
} = getPageSettings(editor) || {};
|
43
|
+
const pageSettingLine = pageSt?.pageProps?.lineHeight;
|
44
|
+
const {
|
45
|
+
activeBreakPoint
|
46
|
+
} = useEditorContext();
|
47
|
+
const breakpoint = activeBreakPoint === "" ? "lg" : activeBreakPoint;
|
38
48
|
const fontWeight = allTools.find(f => f.format === "fontWeight");
|
39
49
|
const fontStyle = allTools.filter(f => f.type === "mark" && f.format !== "strikethrough" && f.format !== "superscript" && f.format !== "subscript");
|
40
50
|
const fontAlign = allTools.filter(f => f.format?.indexOf("align") >= 0);
|
@@ -51,6 +61,8 @@ const TextFormat = props => {
|
|
51
61
|
color: "",
|
52
62
|
bgColor: ""
|
53
63
|
};
|
64
|
+
let lineSpacingValue = activeMark(editor, 'lineHeight');
|
65
|
+
lineSpacingValue = lineSpacingValue?.[breakpoint] !== undefined ? lineSpacingValue : pageSettingLine;
|
54
66
|
const handleColorPicker = type => e => {
|
55
67
|
setType(type);
|
56
68
|
setAnchorEl(e.currentTarget);
|
@@ -90,6 +102,13 @@ const TextFormat = props => {
|
|
90
102
|
value
|
91
103
|
});
|
92
104
|
};
|
105
|
+
const handleLineSpacing = data => {
|
106
|
+
const [[format, value]] = Object.entries(data);
|
107
|
+
addMarkData(editor, {
|
108
|
+
format,
|
109
|
+
value
|
110
|
+
});
|
111
|
+
};
|
93
112
|
return /*#__PURE__*/_jsxs(Grid, {
|
94
113
|
container: true,
|
95
114
|
sx: classes.textFormatWrapper,
|
@@ -125,6 +144,7 @@ const TextFormat = props => {
|
|
125
144
|
item: true,
|
126
145
|
xs: 12,
|
127
146
|
sx: classes.textFormatField,
|
147
|
+
className: "textFormatMUIIcon",
|
128
148
|
children: /*#__PURE__*/_jsx(FontFamilyAutocomplete, {
|
129
149
|
classes: classes,
|
130
150
|
...fontFamilies,
|
@@ -147,6 +167,7 @@ const TextFormat = props => {
|
|
147
167
|
item: true,
|
148
168
|
xs: 12,
|
149
169
|
sx: classes.textFormatField3,
|
170
|
+
className: "textFormatMUIIcon",
|
150
171
|
children: /*#__PURE__*/_jsx(Dropdown, {
|
151
172
|
classes: classes,
|
152
173
|
...fontWeight,
|
@@ -355,6 +376,32 @@ const TextFormat = props => {
|
|
355
376
|
xs: 12,
|
356
377
|
sx: classes.dividerGrid,
|
357
378
|
children: /*#__PURE__*/_jsx(Divider, {})
|
379
|
+
}), /*#__PURE__*/_jsxs(Grid, {
|
380
|
+
item: true,
|
381
|
+
xs: 12,
|
382
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
383
|
+
variant: "body1",
|
384
|
+
color: "primary",
|
385
|
+
sx: classes.typoLabel,
|
386
|
+
children: "Line Spacing"
|
387
|
+
}), /*#__PURE__*/_jsx(Grid, {
|
388
|
+
item: true,
|
389
|
+
xs: 12,
|
390
|
+
className: "typo-icons",
|
391
|
+
sx: classes.evenSpace,
|
392
|
+
children: /*#__PURE__*/_jsx(LineSpacing, {
|
393
|
+
value: lineSpacingValue,
|
394
|
+
onChange: handleLineSpacing,
|
395
|
+
data: {
|
396
|
+
key: 'lineHeight'
|
397
|
+
}
|
398
|
+
})
|
399
|
+
})]
|
400
|
+
}), /*#__PURE__*/_jsx(Grid, {
|
401
|
+
item: true,
|
402
|
+
xs: 12,
|
403
|
+
sx: classes.dividerGrid,
|
404
|
+
children: /*#__PURE__*/_jsx(Divider, {})
|
358
405
|
}), /*#__PURE__*/_jsx(Grid, {
|
359
406
|
item: true,
|
360
407
|
xs: 12,
|
@@ -10,7 +10,7 @@ export const BrainIcon = props => /*#__PURE__*/_jsxs("svg", {
|
|
10
10
|
children: [/*#__PURE__*/_jsxs("g", {
|
11
11
|
clipPath: "url(#clip0_38524_18936)",
|
12
12
|
children: [/*#__PURE__*/_jsx("path", {
|
13
|
-
className: "fillPath",
|
13
|
+
className: "fillPath bainIconPathStroke",
|
14
14
|
d: "M8.15078 4.96816L8.13029 4.87029C8.38386 4.81721 8.52209 4.75657 8.63932 4.61874C8.76419 4.47191 8.87156 4.23078 9.0309 3.78954C9.18008 3.37931 9.477 2.83417 9.67863 2.56953L9.68049 2.56716L9.95913 2.22351L9.77098 2.15114C9.02297 1.86345 7.9649 2.1139 7.18056 2.77932C6.91016 3.01102 6.6078 3.13199 6.31202 3.13199C5.36057 3.13199 4.49148 3.7083 4.23948 4.47574C4.1991 4.5969 4.13233 4.7171 4.05705 4.81246C3.98542 4.90319 3.89342 4.98771 3.79555 5.01531C3.62366 5.07031 3.42593 5.1997 3.22586 5.38165C3.02645 5.56298 2.83073 5.79102 2.66318 6.03401C2.4955 6.27716 2.35797 6.53246 2.27298 6.76757C2.18918 6.99938 2.16076 7.19973 2.19255 7.34719C2.2265 7.34519 2.28443 7.32746 2.36807 7.29046C2.44437 7.25672 2.53178 7.21212 2.62856 7.16274L2.64553 7.15409C2.74788 7.10189 2.85903 7.04555 2.97138 6.99562L2.97543 6.99393C3.33705 6.85186 3.74456 6.81649 4.47819 6.85317C4.98982 6.87755 5.35003 6.92948 5.58432 7.03013C5.70346 7.08131 5.79666 7.14777 5.85948 7.23568C5.92305 7.32463 5.94928 7.42679 5.94928 7.53756C5.94928 7.64781 5.93113 7.74876 5.88078 7.83259C5.82887 7.91902 5.74927 7.97648 5.64775 8.01001C5.54889 8.04266 5.42788 8.05323 5.28597 8.04848C5.14322 8.0437 4.97315 8.02314 4.77318 7.9893C4.3397 7.9121 3.85733 7.90819 3.43057 7.97852C3.00053 8.04939 2.64177 8.19284 2.43825 8.39636C2.38877 8.44584 2.34382 8.48625 2.30861 8.5179C2.29334 8.53162 2.27991 8.5437 2.26873 8.55416C2.22923 8.5911 2.21196 8.61276 2.20108 8.63766C2.18969 8.66371 2.18117 8.70318 2.18013 8.78163C2.17909 8.86011 2.18545 8.96803 2.19766 9.12675C2.22614 9.50261 2.40977 9.88897 2.67829 10.237C2.94622 10.5842 3.29318 10.8861 3.63599 11.0929L3.63732 11.0937C3.86712 11.2374 4.26565 11.3774 4.64846 11.4678C4.83857 11.5128 5.02103 11.5445 5.17234 11.5584C5.32934 11.5729 5.43578 11.5662 5.48539 11.5476L5.48888 11.5464C5.50877 11.5398 5.52215 11.5341 5.53123 11.529C5.53756 11.5255 5.54155 11.522 5.54155 11.522C5.54232 11.5189 5.54311 11.5108 5.54046 11.4941C5.53501 11.4598 5.51756 11.4069 5.48057 11.3242C5.44424 11.2429 5.39219 11.1394 5.32228 11.0057C5.22585 10.819 5.15568 10.6493 5.11357 10.5004C5.07176 10.3526 5.0556 10.2187 5.0731 10.1054C5.09106 9.98913 5.14554 9.89124 5.2441 9.83112C5.33902 9.77321 5.45988 9.75962 5.59379 9.77636L5.58138 9.87558L5.59185 9.77613C5.87816 9.80627 6.05817 10.0091 6.26638 10.401C6.45393 10.7579 6.6013 10.9891 6.76986 11.1678C6.93718 11.3451 7.13025 11.4759 7.4172 11.6254C7.75872 11.7991 8.04404 11.9042 8.32298 11.9522C8.60107 12 8.87801 11.9919 9.20374 11.9327C9.59177 11.8562 9.91172 11.7189 10.2131 11.4861C10.5162 11.2517 10.8045 10.9175 11.1243 10.4409C11.4482 9.95806 11.7078 9.63684 11.9807 9.41982C12.257 9.20006 12.5414 9.09144 12.9056 9.02234L12.9067 9.02215C13.2505 8.96075 13.5251 8.96093 13.7111 9.05211C13.8081 9.09968 13.8808 9.1719 13.9234 9.26866C13.965 9.36325 13.9747 9.47368 13.9613 9.59437L13.9611 9.59626C13.9423 9.74014 13.911 9.86302 13.7949 9.94852C13.7408 9.98827 13.6743 10.0156 13.5961 10.0375C13.5179 10.0595 13.4221 10.0777 13.3058 10.096C12.9871 10.1502 12.811 10.2047 12.6478 10.3369C12.4784 10.474 12.3162 10.6999 12.0467 11.1226C11.8135 11.4908 11.4566 11.9714 11.2435 12.197L10.9959 12.4611L11.1821 12.5061C11.3684 12.5526 11.6775 12.5885 11.877 12.5885C11.9476 12.5885 12.0248 12.6149 12.094 12.6462C12.1658 12.6786 12.2407 12.7218 12.3099 12.7659C12.4466 12.8531 12.5694 12.9493 12.6165 12.9895C12.7475 13.0935 12.8618 13.2674 13.0107 13.498C13.0214 13.5145 13.0323 13.5314 13.0434 13.5487C13.1918 13.7789 13.3832 14.0758 13.6651 14.4518C13.7867 14.6139 13.8901 14.7545 13.9774 14.8734C14.1155 15.0613 14.2135 15.1947 14.2803 15.2723C14.3019 15.2974 14.3227 15.3217 14.3428 15.345C14.4676 15.4903 14.5634 15.6017 14.6375 15.6834C14.6709 15.7203 14.6991 15.7502 14.7229 15.7739C14.7237 15.7404 14.7238 15.6987 14.7238 15.6472C14.7238 15.388 14.7238 15.2227 14.7191 15.0575C14.7108 14.7647 14.6876 14.4724 14.623 13.6584C14.5997 13.3642 14.5754 13.1381 14.5563 12.9605L14.5546 12.9453C14.5355 12.7675 14.5213 12.6336 14.5204 12.531C14.5196 12.427 14.532 12.3408 14.5767 12.2641C14.6203 12.1893 14.6879 12.1358 14.7673 12.0821L14.7759 12.0763L14.7855 12.0723C15.0673 11.9571 15.4592 11.6735 15.7804 11.2707C16.1008 10.869 16.3435 10.3581 16.3435 9.79034C16.3435 9.13108 16.1414 8.61025 15.7311 8.2071C15.3177 7.80098 14.6839 7.50546 13.8046 7.31877C13.6948 7.29437 13.6035 7.27177 13.531 7.24617C13.4587 7.22059 13.396 7.18907 13.3476 7.14178C13.2466 7.04308 13.2383 6.90516 13.2383 6.74604C13.2383 6.66089 13.2386 6.58267 13.2516 6.5198C13.2659 6.4503 13.298 6.38748 13.367 6.3455C13.4274 6.30883 13.5054 6.29527 13.5925 6.28845C13.6822 6.28142 13.799 6.28072 13.9472 6.28071L13.9486 6.28073C14.8019 6.29328 15.7019 6.6562 16.3527 7.25673L16.7664 7.632L16.8364 7.44304C16.8631 7.36794 16.8926 7.22707 16.9152 7.0585C16.9376 6.89147 16.9524 6.7042 16.9524 6.53903C16.9524 5.53251 16.2956 4.68517 15.0536 4.17164L15.0508 4.17042C14.7885 4.0524 14.446 3.75928 14.2542 3.478L14.2534 3.47678C13.8245 2.82757 13.07 2.47753 12.2527 2.55912C11.6407 2.62452 11.1146 2.83209 10.7529 3.11528C10.391 3.39875 10.203 3.74917 10.2353 4.10628C10.2533 4.28647 10.2791 4.38105 10.3317 4.45193C10.3852 4.52407 10.4767 4.58545 10.6639 4.67002L10.6651 4.67053C10.8035 4.73512 10.9165 4.79374 11.0047 4.85098C11.0922 4.90781 11.1621 4.9675 11.2073 5.03683C11.2549 5.10972 11.2716 5.18788 11.2615 5.27153C11.2518 5.35093 11.2184 5.43164 11.1736 5.51484L11.1728 5.51629C11.0649 5.70885 10.8581 5.79826 10.628 5.80334C10.3981 5.80841 10.1331 5.73106 9.8772 5.57753L9.87591 5.57675C9.78599 5.52094 9.72471 5.48355 9.67419 5.46023C9.62598 5.43796 9.59603 5.43267 9.56948 5.43471C9.54096 5.4369 9.5044 5.44848 9.44456 5.48164C9.38446 5.51495 9.31019 5.56457 9.20579 5.63519M8.15078 4.96816L8.13029 4.87029C8.04094 4.88877 7.96493 4.90747 7.90203 4.93103C7.83866 4.95476 7.78274 4.98556 7.73888 5.03167C7.64936 5.12579 7.63675 5.25572 7.63675 5.40654C7.63675 5.49114 7.63877 5.56615 7.65156 5.62821C7.66507 5.69382 7.69231 5.75368 7.74821 5.79919C7.80034 5.84162 7.86689 5.86262 7.93891 5.87637C8.01179 5.89028 8.10379 5.89899 8.21576 5.90807L8.21719 5.90818C8.40695 5.92082 8.57094 5.91173 8.73098 5.86838C8.89093 5.82506 9.04121 5.74909 9.20579 5.63519M8.15078 4.96816C7.79764 5.04123 7.73675 5.10211 7.73675 5.40654C7.73675 5.74751 7.77329 5.77186 8.22384 5.80839C8.58915 5.83275 8.8327 5.77186 9.14931 5.55267M8.15078 4.96816C8.67439 4.85857 8.80835 4.70026 9.12495 3.82351C9.27108 3.42166 9.56333 2.88586 9.75817 2.63014L10.0573 2.26125L9.92865 5.49179C9.57551 5.27259 9.56333 5.27259 9.14931 5.55267M9.20579 5.63519L9.14931 5.55267ZM9.20579 5.63519L9.14931 5.55267ZM7.7465 1.08895L7.74907 1.08791C8.15549 0.929148 8.66681 0.867521 9.17941 0.897036C9.69237 0.926569 10.2146 1.04782 10.6432 1.26209C10.9113 1.39616 11.0694 1.46248 11.2245 1.48719C11.3786 1.51173 11.5377 1.49646 11.8108 1.44791C12.4159 1.34075 13.0919 1.42932 13.6888 1.65529C14.2848 1.88092 14.8135 2.24803 15.1147 2.70942C15.1732 2.79991 15.2827 2.91115 15.4177 3.01943C15.551 3.12634 15.7028 3.22549 15.8414 3.29495C16.1469 3.43543 16.6416 3.79531 16.9496 4.0787C17.521 4.60659 17.8811 5.17465 18.0266 5.81359C18.1719 6.45157 18.1009 7.14977 17.8291 7.93467C17.6487 8.48813 17.5049 9.18492 17.481 9.7338C17.4071 11.1757 16.9946 12.2107 15.9062 12.8435L15.905 12.8442C15.8839 12.8561 15.8599 12.8824 15.8381 12.9374C15.8164 12.992 15.8009 13.065 15.7906 13.1548C15.7722 13.3162 15.7724 13.5119 15.7727 13.7168C15.7727 13.7409 15.7727 13.765 15.7727 13.7892V13.7919V13.7946V13.7973V13.8V13.8026V13.8053V13.808V13.8108V13.8135V13.8162V13.8189V13.8216V13.8244V13.8271V13.8298V13.8326V13.8353V13.8381V13.8408V13.8436V13.8464V13.8491V13.8519V13.8547V13.8575V13.8603V13.8631V13.8659V13.8687V13.8715V13.8743V13.8771V13.8799V13.8828V13.8856V13.8884V13.8913V13.8941V13.8969V13.8998V13.9026V13.9055V13.9084V13.9112V13.9141V13.917V13.9198V13.9227V13.9256V13.9285V13.9314V13.9343V13.9372V13.9401V13.943V13.9459V13.9488V13.9517V13.9546V13.9575V13.9605V13.9634V13.9663V13.9693V13.9722V13.9751V13.9781V13.981V13.984V13.9869V13.9899V13.9928V13.9958V13.9988V14.0017V14.0047V14.0077V14.0106V14.0136V14.0166V14.0196V14.0226V14.0255V14.0285V14.0315V14.0345V14.0375V14.0405V14.0435V14.0465V14.0495V14.0526V14.0556V14.0586V14.0616V14.0646V14.0676V14.0707V14.0737V14.0767V14.0797V14.0828V14.0858V14.0888V14.0919V14.0949V14.0979V14.101V14.104V14.1071V14.1101V14.1132V14.1162V14.1193V14.1223V14.1254V14.1284V14.1315V14.1346V14.1376V14.1407V14.1437V14.1468V14.1499V14.1529V14.156V14.1591V14.1621V14.1652V14.1683V14.1714V14.1744V14.1775V14.1806V14.1837V14.1867V14.1898V14.1929V14.196V14.1991V14.2022V14.2052V14.2083V14.2114V14.2145V14.2176V14.2207V14.2237V14.2268V14.2299V14.233V14.2361V14.2392V14.2423V14.2454V14.2485V14.2515V14.2546V14.2577V14.2608V14.2639V14.267V14.2701V14.2732V14.2763V14.2794V14.2824V14.2855V14.2886V14.2917V14.2948V14.2979V14.301V14.3041V14.3072V14.3102V14.3133V14.3164V14.3195V14.3226V14.3257V14.3288V14.3318V14.3349V14.338V14.3411V14.3442V14.3473V14.3503V14.3534V14.3565V14.3596V14.3626V14.3657V14.3688V14.3719V14.3749V14.378V14.3811V14.3841V14.3872V14.3903V14.3933V14.3964V14.3995V14.4025V14.4056V14.4086V14.4117V14.4148V14.4178V14.4209V14.4239V14.427V14.43V14.4331V14.4361V14.4391V14.4422V14.4452V14.4483V14.4513V14.4543V14.4574V14.4604V14.4634V14.4664V14.4695V14.4725V14.4755V14.4785V14.4815V14.4845V14.4876V14.4906V14.4936V14.4966V14.4996V14.5026V14.5056V14.5086V14.5115V14.5145V14.5175V14.5205V14.5235V14.5265V14.5294V14.5324V14.5354V14.5383V14.5413V14.5443V14.5472V14.5502V14.5531V14.5561V14.559V14.562V14.5649V14.5679V14.5708V14.5737V14.5766V14.5796V14.5825V14.5854V14.5883V14.5912V14.5941V14.597V14.6V14.6028V14.6057V14.6086V14.6115V14.6144V14.6173V14.6202V14.623V14.6259V14.6288V14.6316V14.6345V14.6373V14.6402V14.643V14.6459V14.6487V14.6515V14.6544V14.6572V14.66V14.6628V14.6656V14.6684V14.6713V14.6741V14.6768V14.6796V14.6824V14.6852V14.688V14.6908V14.6935V14.6963V14.6991V14.7018V14.7046V14.7073V14.71V14.7128V14.7155V14.7182V14.721V14.7237V14.7264V14.7291V14.7318V14.7345V14.7372V14.7399V14.7426V14.7452V14.7479V14.7506V14.7532V14.7559V14.7585V14.7612V14.7638V14.7665V14.7691V14.7717V14.7743V14.7769V14.7796V14.7822V14.7848V14.7873V14.7899V14.7925V14.7951V14.7976V14.8002V14.8028V14.8053V14.8079V14.8104V14.8129V14.8155V14.818V14.8205V14.823V14.8255V14.828V14.8305V14.833V14.8355V14.8379V14.8404V14.8428V14.8453V14.8477V14.8502V14.8526V14.855V14.8575V14.8599V14.8623V14.8647V14.8671V14.8695V14.8718V14.8742V14.8766V14.8789V14.8813V14.8836V14.886V14.8883V14.8906V14.893V14.8953V14.8976V14.8999V14.9022V14.9044V14.9067V14.909V14.9113V14.9135V14.9158V14.918V14.9202V14.9224V14.9247V14.9269V14.9291V14.9313V14.9335V14.9356V14.9378V14.94V14.9421V14.9443V14.9464V14.9486V14.9507V14.9528V14.9549V14.957V14.9591V14.9612V14.9633V14.9653V14.9674V14.9694V14.9715V14.9735V14.9756V14.9776V14.9796V14.9816V14.9836V14.9856V14.9875V14.9895V14.9915V14.9934V14.9954V14.9973V14.9992V15.0012V15.0031V15.005V15.0069V15.0087V15.0106V15.0125V15.0143V15.0162V15.018V15.0199V15.0217V15.0235V15.0253V15.0271V15.0289V15.0307V15.0324V15.0342V15.0359V15.0377V15.0394V15.0411V15.0428V15.0445V15.0462V15.0479V15.0496V15.0513V15.0529V15.0546V15.0562V15.0578V15.0594V15.061V15.0626V15.0642V15.0658V15.0674V15.0689V15.0705V15.072V15.0735V15.0751V15.0766V15.0781V15.0795V15.081V15.0825V15.0839V15.0854V15.0868V15.0883V15.0897V15.0911V15.0925V15.0939V15.0952V15.0966V15.0979V15.0993V15.1006V15.1019V15.1033V15.1046V15.1058V15.1071V15.1084V15.1096V15.1109V15.1121V15.1133V15.1146V15.1158V15.117V15.1181V15.1193V15.1205V15.1216L15.7723 15.1311C15.7548 15.3139 15.7451 15.4912 15.7358 15.662C15.7346 15.6841 15.7334 15.706 15.7322 15.7278C15.7216 15.9175 15.7103 16.0996 15.6874 16.266C15.642 16.5961 15.548 16.8906 15.2946 17.0706L15.2772 17.0829L15.2564 17.0871C14.9498 17.1489 14.6072 16.9897 14.1662 16.6137C13.7207 16.2339 13.1487 15.6098 12.3758 14.6825L12.0736 14.3803L11.8153 14.1776L11.8056 14.1689L11.3424 13.6962C11.0367 13.6504 10.6083 13.493 10.351 13.3337C10.1644 13.2171 10.0176 13.1525 9.80579 13.1142C9.58858 13.0748 9.30168 13.0625 8.83204 13.0564C7.96291 13.0564 7.60385 12.9954 7.18168 12.7907L7.17863 12.7891C6.96587 12.6768 6.81351 12.6184 6.60293 12.593C6.38675 12.5668 6.10658 12.5751 5.63657 12.6057C4.76818 12.655 4.05882 12.5601 3.45333 12.2865C2.8469 12.0124 2.35287 11.5631 1.90689 10.9189C1.85911 10.8489 1.80935 10.779 1.75927 10.7086C1.55336 10.4192 1.336 10.1137 1.17329 9.69286C0.96984 9.16671 0.851706 8.46413 0.91967 7.37584L0.921262 7.36325C1.05912 6.64369 1.22225 6.21487 1.39929 5.90071C1.48763 5.74396 1.57833 5.61771 1.66814 5.50032C1.69665 5.46306 1.72465 5.4272 1.75234 5.39175C1.813 5.31407 1.87214 5.23834 1.93182 5.15396C2.14369 4.85485 2.50488 4.48 2.74851 4.3133C2.85688 4.23916 2.98236 4.12862 3.09433 4.00928C3.20704 3.88915 3.30016 3.76638 3.34875 3.66919L3.34927 3.66818C3.57953 3.22044 4.03078 2.79438 4.53955 2.48106C5.04821 2.1678 5.62966 1.95781 6.12936 1.95781C6.14751 1.95781 6.1801 1.95228 6.22743 1.93709C6.27313 1.92243 6.32676 1.90068 6.3848 1.87311C6.50052 1.81814 6.62839 1.74263 6.73848 1.66166C6.9792 1.472 7.425 1.22497 7.7465 1.08895Z",
|
15
15
|
fill: "#64748B"
|
16
16
|
}), /*#__PURE__*/_jsx("path", {
|
@@ -18,7 +18,7 @@ export const BrainIcon = props => /*#__PURE__*/_jsxs("svg", {
|
|
18
18
|
stroke: "",
|
19
19
|
strokeWidth: "0.2"
|
20
20
|
}), /*#__PURE__*/_jsx("path", {
|
21
|
-
className: "fillPath strokeFill",
|
21
|
+
className: "fillPath strokeFill bainIconPathStroke2",
|
22
22
|
d: "M8.65005 8.30277L8.65134 8.30009C8.71231 8.17815 8.8171 8.04195 8.93706 7.91884C9.05729 7.79545 9.19829 7.67951 9.33608 7.6007C9.70633 7.38379 10.1293 7.29924 10.4654 7.33513C10.6332 7.35306 10.787 7.40191 10.9015 7.48718C11.019 7.57471 11.0936 7.70039 11.0936 7.85773C11.0936 8.03108 10.9736 8.19102 10.8269 8.30141C10.6768 8.4144 10.4766 8.49352 10.2751 8.49352C10.0222 8.49352 9.85541 8.55675 9.75341 8.66238C9.65164 8.7678 9.59639 8.93413 9.60785 9.1804L9.60789 9.18165C9.62036 9.54954 9.53563 9.84467 9.357 9.9864C9.26327 10.0608 9.14903 10.0877 9.0282 10.062C8.91098 10.0371 8.79408 9.96427 8.68225 9.85244C8.53166 9.70185 8.47034 9.43321 8.46878 9.15974C8.46718 8.8801 8.5276 8.56701 8.65005 8.30277Z",
|
23
23
|
fill: "#64748B",
|
24
24
|
stroke: "#64748B",
|
@@ -43,9 +43,10 @@ const ColorPickerButton = props => {
|
|
43
43
|
background: value,
|
44
44
|
height: "22px",
|
45
45
|
minWidth: "22px",
|
46
|
-
borderRadius: "26px"
|
47
|
-
border: "2px solid #E7E7E7"
|
46
|
+
borderRadius: "26px"
|
47
|
+
// border: "2px solid #E7E7E7",
|
48
48
|
},
|
49
|
+
|
49
50
|
onClick: handleColorPicker
|
50
51
|
}), /*#__PURE__*/_jsx(Popover, {
|
51
52
|
open: open,
|
@@ -27,20 +27,23 @@ const FontLoader = props => {
|
|
27
27
|
classes: false,
|
28
28
|
timeout: 2000,
|
29
29
|
active: () => {
|
30
|
-
console.log(`Fonts loaded successfully: ${batch}`);
|
30
|
+
// console.log(`Fonts loaded successfully: ${batch}`);
|
31
31
|
currentIndex += batchSize;
|
32
32
|
retryCount = 0; // Reset retry count for the next batch
|
33
33
|
loadNextBatch();
|
34
34
|
},
|
35
35
|
inactive: () => {
|
36
|
-
console.log(`Font loading failed for: ${batch}`);
|
36
|
+
// console.log(`Font loading failed for: ${batch}`);
|
37
|
+
|
37
38
|
if (retryCount < maxRetries) {
|
38
39
|
retryCount++;
|
39
|
-
console.log(`Retrying batch (${retryCount}/${maxRetries})...`);
|
40
|
+
// console.log(`Retrying batch (${retryCount}/${maxRetries})...`);
|
40
41
|
// Retry loading the same batch
|
41
42
|
loadNextBatch();
|
42
43
|
} else {
|
43
|
-
console.log(
|
44
|
+
// console.log(
|
45
|
+
// `Max retries reached for batch: ${batch}. Moving to the next batch.`
|
46
|
+
// );
|
44
47
|
currentIndex += batchSize;
|
45
48
|
retryCount = 0; // Reset retry count for the next batch
|
46
49
|
loadNextBatch();
|
@@ -64,7 +67,7 @@ const FontLoader = props => {
|
|
64
67
|
});
|
65
68
|
loadFontsInBatches(families);
|
66
69
|
}).catch(err => {
|
67
|
-
console.log(err);
|
70
|
+
// console.log(err);
|
68
71
|
});
|
69
72
|
} else {
|
70
73
|
function correctFontArray(fontString) {
|
@@ -18,7 +18,8 @@ const usePopupStyles = theme => ({
|
|
18
18
|
"& button": {
|
19
19
|
padding: "0px 0px 0px 6px",
|
20
20
|
"& svg": {
|
21
|
-
width: "19px !important"
|
21
|
+
width: "19px !important",
|
22
|
+
paddingRight: "6px"
|
22
23
|
}
|
23
24
|
},
|
24
25
|
"& .active": {
|
@@ -39,13 +40,23 @@ const usePopupStyles = theme => ({
|
|
39
40
|
borderRadius: "7px",
|
40
41
|
"& svg": {
|
41
42
|
"& path": {
|
42
|
-
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}
|
43
|
+
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor}`
|
43
44
|
}
|
44
45
|
},
|
45
46
|
"& span": {
|
46
47
|
"& .MuiTypography-root": {
|
47
48
|
color: `${theme?.palette?.editor?.menuOptionsSelectedTextColor} !important`
|
48
49
|
}
|
50
|
+
},
|
51
|
+
"& .BrainIcon": {
|
52
|
+
"& .bainIconPathStroke": {
|
53
|
+
fill: `${theme?.palette?.editor?.menuOptionsSelectedTextColor} !important`,
|
54
|
+
stroke: "unset !important"
|
55
|
+
},
|
56
|
+
"& .bainIconPathStroke2": {
|
57
|
+
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor} !important`,
|
58
|
+
fill: `${theme?.palette?.editor?.menuOptionsSelectedTextColor} !important`
|
59
|
+
}
|
49
60
|
}
|
50
61
|
},
|
51
62
|
"& .MuiCardMedia-root": {
|
@@ -123,13 +134,7 @@ const usePopupStyles = theme => ({
|
|
123
134
|
"& path": {
|
124
135
|
stroke: `${theme?.palette?.editor?.menuOptionsSelectedTextColor} !important`
|
125
136
|
}
|
126
|
-
},
|
127
|
-
"& .commonSvgStyle2": {
|
128
|
-
background: "red !important"
|
129
137
|
}
|
130
|
-
},
|
131
|
-
"& .renderComp": {
|
132
|
-
backgroundColor: "red !important"
|
133
138
|
}
|
134
139
|
},
|
135
140
|
"&:hover": {
|
@@ -162,7 +167,7 @@ const usePopupStyles = theme => ({
|
|
162
167
|
marginBottom: "10px",
|
163
168
|
fontSize: "14px",
|
164
169
|
fontWeight: "bold",
|
165
|
-
borderBottom:
|
170
|
+
borderBottom: `1px solid ${theme?.palette?.editor?.deviderBgColor}`
|
166
171
|
},
|
167
172
|
listItem: {
|
168
173
|
cursor: "pointer",
|
@@ -14,7 +14,8 @@ const SwitchViewport = props => {
|
|
14
14
|
} = props;
|
15
15
|
const classes = useSwitchViewport();
|
16
16
|
const {
|
17
|
-
setSelectedElement
|
17
|
+
setSelectedElement,
|
18
|
+
setActiveBreakPoint
|
18
19
|
} = useEditorContext();
|
19
20
|
useEffect(() => {
|
20
21
|
// to reset selection on viewport changes - FS-6589
|
@@ -30,6 +31,7 @@ const SwitchViewport = props => {
|
|
30
31
|
children: /*#__PURE__*/_jsx(IconButton, {
|
31
32
|
className: `${!breakpoint || breakpoint === "lg" ? "active" : ""}`,
|
32
33
|
onClick: () => {
|
34
|
+
setActiveBreakPoint("");
|
33
35
|
onChange("");
|
34
36
|
},
|
35
37
|
children: /*#__PURE__*/_jsx(PersonalVideoIcon, {})
|
@@ -39,6 +41,7 @@ const SwitchViewport = props => {
|
|
39
41
|
children: /*#__PURE__*/_jsx(IconButton, {
|
40
42
|
className: `${breakpoint === "xs" ? "active" : ""}`,
|
41
43
|
onClick: () => {
|
44
|
+
setActiveBreakPoint("xs");
|
42
45
|
onChange("xs");
|
43
46
|
},
|
44
47
|
children: /*#__PURE__*/_jsx(PhoneIphoneIcon, {})
|
@@ -14,7 +14,7 @@ import BoundaryLine from "./GuideLines/BoundaryLine";
|
|
14
14
|
import ContextMenu from "./ContextMenu";
|
15
15
|
import VirtualElement from "./VirtualElement";
|
16
16
|
import { ItemTypes } from "./ElementSettings/settingsConstants";
|
17
|
-
import {
|
17
|
+
import { clearSelection } from "../../helper";
|
18
18
|
import { selectText } from "../../utils/helper";
|
19
19
|
import { removeSign } from "./ElementSettings/OtherSettings";
|
20
20
|
import useDragging from "../../hooks/useDragging";
|
@@ -9,7 +9,7 @@ import { getBreakPointsValue, getTRBLBreakPoints, groupByBreakpoint } from "../.
|
|
9
9
|
import DragHandle from "../DnD/DragHandleButton";
|
10
10
|
import { useEditorSelection } from "../../hooks/useMouseMove";
|
11
11
|
import SectionStyle from "./styles";
|
12
|
-
import useWindowResize from "../../hooks/useWindowResize";
|
12
|
+
// import useWindowResize from "../../hooks/useWindowResize"; //commenting for ui demo if okay remove this comment before dev
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
14
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
15
15
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
@@ -45,8 +45,11 @@ const Section = props => {
|
|
45
45
|
const path = ReactEditor.findPath(editor, element);
|
46
46
|
const anchorEl = useRef(null);
|
47
47
|
const popperEl = useRef(null);
|
48
|
-
|
49
|
-
const
|
48
|
+
|
49
|
+
// const [size] = useWindowResize();
|
50
|
+
// const isSectionFullWidth =
|
51
|
+
// sectionGridSize && sectionGridSize[size?.device] >= 12;
|
52
|
+
|
50
53
|
const [isHovering, setIsHovering] = useState(false);
|
51
54
|
const onMouseEnter = () => {
|
52
55
|
setIsHovering(true);
|
@@ -77,6 +80,9 @@ const Section = props => {
|
|
77
80
|
children: /*#__PURE__*/_jsx(Tooltip, {
|
78
81
|
title: "Section Settings",
|
79
82
|
children: /*#__PURE__*/_jsx(IconButton, {
|
83
|
+
sx: {
|
84
|
+
marginBottom: '25px !important'
|
85
|
+
},
|
80
86
|
onClick: onSettings,
|
81
87
|
children: /*#__PURE__*/_jsx(TuneIcon, {})
|
82
88
|
})
|
@@ -149,11 +155,16 @@ const Section = props => {
|
|
149
155
|
className: "ed-section-inner",
|
150
156
|
sx: {
|
151
157
|
position: "relative",
|
152
|
-
...edInnerSp
|
158
|
+
...edInnerSp,
|
159
|
+
outline: isHovering ? `1px dashed ${theme?.palette?.editor?.inputFieldBorder}` : 'none'
|
160
|
+
// borderRadius: '5px'
|
153
161
|
},
|
162
|
+
|
154
163
|
ref: anchorEl,
|
155
|
-
children: [isHovering
|
156
|
-
open: isHovering
|
164
|
+
children: [isHovering ? /*#__PURE__*/_jsx(Popper, {
|
165
|
+
open: isHovering
|
166
|
+
// open={isHovering && isSectionFullWidth} //commenting for ui demo if okay remove this comment before dev
|
167
|
+
,
|
157
168
|
anchorEl: anchorEl?.current,
|
158
169
|
placement: "top-start",
|
159
170
|
sx: {
|
@@ -176,11 +187,7 @@ const Section = props => {
|
|
176
187
|
fromPopper: true
|
177
188
|
})]
|
178
189
|
})
|
179
|
-
}) : /*#__PURE__*/
|
180
|
-
children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
|
181
|
-
...props
|
182
|
-
}) : null, /*#__PURE__*/_jsx(Toolbar, {})]
|
183
|
-
}), children]
|
190
|
+
}) : /*#__PURE__*/_jsx(_Fragment, {}), children]
|
184
191
|
}), openSetttings ? /*#__PURE__*/_jsx(SectionPopup, {
|
185
192
|
element: {
|
186
193
|
...element,
|
@@ -18,6 +18,7 @@ import FontSize from "./fontSize";
|
|
18
18
|
import SelectSwitch from "./selectSwitch";
|
19
19
|
import CardsMapping from "./card";
|
20
20
|
import MetaDataMapping from "./metaDataMapping";
|
21
|
+
import LineSpacing from "./lineSpacing";
|
21
22
|
const FieldMap = {
|
22
23
|
text: Text,
|
23
24
|
bannerSpacing: BannerSpacing,
|
@@ -38,6 +39,7 @@ const FieldMap = {
|
|
38
39
|
fontSize: FontSize,
|
39
40
|
selectSwitch: SelectSwitch,
|
40
41
|
card: CardsMapping,
|
41
|
-
metadatamapping: MetaDataMapping
|
42
|
+
metadatamapping: MetaDataMapping,
|
43
|
+
lineSpacing: LineSpacing
|
42
44
|
};
|
43
45
|
export default FieldMap;
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Grid, Slider, Typography, Box } from "@mui/material";
|
3
|
+
import { getBreakPointsValue } from "../../../helper/theme";
|
4
|
+
import useWindowResize from "../../../hooks/useWindowResize";
|
5
|
+
import { useEditorContext } from "../../../hooks/useMouseMove";
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
7
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
|
+
const LineSpacing = props => {
|
9
|
+
const {
|
10
|
+
value: val,
|
11
|
+
data,
|
12
|
+
onChange
|
13
|
+
} = props;
|
14
|
+
const {
|
15
|
+
theme
|
16
|
+
} = useEditorContext();
|
17
|
+
const {
|
18
|
+
key
|
19
|
+
} = data;
|
20
|
+
const [size] = useWindowResize();
|
21
|
+
const pro_value = getBreakPointsValue(val, size?.device);
|
22
|
+
const [value, setValue] = useState(pro_value);
|
23
|
+
let breakpointValue = getBreakPointsValue(val, null);
|
24
|
+
breakpointValue = typeof breakpointValue['lg'] === 'object' ? breakpointValue['lg'] : breakpointValue;
|
25
|
+
useState(() => {
|
26
|
+
setValue(pro_value);
|
27
|
+
}, [pro_value]);
|
28
|
+
const handleChange = e => {
|
29
|
+
onChange({
|
30
|
+
[key]: {
|
31
|
+
...breakpointValue,
|
32
|
+
[size?.device]: e.target.value
|
33
|
+
}
|
34
|
+
});
|
35
|
+
};
|
36
|
+
return /*#__PURE__*/_jsxs(Grid, {
|
37
|
+
item: true,
|
38
|
+
xs: 12,
|
39
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
40
|
+
variant: "body1",
|
41
|
+
color: "primary",
|
42
|
+
style: {
|
43
|
+
fontSize: "14px",
|
44
|
+
fontWeight: 500
|
45
|
+
},
|
46
|
+
children: data?.label
|
47
|
+
}), /*#__PURE__*/_jsxs(Grid, {
|
48
|
+
container: true,
|
49
|
+
wrap: "nowrap",
|
50
|
+
className: "sld-wrpr",
|
51
|
+
children: [/*#__PURE__*/_jsx(Slider, {
|
52
|
+
className: "spacingSlider",
|
53
|
+
defaultValue: value || 1.43,
|
54
|
+
"aria-label": "Default",
|
55
|
+
valueLabelDisplay: "auto",
|
56
|
+
min: 0.5,
|
57
|
+
max: 3.0,
|
58
|
+
step: 0.1,
|
59
|
+
name: "lineHeight",
|
60
|
+
onChange: handleChange
|
61
|
+
}), /*#__PURE__*/_jsx(Box, {
|
62
|
+
component: "input",
|
63
|
+
sx: {
|
64
|
+
background: theme?.palette?.editor?.background,
|
65
|
+
color: theme?.palette?.editor?.textColor
|
66
|
+
},
|
67
|
+
name: "lineHeight",
|
68
|
+
value: pro_value,
|
69
|
+
className: "sliderInput",
|
70
|
+
onChange: handleChange,
|
71
|
+
type: "number",
|
72
|
+
placeholder: "0",
|
73
|
+
disabled: true,
|
74
|
+
defaultValue: pro_value || 1.43
|
75
|
+
})]
|
76
|
+
})]
|
77
|
+
});
|
78
|
+
};
|
79
|
+
export default LineSpacing;
|
@@ -134,8 +134,7 @@ const useCommonStyle = theme => ({
|
|
134
134
|
}
|
135
135
|
},
|
136
136
|
"& .active ": {
|
137
|
-
border: `1px solid #2563EB !important
|
138
|
-
background: `${theme?.palette?.editor?.signaturePopUpTabButtonSelectedBg} !important`
|
137
|
+
border: `1px solid #2563EB !important`
|
139
138
|
}
|
140
139
|
},
|
141
140
|
"& .MuiTab-root": {
|
@@ -181,6 +180,11 @@ const useCommonStyle = theme => ({
|
|
181
180
|
border: `1px solid ${theme?.palette?.editor?.closeButtonBorder} !important`
|
182
181
|
}
|
183
182
|
}
|
183
|
+
},
|
184
|
+
"& .disabledSaveBtn": {
|
185
|
+
background: "#2563EB33 !important",
|
186
|
+
color: theme?.palette?.type === "dark" && "#FFFFFF33 !important",
|
187
|
+
border: "1px solid #2563EB33 !important"
|
184
188
|
}
|
185
189
|
},
|
186
190
|
popupTitle2: {
|
@@ -147,4 +147,27 @@ export const groupByBreakpoint = (styleProps, theme) => {
|
|
147
147
|
}
|
148
148
|
};
|
149
149
|
};
|
150
|
-
export const getCustomizationValue = value => isNaN(parseInt(value)) ? null : parseInt(value);
|
150
|
+
export const getCustomizationValue = value => isNaN(parseInt(value)) ? null : parseInt(value);
|
151
|
+
export const getBreakpointLineSpacing = (value, breakpoint) => {
|
152
|
+
try {
|
153
|
+
const values = getBreakPointsValue(value, breakpoint);
|
154
|
+
const cssVal = BREAKPOINTS_DEVICES.reduce((a, b) => {
|
155
|
+
if (values[b] || values["lg"]) {
|
156
|
+
const value = values[b] || values["lg"];
|
157
|
+
return {
|
158
|
+
...a,
|
159
|
+
[b]: value
|
160
|
+
};
|
161
|
+
} else {
|
162
|
+
return a;
|
163
|
+
}
|
164
|
+
}, {});
|
165
|
+
if (breakpoint) {
|
166
|
+
return value[breakpoint] || value["lg"] || value;
|
167
|
+
} else {
|
168
|
+
return cssVal["lg"];
|
169
|
+
}
|
170
|
+
} catch (err) {
|
171
|
+
// console.log(err);
|
172
|
+
}
|
173
|
+
};
|
@@ -35,6 +35,7 @@ export const EditorProvider = ({
|
|
35
35
|
path: null
|
36
36
|
});
|
37
37
|
const [fontFamilies, setFontFamilies] = useState({});
|
38
|
+
const [activeBreakPoint, setActiveBreakPoint] = useState("");
|
38
39
|
useEffect(() => {
|
39
40
|
window.updateSelectedItem = d => {
|
40
41
|
setSelectedElement(d);
|
@@ -97,8 +98,10 @@ export const EditorProvider = ({
|
|
97
98
|
setOpenAI,
|
98
99
|
updateDragging,
|
99
100
|
fontFamilies,
|
100
|
-
setFontFamilies
|
101
|
-
|
101
|
+
setFontFamilies,
|
102
|
+
activeBreakPoint,
|
103
|
+
setActiveBreakPoint
|
104
|
+
}), [path, editor?.selection, selectedPath, selectedElement, contextMenu, openAI, popupType, drop, activeBreakPoint]);
|
102
105
|
return /*#__PURE__*/_jsx(EditorContext.Provider, {
|
103
106
|
value: otherValues,
|
104
107
|
children: children
|
@@ -1,16 +1,42 @@
|
|
1
|
-
import { Transforms } from "slate";
|
2
|
-
import insertNewLine from "./insertNewLine";
|
1
|
+
import { Editor, Node, Path, Transforms } from "slate";
|
3
2
|
export const insertBrain = (editor, data, position) => {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
};
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
3
|
+
if (!editor || !data || !position) {
|
4
|
+
console.error("Editor, data, and position are required.");
|
5
|
+
return;
|
6
|
+
}
|
7
|
+
const {
|
8
|
+
selection
|
9
|
+
} = editor;
|
10
|
+
let insertPath = position;
|
11
|
+
if (selection) {
|
12
|
+
const brains = {
|
13
|
+
type: "brains",
|
14
|
+
...data,
|
15
|
+
children: [{
|
16
|
+
text: ""
|
17
|
+
}]
|
18
|
+
};
|
19
|
+
const [currentNode, currentPath] = Editor.node(editor, selection);
|
20
|
+
const cleanedText = Node.string(currentNode).replace(/\/b(?:rain|r|ra|rai)?/g, "").trim();
|
21
|
+
if (cleanedText) {
|
22
|
+
Transforms.delete(editor, {
|
23
|
+
at: Editor.range(editor, currentPath)
|
24
|
+
});
|
25
|
+
Transforms.insertText(editor, cleanedText, {
|
26
|
+
at: currentPath
|
27
|
+
});
|
28
|
+
const [, parentPath] = Editor.parent(editor, currentPath);
|
29
|
+
insertPath = Path.next(parentPath);
|
30
|
+
}
|
31
|
+
Transforms.insertNodes(editor, brains, {
|
32
|
+
at: insertPath,
|
33
|
+
select: true
|
34
|
+
});
|
35
|
+
Transforms.insertNodes(editor, {
|
36
|
+
type: "paragraph",
|
37
|
+
children: [{
|
38
|
+
text: ""
|
39
|
+
}]
|
40
|
+
});
|
41
|
+
}
|
16
42
|
};
|
@@ -15,6 +15,20 @@ const LIST_FORMAT_TYPE = {
|
|
15
15
|
unorderedList: "list-item"
|
16
16
|
};
|
17
17
|
const NEWLINESAFTER = ["headingOne", "headingTwo", "headingThree"];
|
18
|
+
export const serializeMentions = node => {
|
19
|
+
try {
|
20
|
+
if (node?.type === 'mention') {
|
21
|
+
return [node.character];
|
22
|
+
}
|
23
|
+
let children = Array.isArray(node) ? node : node?.children;
|
24
|
+
children = children && Array.isArray(children) ? children : [];
|
25
|
+
let mentions = children.map(child => serializeMentions(child)).flat();
|
26
|
+
return mentions.filter(Boolean);
|
27
|
+
} catch (err) {
|
28
|
+
console.log(err);
|
29
|
+
return [];
|
30
|
+
}
|
31
|
+
};
|
18
32
|
export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
19
33
|
const isActive = isBlockActive(editor, format);
|
20
34
|
const isList = list_types.includes(format);
|
@@ -5,7 +5,6 @@ import { insertAccordion } from "./accordion";
|
|
5
5
|
import { isListItem } from "./helper";
|
6
6
|
import RnDCtrlCmds from "./RnD/RnDCtrlCmds";
|
7
7
|
import EDITORCMDS from "../common/EditorCmds";
|
8
|
-
import { ReactEditor } from "slate-react";
|
9
8
|
const HOTKEYS = {
|
10
9
|
b: "bold",
|
11
10
|
i: "italic",
|
@@ -9,7 +9,13 @@ export const findPageSettings = editor => {
|
|
9
9
|
path: null,
|
10
10
|
element: {
|
11
11
|
pageProps: {
|
12
|
-
pageWidth: "fixed"
|
12
|
+
pageWidth: "fixed",
|
13
|
+
"lineHeight": {
|
14
|
+
"xs": 1.43,
|
15
|
+
"sm": 1.43,
|
16
|
+
"md": 1.43,
|
17
|
+
"lg": 1.43
|
18
|
+
}
|
13
19
|
}
|
14
20
|
}
|
15
21
|
};
|
@@ -34,7 +40,13 @@ export const getPageSettings = editor => {
|
|
34
40
|
path: null,
|
35
41
|
element: {
|
36
42
|
pageProps: {
|
37
|
-
pageWidth: "fixed"
|
43
|
+
pageWidth: "fixed",
|
44
|
+
"lineHeight": {
|
45
|
+
"xs": 1.43,
|
46
|
+
"sm": 1.43,
|
47
|
+
"md": 1.43,
|
48
|
+
"lg": 1.43
|
49
|
+
}
|
38
50
|
}
|
39
51
|
}
|
40
52
|
};
|
@@ -2,6 +2,8 @@ export const serializeToText = node => {
|
|
2
2
|
try {
|
3
3
|
if (!node?.type && node?.text) {
|
4
4
|
return node?.text;
|
5
|
+
} else if (node?.type === 'mention') {
|
6
|
+
return '@' + node?.character?.name || '';
|
5
7
|
}
|
6
8
|
let n = Array.isArray(node) ? node : node?.children;
|
7
9
|
n = n && Array.isArray(n) ? n : n ? [n] : [];
|