@flozy/editor 11.1.1 → 11.1.2
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 +6 -6
- package/dist/Editor/CommonEditor.js +82 -21
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +37 -4
- package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Attachments/AttachmentStyles.js +16 -0
- package/dist/Editor/Elements/Attachments/Attachments.js +154 -11
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +8 -3
- package/dist/Editor/Elements/Button/EditorButton.js +22 -7
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
- package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +134 -55
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +7 -8
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +8 -3
- package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
- package/dist/Editor/Elements/Embed/Embed.css +5 -0
- package/dist/Editor/Elements/Embed/Embed.js +37 -43
- package/dist/Editor/Elements/Embed/Image.js +242 -22
- package/dist/Editor/Elements/Embed/Video.js +277 -32
- package/dist/Editor/Elements/Form/Form.js +10 -35
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
- package/dist/Editor/Elements/Form/Workflow/constant.js +25 -1
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +34 -75
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +9 -5
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +3 -1
- package/dist/Editor/Elements/FreeGrid/helper.js +194 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +15 -0
- package/dist/Editor/Elements/Grid/GridItem.js +1 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +2 -1
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -3
- package/dist/Editor/Elements/Signature/SignaturePopup.js +2 -13
- package/dist/Editor/Elements/SimpleText/index.js +4 -1
- package/dist/Editor/Elements/Table/Table.js +2 -1
- package/dist/Editor/Elements/Table/TableCell.js +10 -3
- package/dist/Editor/Elements/Title/title.js +4 -5
- package/dist/Editor/Elements/TopBanner/TopBanner.js +4 -2
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +5 -3
- package/dist/Editor/Styles/EditorStyles.js +16 -5
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +33 -29
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +3 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +25 -23
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -5
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +65 -7
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +66 -12
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +7 -4
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/BackIcon.js +18 -0
- package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
- package/dist/Editor/common/ColorPickerButton.js +38 -19
- package/dist/Editor/common/CustomColorPicker/index.js +130 -0
- package/dist/Editor/common/CustomColorPicker/style.js +53 -0
- package/dist/Editor/common/CustomDialog2/index.js +94 -0
- package/dist/Editor/common/CustomDialog2/style.js +67 -0
- package/dist/Editor/common/CustomSelect.js +43 -0
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +1 -0
- package/dist/Editor/common/Icon.js +28 -0
- package/dist/Editor/common/ImageSelector/ImageSelector.js +45 -7
- package/dist/Editor/common/ImageSelector/Options/Upload.js +26 -11
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +20 -7
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +2 -0
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +20 -7
- package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -11
- package/dist/Editor/common/RnD/Utils/index.js +3 -1
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +52 -63
- package/dist/Editor/common/RnD/VirtualElement/helper.js +248 -68
- package/dist/Editor/common/RnD/VirtualElement/styles.js +22 -0
- package/dist/Editor/common/RnD/index.js +61 -14
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
- package/dist/Editor/common/StyleBuilder/fieldStyle.js +1 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +18 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +2 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +15 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/StyleBuilder/formStyle.js +19 -13
- package/dist/Editor/common/StyleBuilder/index.js +8 -4
- package/dist/Editor/common/Uploader.js +118 -17
- package/dist/Editor/common/UploaderWithProgress.js +183 -0
- package/dist/Editor/common/iconslist.js +21 -0
- package/dist/Editor/commonStyle.js +37 -3
- package/dist/Editor/helper/index.js +4 -1
- package/dist/Editor/helper/theme.js +203 -2
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +12 -3
- package/dist/Editor/hooks/useTable.js +62 -1
- package/dist/Editor/hooks/useThemeValues.js +63 -0
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +56 -3
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/service/fileupload.js +70 -0
- package/dist/Editor/theme/ThemeList.js +50 -173
- package/dist/Editor/theme/index.js +149 -0
- package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
- package/dist/Editor/themeSettings/buttons/index.js +300 -0
- package/dist/Editor/themeSettings/buttons/style.js +23 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
- package/dist/Editor/themeSettings/fonts/index.js +240 -0
- package/dist/Editor/themeSettings/fonts/style.js +62 -0
- package/dist/Editor/themeSettings/icons.js +60 -0
- package/dist/Editor/themeSettings/index.js +380 -0
- package/dist/Editor/themeSettings/style.js +299 -0
- package/dist/Editor/themeSettingsAI/icons.js +96 -0
- package/dist/Editor/themeSettingsAI/index.js +355 -0
- package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
- package/dist/Editor/themeSettingsAI/style.js +332 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +162 -38
- package/dist/Editor/utils/accordion.js +1 -1
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +76 -3
- package/dist/Editor/utils/insertAppHeader.js +8 -4
- package/package.json +1 -1
@@ -17,9 +17,10 @@ const TopBannerButton = props => {
|
|
17
17
|
translation
|
18
18
|
} = customProps;
|
19
19
|
const onSelectImage = url => {
|
20
|
-
|
20
|
+
const embedURL = typeof url === "string" ? url : url?.embedURL ? url?.embedURL : null;
|
21
|
+
if (embedURL) {
|
21
22
|
insertTopBanner(editor, {
|
22
|
-
url
|
23
|
+
url: embedURL
|
23
24
|
});
|
24
25
|
}
|
25
26
|
setOpen(false);
|
@@ -42,7 +43,8 @@ const TopBannerButton = props => {
|
|
42
43
|
open: open,
|
43
44
|
onClose: handleClose,
|
44
45
|
customProps: customProps,
|
45
|
-
onSelectImage: onSelectImage
|
46
|
+
onSelectImage: onSelectImage,
|
47
|
+
disableProgress: true
|
46
48
|
})]
|
47
49
|
});
|
48
50
|
};
|
@@ -136,7 +136,7 @@ const editorStyles = ({
|
|
136
136
|
},
|
137
137
|
"& .accordion-summary-collapse-btn": {
|
138
138
|
padding: "4px",
|
139
|
-
width:
|
139
|
+
width: "5px"
|
140
140
|
},
|
141
141
|
"& .workflow-icon-btn": {
|
142
142
|
pointerEvents: "none",
|
@@ -218,6 +218,17 @@ const editorStyles = ({
|
|
218
218
|
borderRadius: "12px",
|
219
219
|
"& svg": {
|
220
220
|
marginRight: "8px"
|
221
|
+
},
|
222
|
+
"& .circularProgress-cls": {
|
223
|
+
"& svg": {
|
224
|
+
width: "15px !important",
|
225
|
+
height: "15px !important"
|
226
|
+
}
|
227
|
+
},
|
228
|
+
"& .uploadCancel": {
|
229
|
+
color: theme?.palette?.editor?.closeButtonSvgStroke,
|
230
|
+
width: "25px !important",
|
231
|
+
height: "25px !important"
|
221
232
|
}
|
222
233
|
},
|
223
234
|
"& .content-editable.empty": {
|
@@ -245,7 +256,7 @@ const editorStyles = ({
|
|
245
256
|
}
|
246
257
|
},
|
247
258
|
"& .section-tw": {
|
248
|
-
background:
|
259
|
+
background: "transparent !important",
|
249
260
|
"& button": {
|
250
261
|
padding: "2px",
|
251
262
|
borderRadius: "0px",
|
@@ -294,8 +305,8 @@ const editorStyles = ({
|
|
294
305
|
}
|
295
306
|
},
|
296
307
|
"& ::selection": {
|
297
|
-
background: 'rgba(35, 131, 226, 0.35)!important',
|
298
|
-
color:
|
308
|
+
// background: 'rgba(35, 131, 226, 0.35)!important',
|
309
|
+
color: "inherit"
|
299
310
|
},
|
300
311
|
"&.readOnlyContainer": {
|
301
312
|
"& .max-content": {
|
@@ -305,7 +316,7 @@ const editorStyles = ({
|
|
305
316
|
},
|
306
317
|
fullScreenWrapper: {
|
307
318
|
"& .editor-wrapper": {
|
308
|
-
paddingTop:
|
319
|
+
paddingTop: "20px"
|
309
320
|
},
|
310
321
|
"& .MuiDialog-paper, & .MuiPopover-paper": {
|
311
322
|
background: `${theme?.palette?.editor?.background} !important`
|
@@ -1,8 +1,32 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Select, MenuItem } from "@mui/material";
|
3
|
-
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
|
3
|
+
import { addMarkData, activeMark, getSelectedElementStyle } from "../../utils/SlateUtilityFunctions.js";
|
4
|
+
import { toolbarGroups } from "../toolbarGroups.js";
|
4
5
|
import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
|
6
|
+
import { googleFontList as defaultFonts } from "../../common/FontLoader/FontList.js";
|
5
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
8
|
+
const allTools = toolbarGroups.flat();
|
9
|
+
const fontWeight = allTools.find(f => f.format === "fontWeight");
|
10
|
+
export const getValue = (editor, format) => {
|
11
|
+
switch (format) {
|
12
|
+
case "fontFamily":
|
13
|
+
{
|
14
|
+
const style = getSelectedElementStyle("font-family", editor, format);
|
15
|
+
return style || defaultFonts[0];
|
16
|
+
}
|
17
|
+
case "fontWeight":
|
18
|
+
{
|
19
|
+
const {
|
20
|
+
options
|
21
|
+
} = fontWeight || {};
|
22
|
+
const fontWeightStyle = getSelectedElementStyle("font-weight", editor, format);
|
23
|
+
const selected = options?.find(o => o.value === fontWeightStyle || o.numVal === fontWeightStyle);
|
24
|
+
return selected?.value;
|
25
|
+
}
|
26
|
+
default:
|
27
|
+
return activeMark(editor, format);
|
28
|
+
}
|
29
|
+
};
|
6
30
|
const Dropdown = ({
|
7
31
|
classes,
|
8
32
|
editor,
|
@@ -10,7 +34,7 @@ const Dropdown = ({
|
|
10
34
|
options,
|
11
35
|
width
|
12
36
|
}) => {
|
13
|
-
const value = activeMark(editor, format);
|
37
|
+
const value = activeMark(editor, format, true) || getValue(editor, format);
|
14
38
|
const changeMarkData = (event, format) => {
|
15
39
|
event.preventDefault();
|
16
40
|
const value = event.target.value;
|
@@ -20,7 +44,7 @@ const Dropdown = ({
|
|
20
44
|
});
|
21
45
|
};
|
22
46
|
return /*#__PURE__*/_jsx(Select, {
|
23
|
-
value: value,
|
47
|
+
value: value || options?.[0]?.value,
|
24
48
|
className: "editor-dd",
|
25
49
|
onChange: e => changeMarkData(e, format),
|
26
50
|
MenuProps: {
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Autocomplete, TextField } from "@mui/material";
|
3
|
-
import {
|
3
|
+
import { 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
|
6
|
+
import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
|
7
|
+
import { getValue } from "./Dropdown.js";
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
8
9
|
const FontFamilyAutocomplete = ({
|
9
10
|
editor,
|
@@ -14,7 +15,7 @@ const FontFamilyAutocomplete = ({
|
|
14
15
|
val = "",
|
15
16
|
webFont = false
|
16
17
|
}) => {
|
17
|
-
const markValue =
|
18
|
+
const markValue = getValue(editor, format);
|
18
19
|
const value = !webFont ? markValue : val;
|
19
20
|
const changeMarkData = (event, newValue, format) => {
|
20
21
|
if (!webFont) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import Icon from "../../common/Icon";
|
3
3
|
import Button from "../../common/Button";
|
4
|
-
import { toggleMark,
|
4
|
+
import { toggleMark, isMarkBtnActive } from "../../utils/SlateUtilityFunctions.js";
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
6
|
const MarkButton = ({
|
7
7
|
editor,
|
@@ -13,7 +13,7 @@ const MarkButton = ({
|
|
13
13
|
translation
|
14
14
|
} = customProps;
|
15
15
|
return /*#__PURE__*/_jsx(Button, {
|
16
|
-
active:
|
16
|
+
active: isMarkBtnActive(editor, format),
|
17
17
|
format: format,
|
18
18
|
onMouseDown: e => {
|
19
19
|
e.preventDefault();
|
@@ -1,27 +1,36 @@
|
|
1
1
|
import React, { useEffect, useRef, useState } from "react";
|
2
2
|
import { TextField, IconButton } from "@mui/material";
|
3
|
-
import { addMarkData, activeMark
|
4
|
-
import {
|
5
|
-
import { getBreakPointsValue } from "../../helper/theme.js";
|
3
|
+
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
|
4
|
+
import { getBreakPointsValue, getTextSizeVal } from "../../helper/theme.js";
|
6
5
|
import useWindowResize from "../../hooks/useWindowResize.js";
|
7
6
|
import { BREAKPOINTS_DEVICES } from "../../helper/theme.js";
|
8
7
|
import { TextSizeDownArrow, TextSizeUpArrow } from "../../common/iconListV2.js";
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
10
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
11
10
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
12
|
-
const TextSize =
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
11
|
+
const TextSize = props => {
|
12
|
+
const {
|
13
|
+
classes,
|
14
|
+
editor,
|
15
|
+
format,
|
16
|
+
fullWidth,
|
17
|
+
fromMiniTextFormat,
|
18
|
+
setResizedSize,
|
19
|
+
resizedSize
|
20
|
+
} = props;
|
21
21
|
const [fontSize, setFontSize] = useState();
|
22
|
+
const sizeValue = fromMiniTextFormat ? resizedSize : fontSize;
|
23
|
+
const setSizeValue = fromMiniTextFormat ? setResizedSize : setFontSize;
|
22
24
|
const timerRef = useRef();
|
25
|
+
const [size] = useWindowResize();
|
26
|
+
const val = activeMark(editor, format);
|
27
|
+
|
28
|
+
// const noFontSize =
|
29
|
+
// val === "normal" || (typeof val === "object" && !Object.keys(val)?.length);
|
30
|
+
|
31
|
+
const value = getTextSizeVal(editor);
|
23
32
|
useEffect(() => {
|
24
|
-
|
33
|
+
setSizeValue(getSizeVal());
|
25
34
|
}, [value]);
|
26
35
|
const updateMarkData = newVal => {
|
27
36
|
let upData = {
|
@@ -48,38 +57,33 @@ const TextSize = ({
|
|
48
57
|
if (value) {
|
49
58
|
let inc = parseInt(value);
|
50
59
|
inc = inc > 200 ? 200 : inc;
|
60
|
+
setSizeValue(inc);
|
51
61
|
updateMarkData(inc);
|
52
62
|
} else {
|
53
|
-
|
63
|
+
setSizeValue(null);
|
54
64
|
}
|
55
65
|
};
|
56
66
|
const getSizeVal = () => {
|
57
67
|
try {
|
58
|
-
|
59
|
-
Object.entries(headingMap).forEach(([format, value]) => {
|
60
|
-
if (isBlockActive(editor, format) && isNaN(parseInt(size))) {
|
61
|
-
size = value;
|
62
|
-
}
|
63
|
-
});
|
64
|
-
return parseInt(size);
|
68
|
+
return parseInt(value);
|
65
69
|
} catch (err) {
|
66
70
|
return "";
|
67
71
|
}
|
68
72
|
};
|
69
|
-
const combinedOldVal = getSizeVal();
|
70
73
|
const onIncreaseSize = () => {
|
71
|
-
|
72
|
-
|
73
|
-
updateMarkData(
|
74
|
+
const newValue = Math.min((sizeValue || 16) + 1, 200);
|
75
|
+
setSizeValue(newValue);
|
76
|
+
updateMarkData(newValue);
|
74
77
|
};
|
75
78
|
const onDecreaseSize = () => {
|
76
|
-
const
|
77
|
-
|
79
|
+
const newValue = sizeValue ? Math.max(sizeValue - 1, 1) : 16;
|
80
|
+
setSizeValue(newValue);
|
81
|
+
updateMarkData(newValue);
|
78
82
|
};
|
79
83
|
const onChange = e => {
|
80
84
|
clearTimeout(timerRef.current);
|
81
85
|
const value = e.target.value;
|
82
|
-
|
86
|
+
setSizeValue(value);
|
83
87
|
timerRef.current = setTimeout(() => {
|
84
88
|
onChangeSize(value);
|
85
89
|
}, 500);
|
@@ -87,7 +91,7 @@ const TextSize = ({
|
|
87
91
|
return /*#__PURE__*/_jsx(_Fragment, {
|
88
92
|
children: /*#__PURE__*/_jsx(TextField, {
|
89
93
|
sx: classes?.textSize,
|
90
|
-
value:
|
94
|
+
value: sizeValue || 16,
|
91
95
|
onChange: onChange,
|
92
96
|
size: "small",
|
93
97
|
inputProps: {
|
@@ -12,6 +12,7 @@ function MiniColorPicker(props) {
|
|
12
12
|
classes,
|
13
13
|
id,
|
14
14
|
editor,
|
15
|
+
type,
|
15
16
|
customProps
|
16
17
|
} = props;
|
17
18
|
const [openColorTool, setOpenColorTool] = useState(null);
|
@@ -38,7 +39,8 @@ function MiniColorPicker(props) {
|
|
38
39
|
classes: classes,
|
39
40
|
forMiniTool: true,
|
40
41
|
openColorTool: openColorTool,
|
41
|
-
closeColorTool: () => setOpenColorTool(null)
|
42
|
+
closeColorTool: () => setOpenColorTool(null),
|
43
|
+
type: type
|
42
44
|
}, id)]
|
43
45
|
});
|
44
46
|
}
|
@@ -1,25 +1,30 @@
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
2
|
-
import { activeMark, addMarkData
|
2
|
+
import { activeMark, addMarkData } from "../../../utils/SlateUtilityFunctions";
|
3
3
|
import { Button, IconButton, Popover, TextField } from "@mui/material";
|
4
4
|
import DownArrowIcon from "../../../assets/svg/DownArrowIcon";
|
5
5
|
import useWindowResize from "../../../hooks/useWindowResize";
|
6
|
-
import { BREAKPOINTS_DEVICES, getBreakPointsValue } from "../../../helper/theme";
|
7
|
-
import { headingMap, sizeMap } from "../../../utils/font";
|
6
|
+
import { BREAKPOINTS_DEVICES, getBreakPointsValue, getTextSizeVal } from "../../../helper/theme";
|
8
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
9
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
10
9
|
const fontSizeOptions = [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 26, 32, 36, 40, 48, 64, 96, 128];
|
11
|
-
function SelectFontSize({
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
function SelectFontSize(props) {
|
11
|
+
const {
|
12
|
+
editor,
|
13
|
+
classes,
|
14
|
+
fromMiniTextFormat,
|
15
|
+
setResizedSize,
|
16
|
+
resizedSize
|
17
|
+
} = props;
|
15
18
|
const format = "fontSize";
|
16
19
|
const [fontSize, setFontSize] = useState();
|
20
|
+
const sizeValue = fromMiniTextFormat ? resizedSize : fontSize;
|
21
|
+
const setSizeValue = fromMiniTextFormat ? setResizedSize : setFontSize;
|
17
22
|
const [anchorEl, setAnchorEl] = useState(null);
|
18
23
|
const open = Boolean(anchorEl);
|
19
24
|
const containerRef = useRef();
|
20
25
|
const [size] = useWindowResize();
|
21
26
|
const val = activeMark(editor, format);
|
22
|
-
const value =
|
27
|
+
const value = getTextSizeVal(editor);
|
23
28
|
const timerRef = useRef();
|
24
29
|
const updateMarkData = newVal => {
|
25
30
|
let upData = {
|
@@ -46,31 +51,28 @@ function SelectFontSize({
|
|
46
51
|
if (value) {
|
47
52
|
let inc = parseInt(value);
|
48
53
|
inc = inc > 200 ? 200 : inc;
|
54
|
+
setSizeValue(inc);
|
49
55
|
updateMarkData(inc);
|
50
56
|
} else {
|
51
|
-
|
57
|
+
setSizeValue(null);
|
52
58
|
}
|
53
59
|
};
|
54
60
|
const getSizeVal = () => {
|
55
61
|
try {
|
56
|
-
|
57
|
-
Object.entries(headingMap).forEach(([format, value]) => {
|
58
|
-
if (isBlockActive(editor, format) && isNaN(parseInt(size))) {
|
59
|
-
size = value;
|
60
|
-
}
|
61
|
-
});
|
62
|
-
return isNaN(parseInt(size)) ? 14 : parseInt(size);
|
62
|
+
return parseInt(value);
|
63
63
|
} catch (err) {
|
64
64
|
return "";
|
65
65
|
}
|
66
66
|
};
|
67
67
|
useEffect(() => {
|
68
|
-
|
68
|
+
if (value) {
|
69
|
+
setSizeValue(getSizeVal());
|
70
|
+
}
|
69
71
|
}, [value]);
|
70
72
|
const onChange = e => {
|
71
73
|
clearTimeout(timerRef.current);
|
72
74
|
const value = e.target.value;
|
73
|
-
|
75
|
+
setSizeValue(value);
|
74
76
|
timerRef.current = setTimeout(() => {
|
75
77
|
onChangeSize(value);
|
76
78
|
}, 500);
|
@@ -83,7 +85,7 @@ function SelectFontSize({
|
|
83
85
|
},
|
84
86
|
children: [/*#__PURE__*/_jsx(TextField, {
|
85
87
|
sx: classes?.miniFontSizeInput,
|
86
|
-
value:
|
88
|
+
value: sizeValue,
|
87
89
|
onChange: onChange,
|
88
90
|
size: "small"
|
89
91
|
}), /*#__PURE__*/_jsx(IconButton, {
|
@@ -97,16 +99,16 @@ function SelectFontSize({
|
|
97
99
|
anchorEl: anchorEl,
|
98
100
|
onClose: () => setAnchorEl(null),
|
99
101
|
anchorOrigin: {
|
100
|
-
vertical:
|
101
|
-
horizontal:
|
102
|
+
vertical: "bottom",
|
103
|
+
horizontal: "left"
|
102
104
|
},
|
103
105
|
sx: classes.customSelectPopoverWrapper,
|
104
106
|
children: fontSizeOptions.map((s, i) => {
|
105
107
|
return /*#__PURE__*/_jsx("div", {
|
106
108
|
children: /*#__PURE__*/_jsx(Button, {
|
107
|
-
className: `customSelectOptionLabel ${
|
109
|
+
className: `customSelectOptionLabel ${sizeValue === s ? "selected" : ""}`,
|
108
110
|
onClick: () => {
|
109
|
-
|
111
|
+
setSizeValue(s);
|
110
112
|
onChangeSize(s);
|
111
113
|
},
|
112
114
|
children: s
|