@flozy/editor 6.0.9 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Editor/ChatEditor.js +7 -7
- package/dist/Editor/CommonEditor.js +21 -79
- package/dist/Editor/DialogWrapper.js +25 -31
- package/dist/Editor/Editor.css +16 -21
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Button/EditorButton.js +9 -25
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +12 -57
- 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 -1
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
- package/dist/Editor/Elements/Embed/Image.js +2 -2
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +14 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
- package/dist/Editor/Elements/Grid/GridItem.js +3 -2
- package/dist/Editor/Elements/Link/Link.js +43 -70
- package/dist/Editor/Elements/SimpleText/index.js +12 -7
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +12 -12
- package/dist/Editor/Elements/Title/title.js +1 -13
- package/dist/Editor/Elements/Variables/Style.js +2 -28
- package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +15 -7
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +8 -9
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +85 -210
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +12 -16
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +9 -56
- package/dist/Editor/Toolbar/PopupTool/index.js +48 -32
- package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
- package/dist/Editor/common/ColorPickerButton.js +9 -32
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/DnD/Draggable.js +1 -0
- package/dist/Editor/common/FontLoader/FontList.js +11 -3
- package/dist/Editor/common/FontLoader/FontLoader.js +42 -74
- package/dist/Editor/common/Icon.js +0 -28
- package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
- package/dist/Editor/common/ImageSelector/Styles.js +9 -3
- package/dist/Editor/common/ImageSelector/UploadStyles.js +2 -1
- package/dist/Editor/common/MentionsPopup/Styles.js +9 -3
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
- package/dist/Editor/common/RnD/Utils/index.js +0 -40
- package/dist/Editor/common/RnD/index.js +3 -23
- package/dist/Editor/common/Section/index.js +89 -60
- package/dist/Editor/common/Shorthands/elements.js +0 -54
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
- package/dist/Editor/common/Uploader.js +0 -8
- package/dist/Editor/commonStyle.js +65 -55
- package/dist/Editor/helper/deserialize/index.js +1 -1
- package/dist/Editor/helper/index.js +2 -2
- package/dist/Editor/helper/theme.js +2 -200
- package/dist/Editor/hooks/useDrag.js +11 -17
- package/dist/Editor/hooks/useEditorScroll.js +2 -1
- package/dist/Editor/hooks/useMouseMove.js +3 -9
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +9 -5
- package/dist/Editor/plugins/withLayout.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 +49 -157
- package/dist/Editor/utils/button.js +14 -0
- package/dist/Editor/utils/draftToSlate.js +2 -3
- package/dist/Editor/utils/font.js +37 -40
- package/dist/Editor/utils/helper.js +20 -48
- package/dist/Editor/utils/link.js +1 -1
- package/package.json +3 -6
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
- package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
- 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/common/RnD/Theme/MainThemeProvider.js +0 -17
- package/dist/Editor/hooks/useEditorTheme.js +0 -153
- package/dist/Editor/theme/index.js +0 -144
- package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
- package/dist/Editor/themeSettings/buttons/index.js +0 -283
- package/dist/Editor/themeSettings/buttons/style.js +0 -21
- package/dist/Editor/themeSettings/colorTheme/index.js +0 -292
- package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
- package/dist/Editor/themeSettings/fonts/index.js +0 -220
- 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 -197
- package/dist/Editor/themeSettingsAI/style.js +0 -250
@@ -1,5 +1,5 @@
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
2
|
-
import { Popper, Paper, ClickAwayListener } from "@mui/material";
|
1
|
+
import React, { useCallback, useEffect, useState } from "react";
|
2
|
+
import { Popper, Fade, Paper, ClickAwayListener } from "@mui/material";
|
3
3
|
import { Editor, Range, Transforms } from "slate";
|
4
4
|
import { ReactEditor, useSlate } from "slate-react";
|
5
5
|
import useDrag from "../../hooks/useDrag";
|
@@ -14,15 +14,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
const PopupTool = props => {
|
15
15
|
const {
|
16
16
|
theme,
|
17
|
-
setIsTextSelected,
|
18
17
|
customProps,
|
19
18
|
editorWrapper
|
20
19
|
} = props;
|
21
20
|
const classes = usePopupStyles(theme);
|
22
21
|
const {
|
23
22
|
setPopupType,
|
24
|
-
openAI
|
25
|
-
selectedElement
|
23
|
+
openAI
|
26
24
|
} = useEditorContext();
|
27
25
|
const [anchorEl, setAnchorEl] = useState(null);
|
28
26
|
const [open, setOpen] = useState(false);
|
@@ -33,10 +31,17 @@ const PopupTool = props => {
|
|
33
31
|
const [event] = useDrag(anchorEl);
|
34
32
|
const id = open ? "popup-edit-tool" : "";
|
35
33
|
const [size] = useWindowResize();
|
36
|
-
const
|
34
|
+
const {
|
35
|
+
selectedElement
|
36
|
+
} = useEditorContext();
|
37
|
+
console.log("Editor debug ====>", event, open, anchorEl, selection);
|
38
|
+
const updateAnchorEl = useCallback(() => {
|
37
39
|
try {
|
40
|
+
const {
|
41
|
+
selection
|
42
|
+
} = editor;
|
38
43
|
const isHavingSelection = selection && !Range.isCollapsed(selection);
|
39
|
-
if (isHavingSelection
|
44
|
+
if (isHavingSelection) {
|
40
45
|
const domRange = ReactEditor.toDOMRange(editor, editor.selection);
|
41
46
|
const editorContainer = document.querySelector("#slate-wrapper-scroll-container")?.getBoundingClientRect();
|
42
47
|
const rect = domRange.getBoundingClientRect();
|
@@ -45,21 +50,16 @@ const PopupTool = props => {
|
|
45
50
|
rect.y = -500; // hide the popper
|
46
51
|
}
|
47
52
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
document.body.appendChild(anchor);
|
54
|
-
if (!anchorEl || isScroll === "scroll") {
|
55
|
-
setAnchorEl(anchor);
|
56
|
-
setOpen(true);
|
57
|
-
}
|
53
|
+
setAnchorEl({
|
54
|
+
clientWidth: rect.width,
|
55
|
+
clientHeight: rect.height,
|
56
|
+
getBoundingClientRect: () => rect
|
57
|
+
});
|
58
58
|
}
|
59
59
|
} catch (err) {
|
60
60
|
console.log(err);
|
61
61
|
}
|
62
|
-
};
|
62
|
+
}, [editor?.selection]);
|
63
63
|
useEditorScroll(editorWrapper, updateAnchorEl);
|
64
64
|
useEffect(() => {
|
65
65
|
const userStoppedSelection = size?.device === "xs" ? true : event === "end"; // for mobile, when user starts the selection, we are gonna show the popup tool
|
@@ -74,22 +74,32 @@ const PopupTool = props => {
|
|
74
74
|
if (!isCarouselEdit) {
|
75
75
|
setOpen(true);
|
76
76
|
setPopupType("textFormat");
|
77
|
-
setIsTextSelected(true);
|
77
|
+
// setIsTextSelected(true);
|
78
78
|
}
|
79
79
|
} else if (!anchorEl) {
|
80
80
|
setOpen(false);
|
81
81
|
setPopupType("");
|
82
|
-
setIsTextSelected(false);
|
82
|
+
// setIsTextSelected(false);
|
83
83
|
}
|
84
84
|
}, [event, anchorEl]);
|
85
85
|
useEffect(() => {
|
86
|
-
if (!selection || Range.isCollapsed(selection) || Editor.string(editor, selection) === ""
|
86
|
+
if (!selection || Range.isCollapsed(selection) || Editor.string(editor, selection) === "") {
|
87
87
|
setAnchorEl(null);
|
88
88
|
} else {
|
89
89
|
updateAnchorEl();
|
90
90
|
hideSlateSelection(); // removes slate selection background, when there is no selection
|
91
91
|
}
|
92
|
-
}, [selection
|
92
|
+
}, [selection]);
|
93
|
+
useEffect(() => {
|
94
|
+
const {
|
95
|
+
path,
|
96
|
+
enable
|
97
|
+
} = selectedElement || {};
|
98
|
+
const isFreeGridElement = path && path.split("|").length > 2;
|
99
|
+
if (enable === 1 && isFreeGridElement) {
|
100
|
+
setAnchorEl(null);
|
101
|
+
}
|
102
|
+
}, [selection, selectedElement?.path, selectedElement?.enable]);
|
93
103
|
const handleClose = () => {
|
94
104
|
// setAnchorEl(null);
|
95
105
|
setOpen(false);
|
@@ -115,18 +125,24 @@ const PopupTool = props => {
|
|
115
125
|
id: id,
|
116
126
|
open: open,
|
117
127
|
anchorEl: anchorEl,
|
128
|
+
transition: true,
|
118
129
|
sx: classes.popupWrapper,
|
119
130
|
placement: "top-start",
|
120
|
-
children:
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
131
|
+
children: ({
|
132
|
+
TransitionProps
|
133
|
+
}) => /*#__PURE__*/_jsx(Fade, {
|
134
|
+
...TransitionProps,
|
135
|
+
children: /*#__PURE__*/_jsx(Paper, {
|
136
|
+
style: {
|
137
|
+
borderRadius: "6px",
|
138
|
+
border: "1px solid #8360FD"
|
139
|
+
},
|
140
|
+
children: /*#__PURE__*/_jsx(MiniTextFormat, {
|
141
|
+
editor: editor,
|
142
|
+
classes: classes,
|
143
|
+
closeMainPopup: handleClose,
|
144
|
+
customProps: customProps
|
145
|
+
})
|
130
146
|
})
|
131
147
|
})
|
132
148
|
})
|
@@ -28,20 +28,16 @@ export const toolbarGroups = [[{
|
|
28
28
|
type: "dropdown",
|
29
29
|
options: [{
|
30
30
|
text: "Normal",
|
31
|
-
value: "normal"
|
32
|
-
numVal: "400"
|
31
|
+
value: "normal"
|
33
32
|
}, {
|
34
33
|
text: "Bold",
|
35
|
-
value: "bold"
|
36
|
-
numVal: "700"
|
34
|
+
value: "bold"
|
37
35
|
}, {
|
38
36
|
text: "Bolder",
|
39
|
-
value: "bolder"
|
40
|
-
numVal: "700"
|
37
|
+
value: "bolder"
|
41
38
|
}, {
|
42
39
|
text: "Lighter",
|
43
|
-
value: "lighter"
|
44
|
-
numVal: "100"
|
40
|
+
value: "lighter"
|
45
41
|
}],
|
46
42
|
icon: FormatBoldIcon,
|
47
43
|
width: "100px"
|
@@ -50,8 +46,7 @@ export const toolbarGroups = [[{
|
|
50
46
|
format: "bold",
|
51
47
|
type: "mark",
|
52
48
|
title: "Bold",
|
53
|
-
basic: true
|
54
|
-
themeEnabled: true
|
49
|
+
basic: true
|
55
50
|
}, {
|
56
51
|
id: 5,
|
57
52
|
format: "underline",
|
@@ -62,8 +57,7 @@ export const toolbarGroups = [[{
|
|
62
57
|
format: "italic",
|
63
58
|
type: "mark",
|
64
59
|
title: "Italic",
|
65
|
-
basic: true
|
66
|
-
themeEnabled: true
|
60
|
+
basic: true
|
67
61
|
}, {
|
68
62
|
id: 6,
|
69
63
|
format: "strikethrough",
|
@@ -107,42 +101,6 @@ export const toolbarGroups = [[{
|
|
107
101
|
type: "block",
|
108
102
|
title: "H3",
|
109
103
|
group: "typography"
|
110
|
-
}, {
|
111
|
-
id: 39,
|
112
|
-
format: "headingFour",
|
113
|
-
type: "block",
|
114
|
-
title: "H4",
|
115
|
-
group: "typography"
|
116
|
-
}, {
|
117
|
-
id: 40,
|
118
|
-
format: "headingFive",
|
119
|
-
type: "block",
|
120
|
-
title: "H5",
|
121
|
-
group: "typography"
|
122
|
-
}, {
|
123
|
-
id: 41,
|
124
|
-
format: "headingSix",
|
125
|
-
type: "block",
|
126
|
-
title: "H6",
|
127
|
-
group: "typography"
|
128
|
-
}, {
|
129
|
-
id: 42,
|
130
|
-
format: "paragraphOne",
|
131
|
-
type: "block",
|
132
|
-
title: "Paragraph 1",
|
133
|
-
group: "typography"
|
134
|
-
}, {
|
135
|
-
id: 43,
|
136
|
-
format: "paragraphTwo",
|
137
|
-
type: "block",
|
138
|
-
title: "Paragraph 2",
|
139
|
-
group: "typography"
|
140
|
-
}, {
|
141
|
-
id: 44,
|
142
|
-
format: "paragraphThree",
|
143
|
-
type: "block",
|
144
|
-
title: "Paragraph 3",
|
145
|
-
group: "typography"
|
146
104
|
}, {
|
147
105
|
id: 14,
|
148
106
|
format: "doublequote",
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React, { useMemo, useState } from "react";
|
2
2
|
import { Grid, Button, Popover } from "@mui/material";
|
3
|
+
import ColorPickerTool from "react-gcolor-picker";
|
3
4
|
import { colors } from "../Elements/Color Picker/defaultColors";
|
4
5
|
import SwipeableDrawerComponent from "./SwipeableDrawer";
|
5
|
-
import CustomColorPicker from "./CustomColorPicker";
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
7
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
8
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
@@ -12,10 +12,7 @@ const ColorPickerToolComponent = ({
|
|
12
12
|
onSave = () => {},
|
13
13
|
recentColors = [],
|
14
14
|
hideGradient,
|
15
|
-
handleClose
|
16
|
-
closeDrawer,
|
17
|
-
hideThemeColors,
|
18
|
-
disableEditTheme
|
15
|
+
handleClose
|
19
16
|
}) => {
|
20
17
|
const [color, setColor] = useState(value);
|
21
18
|
const handleSave = () => {
|
@@ -36,15 +33,11 @@ const ColorPickerToolComponent = ({
|
|
36
33
|
item: true,
|
37
34
|
xs: 12,
|
38
35
|
children: [/*#__PURE__*/_jsx("div", {
|
39
|
-
children: /*#__PURE__*/_jsx(
|
36
|
+
children: /*#__PURE__*/_jsx(ColorPickerTool, {
|
40
37
|
gradient: hideGradient ? false : true,
|
41
|
-
|
38
|
+
value: color,
|
42
39
|
onChange: handleColorChange,
|
43
|
-
|
44
|
-
defaultColors: initialColors,
|
45
|
-
closeDrawer: closeDrawer,
|
46
|
-
hideThemeColors: hideThemeColors,
|
47
|
-
disableEditTheme: disableEditTheme
|
40
|
+
defaultColors: initialColors
|
48
41
|
})
|
49
42
|
}), /*#__PURE__*/_jsxs("div", {
|
50
43
|
style: {
|
@@ -71,11 +64,7 @@ const ColorPickerButton = props => {
|
|
71
64
|
defaultColors = [],
|
72
65
|
classes = {},
|
73
66
|
recentColors = [],
|
74
|
-
hideGradient
|
75
|
-
children,
|
76
|
-
handleClose: closeDrawer,
|
77
|
-
hideThemeColors,
|
78
|
-
disableEditTheme
|
67
|
+
hideGradient
|
79
68
|
} = props;
|
80
69
|
const [anchorEl, setAnchorEl] = useState(null);
|
81
70
|
const open = Boolean(anchorEl);
|
@@ -87,13 +76,7 @@ const ColorPickerButton = props => {
|
|
87
76
|
setAnchorEl(null);
|
88
77
|
};
|
89
78
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
90
|
-
children: [
|
91
|
-
onClick: handleColorPicker,
|
92
|
-
style: {
|
93
|
-
cursor: "pointer"
|
94
|
-
},
|
95
|
-
children: children
|
96
|
-
}) : /*#__PURE__*/_jsx(Button, {
|
79
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
97
80
|
style: {
|
98
81
|
background: value,
|
99
82
|
height: "22px",
|
@@ -120,10 +103,7 @@ const ColorPickerButton = props => {
|
|
120
103
|
onSave: onSave,
|
121
104
|
recentColors: recentColors,
|
122
105
|
hideGradient: hideGradient,
|
123
|
-
handleClose: handleClose
|
124
|
-
closeDrawer: closeDrawer,
|
125
|
-
hideThemeColors: hideThemeColors,
|
126
|
-
disableEditTheme: disableEditTheme
|
106
|
+
handleClose: handleClose
|
127
107
|
})
|
128
108
|
})
|
129
109
|
}) : /*#__PURE__*/_jsx(Popover, {
|
@@ -149,10 +129,7 @@ const ColorPickerButton = props => {
|
|
149
129
|
onSave: onSave,
|
150
130
|
recentColors: recentColors,
|
151
131
|
hideGradient: hideGradient,
|
152
|
-
handleClose: handleClose
|
153
|
-
closeDrawer: closeDrawer,
|
154
|
-
hideThemeColors: hideThemeColors,
|
155
|
-
disableEditTheme: disableEditTheme
|
132
|
+
handleClose: handleClose
|
156
133
|
})
|
157
134
|
})
|
158
135
|
})]
|
@@ -7,7 +7,7 @@ import { useEditorContext } from "../../hooks/useMouseMove";
|
|
7
7
|
import { Transforms } from "slate";
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
10
|
-
const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "
|
10
|
+
const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "grid"];
|
11
11
|
const DragHandleStyle = fromPopper => {
|
12
12
|
const handleDragStyle = fromPopper ? {
|
13
13
|
position: "absolute",
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React, { useEffect } from "react";
|
2
2
|
import { useDraggable } from "@dnd-kit/core";
|
3
3
|
import { Box } from "@mui/material";
|
4
|
+
import DragIndicatorIcon from "@mui/icons-material/DragIndicator";
|
4
5
|
import { SectionDragIcon } from "../iconListV2";
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
7
|
const Draggable = props => {
|
@@ -1,3 +1,11 @@
|
|
1
|
-
const
|
2
|
-
|
3
|
-
|
1
|
+
export const defaultFonts = [
|
2
|
+
// "EB Garamond",
|
3
|
+
"Anton", "DM Serif Text", "Libre Baskerville", "Montserrat", "Open Sans", "Public Sans", "Raleway", "Space Mono", "Great Vibes", "Zeyada", "Allura", "Pinyon Script", "Dancing Script", "Gaegu", "Kite One", "Merriweather"];
|
4
|
+
export const otherFonts = ["PoppinsRegular", "PoppinsBold", "Monaco", "Qwitcher Grypen", "Bulgarian Garamond", "Redacted Script", "Herr Von Muellerhoff", "Dawning of a New Day", "Coming Soon", "Engagement", "Ingrid Darling", "La Belle Aurore", "Mea Culpa", "The Girl Next Door", "Helvetica", "Georgia", "Times New Roman", "Courier New", "Impact"];
|
5
|
+
export const googleFontList = ["Roboto", "Noto Sans JP", "Poppins", "Lato", "Inter", "Roboto Condensed", "Roboto Mono", "Oswald", "Noto Sans", "Nunito", "Nunito Sans", "Ubuntu", "Rubik", "Playfair Display", "Noto Sans KR", "Roboto Slab", "PT Sans", "Kanit", "Work Sans", "Lora", "DM Sans", "Mulish", "Quicksand", "Fira Sans", "Noto Sans TC", "Inconsolata", "Barlow", "Manrope", "IBM Plex Sans", "PT Serif", "Karla", "Titillium Web", "Heebo", "Noto Serif", "Nanum Gothic", "Noto Color Emoji", "Agdasima", "Bebas Neue", "Libre Franklin", "Mukta", "Outfit", "Josefin Sans", "Source Code Pro", "Jost", "Space Grotesk", "Hind Siliguri", "Arimo", "Cabin", "Barlow Condensed", "Dosis", "Fira Sans Condensed", "Bitter", "Archivo", "Figtree", "Noto Serif JP", "PT Sans Narrow", "Abel", "Noto Sans SC",
|
6
|
+
// "Source Sans 3",
|
7
|
+
"Hind",
|
8
|
+
// "Exo 2",
|
9
|
+
"Teko", "Oxygen", "Cairo", "Crimson Text", "Plus Jakarta Sans", "Overpass", "Pacifico", "Prompt", "Red Hat Display", "Varela Round", "Cormorant Garamond", "Assistant", "Comfortaa", "Lexend", "Signika Negative",
|
10
|
+
// "M PLUS Rounded 1c",
|
11
|
+
"Fjalla One", "Caveat", "IBM Plex Mono", "Arvo", "Lobster", "Schibsted Grotesk", "Chakra Petch", "Maven Pro", "Sora", "Kalam", "Onest", "Space Grotesk", "Outfit", 'Titillium Web', ...defaultFonts];
|
@@ -1,11 +1,7 @@
|
|
1
|
-
import { useEffect
|
1
|
+
import { useEffect } from "react";
|
2
2
|
import WebFont from "webfontloader";
|
3
3
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
4
|
-
import { googleFontList } from "./FontList";
|
5
|
-
import CircularProgress from "@mui/material/CircularProgress";
|
6
|
-
import Box from "@mui/material/Box";
|
7
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
8
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
4
|
+
import { defaultFonts, googleFontList, otherFonts } from "./FontList";
|
9
5
|
const FontLoader = props => {
|
10
6
|
const {
|
11
7
|
otherProps,
|
@@ -14,72 +10,65 @@ const FontLoader = props => {
|
|
14
10
|
const {
|
15
11
|
setFontFamilies
|
16
12
|
} = useEditorContext();
|
17
|
-
const [loading, setLoading] = useState(true);
|
18
13
|
const loadFontsInBatches = (families, batchSize = 5, maxRetries = 3) => {
|
19
14
|
let currentIndex = 0;
|
20
15
|
let retryCount = 0;
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
16
|
+
function loadNextBatch() {
|
17
|
+
if (currentIndex >= families?.length) {
|
18
|
+
// console.log("All fonts have been loaded");
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
const batch = families?.slice(currentIndex, currentIndex + batchSize);
|
22
|
+
const batchWithWeights = batch.map(font => `${font}:300,400,600,700`);
|
23
|
+
WebFont.load({
|
24
|
+
google: {
|
25
|
+
families: [...batchWithWeights]
|
26
|
+
},
|
27
|
+
classes: false,
|
28
|
+
timeout: 2000,
|
29
|
+
active: () => {
|
30
|
+
// console.log(`Fonts loaded successfully: ${batch}`);
|
31
|
+
currentIndex += batchSize;
|
32
|
+
retryCount = 0; // Reset retry count for the next batch
|
33
|
+
loadNextBatch();
|
34
|
+
},
|
35
|
+
inactive: () => {
|
36
|
+
// console.log(`Font loading failed for: ${batch}`);
|
37
|
+
|
38
|
+
if (retryCount < maxRetries) {
|
39
|
+
retryCount++;
|
40
|
+
// console.log(`Retrying batch (${retryCount}/${maxRetries})...`);
|
41
|
+
// Retry loading the same batch
|
42
|
+
loadNextBatch();
|
43
|
+
} else {
|
44
|
+
// console.log(
|
45
|
+
// `Max retries reached for batch: ${batch}. Moving to the next batch.`
|
46
|
+
// );
|
39
47
|
currentIndex += batchSize;
|
40
48
|
retryCount = 0; // Reset retry count for the next batch
|
41
49
|
loadNextBatch();
|
42
|
-
},
|
43
|
-
inactive: () => {
|
44
|
-
// console.log(`Font loading failed for: ${batch}`);
|
45
|
-
if (retryCount < maxRetries) {
|
46
|
-
retryCount++;
|
47
|
-
// console.log(`Retrying batch (${retryCount}/${maxRetries})...`);
|
48
|
-
// Retry loading the same batch
|
49
|
-
loadNextBatch();
|
50
|
-
} else {
|
51
|
-
// console.log(
|
52
|
-
// `Max retries reached for batch: ${batch}. Moving to the next batch.`
|
53
|
-
// );
|
54
|
-
currentIndex += batchSize;
|
55
|
-
retryCount = 0;
|
56
|
-
loadNextBatch();
|
57
|
-
}
|
58
50
|
}
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
62
|
-
}
|
63
|
-
};
|
51
|
+
}
|
52
|
+
});
|
53
|
+
}
|
64
54
|
loadNextBatch();
|
65
55
|
};
|
66
56
|
useEffect(() => {
|
67
|
-
let families = [...
|
57
|
+
let families = [...otherFonts, ...defaultFonts];
|
68
58
|
if (!readOnly) {
|
69
59
|
otherProps?.services("listGoogleFont", []).then(data => {
|
70
|
-
families = [...(data?.data || [])];
|
60
|
+
families = [...families, ...(data?.data || [])];
|
61
|
+
const filteredfamilies = families?.filter(font => !font?.includes("Material"));
|
71
62
|
setFontFamilies({
|
72
63
|
id: 1,
|
73
64
|
format: "fontFamily",
|
74
65
|
type: "fontfamilydropdown",
|
75
|
-
options:
|
66
|
+
options: filteredfamilies || []
|
76
67
|
});
|
77
68
|
loadFontsInBatches(families);
|
78
69
|
}).catch(err => {
|
79
70
|
// console.log(err);
|
80
|
-
setLoading(false);
|
81
71
|
});
|
82
|
-
// setLoading(true);
|
83
72
|
} else {
|
84
73
|
function correctFontArray(fontString) {
|
85
74
|
let fontsArray = fontString.split(",");
|
@@ -99,32 +88,11 @@ const FontLoader = props => {
|
|
99
88
|
let families = Array.from(fontSet);
|
100
89
|
families = correctFontArray(families.join(", "));
|
101
90
|
families = families?.map(font => font?.replace(/\"/g, ""));
|
102
|
-
families = families?.map(font => font?.replace(", sans-serif", ""));
|
91
|
+
families = families?.map(font => font?.replace(", sans-serif", "")); //This is temporary fix for patch
|
103
92
|
families = families.filter(font => googleFontList.includes(font));
|
104
93
|
loadFontsInBatches(families);
|
105
94
|
}
|
106
|
-
|
107
|
-
// Set timeout to hide loader after 5 seconds
|
108
|
-
const timeoutId = setTimeout(() => {
|
109
|
-
setLoading(false);
|
110
|
-
}, 5000);
|
111
|
-
return () => clearTimeout(timeoutId);
|
112
95
|
}, []);
|
113
|
-
return
|
114
|
-
children: loading ? /*#__PURE__*/_jsx(Box, {
|
115
|
-
sx: {
|
116
|
-
position: "absolute",
|
117
|
-
top: 0,
|
118
|
-
left: 0,
|
119
|
-
right: 0,
|
120
|
-
bottom: 0,
|
121
|
-
zIndex: 99999,
|
122
|
-
display: "flex",
|
123
|
-
justifyContent: "center",
|
124
|
-
alignItems: "center"
|
125
|
-
},
|
126
|
-
children: /*#__PURE__*/_jsx(CircularProgress, {})
|
127
|
-
}) : null
|
128
|
-
});
|
96
|
+
return null;
|
129
97
|
};
|
130
98
|
export default FontLoader;
|
@@ -44,16 +44,6 @@ import ChervDown from "../assets/svg/ChervDown";
|
|
44
44
|
import ChervUp from "../assets/svg/ChervUp";
|
45
45
|
import { jsx as _jsx } from "react/jsx-runtime";
|
46
46
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
47
|
-
const HeadingIcon = ({
|
48
|
-
variant
|
49
|
-
}) => {
|
50
|
-
return /*#__PURE__*/_jsx("div", {
|
51
|
-
style: {
|
52
|
-
color: "#64748B"
|
53
|
-
},
|
54
|
-
children: variant
|
55
|
-
});
|
56
|
-
};
|
57
47
|
const iconList = {
|
58
48
|
fontFamily: /*#__PURE__*/_jsx(FontFamilyIcon, {
|
59
49
|
size: 20
|
@@ -86,24 +76,6 @@ const iconList = {
|
|
86
76
|
size: 18,
|
87
77
|
fill: "#64748B"
|
88
78
|
}),
|
89
|
-
headingFour: /*#__PURE__*/_jsx(HeadingIcon, {
|
90
|
-
variant: "H4"
|
91
|
-
}),
|
92
|
-
headingFive: /*#__PURE__*/_jsx(HeadingIcon, {
|
93
|
-
variant: "H5"
|
94
|
-
}),
|
95
|
-
headingSix: /*#__PURE__*/_jsx(HeadingIcon, {
|
96
|
-
variant: "H6"
|
97
|
-
}),
|
98
|
-
paragraphOne: /*#__PURE__*/_jsx(HeadingIcon, {
|
99
|
-
variant: "P1"
|
100
|
-
}),
|
101
|
-
paragraphTwo: /*#__PURE__*/_jsx(HeadingIcon, {
|
102
|
-
variant: "P2"
|
103
|
-
}),
|
104
|
-
paragraphThree: /*#__PURE__*/_jsx(HeadingIcon, {
|
105
|
-
variant: "P3"
|
106
|
-
}),
|
107
79
|
blockquote: /*#__PURE__*/_jsx(MdFormatQuote, {
|
108
80
|
size: 20,
|
109
81
|
fill: "#64748B",
|
@@ -76,7 +76,7 @@ const ImageSelectorStyles = theme => ({
|
|
76
76
|
background: theme?.palette?.editor?.deviderBgColor,
|
77
77
|
"@media only screen and (min-width: 899px)": {
|
78
78
|
margin: "0px 24px",
|
79
|
-
width:
|
79
|
+
width: 'calc(100% - 48px)'
|
80
80
|
}
|
81
81
|
},
|
82
82
|
"& .primaryBtn": {
|
@@ -104,6 +104,12 @@ const ImageSelectorStyles = theme => ({
|
|
104
104
|
marginRight: "8px !important"
|
105
105
|
},
|
106
106
|
"& .MuiGrid-root": {
|
107
|
+
"&::-webkit-scrollbar-thumb": {
|
108
|
+
background: `none !important`
|
109
|
+
},
|
110
|
+
"&::-webkit-scrollbar-track": {
|
111
|
+
visibility: "hidden"
|
112
|
+
},
|
107
113
|
"&::-webkit-scrollbar-thumb": {
|
108
114
|
background: `${theme?.palette?.editor?.brainPopupScroll} !important`
|
109
115
|
},
|
@@ -112,10 +118,10 @@ const ImageSelectorStyles = theme => ({
|
|
112
118
|
}
|
113
119
|
},
|
114
120
|
"& .MuiImageList-root": {
|
115
|
-
margin:
|
121
|
+
margin: '0px'
|
116
122
|
},
|
117
123
|
"& .MuiDialogContent-root": {
|
118
|
-
padding:
|
124
|
+
padding: '20px 24px 5px 24px'
|
119
125
|
}
|
120
126
|
},
|
121
127
|
titleTypo: {
|
@@ -59,6 +59,12 @@ const usePopupStyles = theme => ({
|
|
59
59
|
"& .orderedListIcon, .bulletedListTextIcon, .checkedListTextIcon, .accordianIconSvgTextFormat": {
|
60
60
|
width: "20px !important"
|
61
61
|
},
|
62
|
+
"&::-webkit-scrollbar-thumb": {
|
63
|
+
background: `none !important`
|
64
|
+
},
|
65
|
+
"&::-webkit-scrollbar-track": {
|
66
|
+
visibility: "hidden"
|
67
|
+
},
|
62
68
|
"&::-webkit-scrollbar-thumb": {
|
63
69
|
background: `${theme?.palette?.editor?.brainPopupScroll} !important`
|
64
70
|
},
|
@@ -142,13 +148,13 @@ const usePopupStyles = theme => ({
|
|
142
148
|
}
|
143
149
|
},
|
144
150
|
"& .calederIconSvg": {
|
145
|
-
|
151
|
+
'& rect': {
|
146
152
|
stroke: theme?.palette?.editor?.closeButtonSvgStroke
|
147
153
|
},
|
148
|
-
|
154
|
+
'& .strokePath': {
|
149
155
|
stroke: theme?.palette?.editor?.closeButtonSvgStroke
|
150
156
|
},
|
151
|
-
|
157
|
+
'& .fillPath': {
|
152
158
|
fill: theme?.palette?.editor?.closeButtonSvgStroke
|
153
159
|
}
|
154
160
|
}
|