@flozy/editor 11.0.3 → 11.0.5
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 +17 -16
- package/dist/Editor/CommonEditor.js +129 -16
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +36 -8
- package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
- package/dist/Editor/Elements/AI/Styles.js +1 -0
- package/dist/Editor/Elements/Accordion/Accordion.js +28 -22
- package/dist/Editor/Elements/Accordion/AccordionButton.js +12 -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 +153 -11
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +8 -3
- package/dist/Editor/Elements/Button/EditorButton.js +23 -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/Embed/Embed.js +36 -43
- package/dist/Editor/Elements/Embed/Image.js +236 -23
- package/dist/Editor/Elements/Embed/Video.js +245 -15
- package/dist/Editor/Elements/Form/Form.js +16 -10
- 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 +31 -74
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +9 -5
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +3 -1
- package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
- 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 +3 -2
- package/dist/Editor/Elements/Signature/SignaturePopup.js +24 -6
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +3 -3
- package/dist/Editor/Elements/Title/title.js +6 -6
- package/dist/Editor/Elements/TopBanner/TopBanner.js +4 -2
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +5 -3
- package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
- package/dist/Editor/MiniEditor.js +2 -1
- package/dist/Editor/Styles/EditorStyles.js +19 -4
- 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 +4 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +25 -23
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +25 -7
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +24 -8
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +70 -10
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +73 -14
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +4 -3
- package/dist/Editor/Toolbar/toolbarGroups.js +56 -10
- 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 -16
- 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 +4 -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/LinkSettings/NavComponents.js +6 -2
- package/dist/Editor/common/MentionsPopup/index.js +9 -1
- 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 +4 -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 +9 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +20 -7
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -2
- 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 +320 -130
- 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 +62 -4
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +15 -2
- 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/card.js +16 -8
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +115 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +16 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/StyleBuilder/index.js +8 -4
- package/dist/Editor/common/Uploader.js +125 -17
- package/dist/Editor/common/UploaderWithProgress.js +183 -0
- package/dist/Editor/common/iconslist.js +21 -0
- package/dist/Editor/commonStyle.js +67 -18
- package/dist/Editor/helper/index.js +10 -2
- package/dist/Editor/helper/textIndeces.js +58 -0
- package/dist/Editor/helper/theme.js +203 -2
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +9 -3
- package/dist/Editor/hooks/useThemeValues.js +63 -0
- package/dist/Editor/plugins/withEmbeds.js +12 -1
- package/dist/Editor/plugins/withHTML.js +3 -1
- 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 +191 -40
- package/dist/Editor/utils/accordion.js +67 -39
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/events.js +94 -89
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +98 -22
- package/package.json +4 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -454
@@ -28,8 +28,9 @@ export const TopBannerToolbar = props => {
|
|
28
28
|
}
|
29
29
|
};
|
30
30
|
const onSelectImage = img => {
|
31
|
+
const embedURL = typeof img === "string" ? img : img?.embedURL ? img?.embedURL : null;
|
31
32
|
updateTopBanner(editor, {
|
32
|
-
url:
|
33
|
+
url: embedURL
|
33
34
|
});
|
34
35
|
handleClose();
|
35
36
|
};
|
@@ -56,7 +57,8 @@ export const TopBannerToolbar = props => {
|
|
56
57
|
open: open,
|
57
58
|
onClose: handleClose,
|
58
59
|
customProps: customProps,
|
59
|
-
onSelectImage: onSelectImage
|
60
|
+
onSelectImage: onSelectImage,
|
61
|
+
disableProgress: true
|
60
62
|
})]
|
61
63
|
});
|
62
64
|
};
|
@@ -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
|
};
|
@@ -34,7 +34,8 @@ const VariableButton = props => {
|
|
34
34
|
PaperProps: {
|
35
35
|
style: {
|
36
36
|
maxHeight: 300,
|
37
|
-
overflowY: "auto"
|
37
|
+
overflowY: "auto",
|
38
|
+
transformOrigin: 'top left'
|
38
39
|
},
|
39
40
|
sx: {
|
40
41
|
"&::-webkit-scrollbar-track": {
|
@@ -44,6 +45,14 @@ const VariableButton = props => {
|
|
44
45
|
borderRadius: "16px"
|
45
46
|
}
|
46
47
|
}
|
48
|
+
},
|
49
|
+
anchorOrigin: {
|
50
|
+
vertical: 'bottom',
|
51
|
+
horizontal: 'right'
|
52
|
+
},
|
53
|
+
transformOrigin: {
|
54
|
+
vertical: 'top',
|
55
|
+
horizontal: 'right'
|
47
56
|
}
|
48
57
|
},
|
49
58
|
children: [/*#__PURE__*/_jsx(MenuItem, {
|
@@ -45,12 +45,13 @@ const MiniEditor = props => {
|
|
45
45
|
const {
|
46
46
|
translationMock
|
47
47
|
} = otherProps;
|
48
|
+
const dummyTranslation = () => {};
|
48
49
|
const customProps = {
|
49
50
|
...(otherProps || {}),
|
50
51
|
readOnly: isReadOnly,
|
51
52
|
editorPlaceholder: miniEditorPlaceholder,
|
52
53
|
page_id: id,
|
53
|
-
translation: translation || translationMock
|
54
|
+
translation: translation || translationMock || dummyTranslation
|
54
55
|
};
|
55
56
|
const [mentions, setMentions] = useMentions({
|
56
57
|
editor,
|
@@ -136,7 +136,11 @@ const editorStyles = ({
|
|
136
136
|
},
|
137
137
|
"& .accordion-summary-collapse-btn": {
|
138
138
|
padding: "4px",
|
139
|
-
width:
|
139
|
+
width: "5px",
|
140
|
+
"& svg:hover": {
|
141
|
+
background: theme?.palette?.editor?.tv_hover_bg,
|
142
|
+
borderRadius: "4px"
|
143
|
+
}
|
140
144
|
},
|
141
145
|
"& .workflow-icon-btn": {
|
142
146
|
pointerEvents: "none",
|
@@ -218,6 +222,17 @@ const editorStyles = ({
|
|
218
222
|
borderRadius: "12px",
|
219
223
|
"& svg": {
|
220
224
|
marginRight: "8px"
|
225
|
+
},
|
226
|
+
"& .circularProgress-cls": {
|
227
|
+
"& svg": {
|
228
|
+
width: "15px !important",
|
229
|
+
height: "15px !important"
|
230
|
+
}
|
231
|
+
},
|
232
|
+
"& .uploadCancel": {
|
233
|
+
color: theme?.palette?.editor?.closeButtonSvgStroke,
|
234
|
+
width: "25px !important",
|
235
|
+
height: "25px !important"
|
221
236
|
}
|
222
237
|
},
|
223
238
|
"& .content-editable.empty": {
|
@@ -245,7 +260,7 @@ const editorStyles = ({
|
|
245
260
|
}
|
246
261
|
},
|
247
262
|
"& .section-tw": {
|
248
|
-
background:
|
263
|
+
background: "transparent !important",
|
249
264
|
"& button": {
|
250
265
|
padding: "2px",
|
251
266
|
borderRadius: "0px",
|
@@ -295,7 +310,7 @@ const editorStyles = ({
|
|
295
310
|
},
|
296
311
|
"& ::selection": {
|
297
312
|
// background: 'rgba(35, 131, 226, 0.35)!important',
|
298
|
-
color:
|
313
|
+
color: "inherit"
|
299
314
|
},
|
300
315
|
"&.readOnlyContainer": {
|
301
316
|
"& .max-content": {
|
@@ -305,7 +320,7 @@ const editorStyles = ({
|
|
305
320
|
},
|
306
321
|
fullScreenWrapper: {
|
307
322
|
"& .editor-wrapper": {
|
308
|
-
paddingTop:
|
323
|
+
paddingTop: "20px"
|
309
324
|
},
|
310
325
|
"& .MuiDialog-paper, & .MuiPopover-paper": {
|
311
326
|
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,7 +12,8 @@ function MiniColorPicker(props) {
|
|
12
12
|
classes,
|
13
13
|
id,
|
14
14
|
editor,
|
15
|
-
customProps
|
15
|
+
customProps,
|
16
|
+
type
|
16
17
|
} = props;
|
17
18
|
const [openColorTool, setOpenColorTool] = useState(null);
|
18
19
|
const {
|
@@ -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
|
@@ -2,7 +2,7 @@ import { useMemo } from "react";
|
|
2
2
|
import { isBlockActive, toggleBlock } from "../../../utils/SlateUtilityFunctions";
|
3
3
|
import CustomSelectTool from "./CustomSelectTool";
|
4
4
|
import Icon from "../../../common/Icon";
|
5
|
-
import { insertAccordion } from "../../../utils/accordion";
|
5
|
+
import { insertAccordion, toggleAccordion } from "../../../utils/accordion";
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
7
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
8
|
function Label({
|
@@ -16,8 +16,8 @@ function Label({
|
|
16
16
|
}), " ", label]
|
17
17
|
});
|
18
18
|
}
|
19
|
-
function getListOptions(translation) {
|
20
|
-
|
19
|
+
function getListOptions(translation, listType) {
|
20
|
+
const list = [{
|
21
21
|
id: 15,
|
22
22
|
value: "orderedList",
|
23
23
|
type: "block",
|
@@ -53,7 +53,8 @@ function getListOptions(translation) {
|
|
53
53
|
icon: "check-list-item"
|
54
54
|
}),
|
55
55
|
group: "list"
|
56
|
-
}
|
56
|
+
}];
|
57
|
+
const accordion = [{
|
57
58
|
id: 30,
|
58
59
|
value: "accordion",
|
59
60
|
type: "accordion",
|
@@ -67,17 +68,30 @@ function getListOptions(translation) {
|
|
67
68
|
icon: "accordion"
|
68
69
|
})
|
69
70
|
}];
|
71
|
+
let options = [];
|
72
|
+
if (listType === "accordion-summary") {
|
73
|
+
options = [...accordion];
|
74
|
+
} else if (listType === "list-item") {
|
75
|
+
options = [...list];
|
76
|
+
} else {
|
77
|
+
options = [...list, ...accordion];
|
78
|
+
}
|
79
|
+
return options;
|
70
80
|
}
|
71
81
|
function SelectList({
|
72
82
|
editor,
|
73
83
|
classes,
|
74
84
|
closeMainPopup,
|
75
|
-
customProps
|
85
|
+
customProps,
|
86
|
+
commonProps
|
76
87
|
}) {
|
77
88
|
const {
|
78
89
|
translation
|
79
90
|
} = customProps;
|
80
|
-
const
|
91
|
+
const {
|
92
|
+
listType
|
93
|
+
} = commonProps || {};
|
94
|
+
const listOptions = getListOptions(translation, listType);
|
81
95
|
const selectedList = useMemo(() => {
|
82
96
|
return listOptions.find(t => isBlockActive(editor, t.value));
|
83
97
|
}, [listOptions, isBlockActive, editor]);
|
@@ -85,7 +99,11 @@ function SelectList({
|
|
85
99
|
if (option.type === "block") {
|
86
100
|
toggleBlock(editor, format);
|
87
101
|
} else if (option.type === "accordion") {
|
88
|
-
|
102
|
+
if (listType === "accordion-summary") {
|
103
|
+
toggleAccordion(editor);
|
104
|
+
} else {
|
105
|
+
insertAccordion(editor);
|
106
|
+
}
|
89
107
|
}
|
90
108
|
closeMainPopup();
|
91
109
|
};
|