@flozy/editor 10.9.4 → 10.9.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 +16 -17
- package/dist/Editor/CommonEditor.js +27 -138
- package/dist/Editor/DialogWrapper.js +25 -31
- package/dist/Editor/Editor.css +11 -39
- package/dist/Editor/Elements/AI/PopoverAIInput.js +3 -11
- package/dist/Editor/Elements/AI/Styles.js +0 -1
- package/dist/Editor/Elements/Accordion/Accordion.js +22 -28
- package/dist/Editor/Elements/Accordion/AccordionButton.js +3 -12
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Attachments/Attachments.js +11 -153
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +3 -8
- package/dist/Editor/Elements/Button/EditorButton.js +7 -23
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -61
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
- package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +454 -0
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +55 -134
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +8 -7
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +3 -8
- 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.js +43 -36
- package/dist/Editor/Elements/Embed/Image.js +23 -236
- package/dist/Editor/Elements/Embed/Video.js +15 -246
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
- package/dist/Editor/Elements/Form/Workflow/constant.js +1 -25
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +33 -39
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -7
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +0 -1
- package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
- package/dist/Editor/Elements/FreeGrid/styles.js +0 -15
- package/dist/Editor/Elements/Grid/GridItem.js +1 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -2
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +4 -5
- package/dist/Editor/Elements/Table/TableCell.js +3 -10
- package/dist/Editor/Elements/Title/title.js +11 -10
- package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -4
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +3 -5
- package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
- package/dist/Editor/MiniEditor.js +1 -2
- package/dist/Editor/Styles/EditorStyles.js +8 -20
- 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 +29 -33
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +2 -4
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +23 -25
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +7 -25
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +8 -24
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +10 -70
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +14 -73
- package/dist/Editor/Toolbar/PopupTool/index.js +4 -7
- package/dist/Editor/Toolbar/toolbarGroups.js +10 -56
- package/dist/Editor/common/ColorPickerButton.js +16 -38
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +0 -4
- package/dist/Editor/common/Icon.js +0 -28
- package/dist/Editor/common/ImageSelector/ImageSelector.js +7 -45
- package/dist/Editor/common/ImageSelector/Options/Upload.js +11 -26
- package/dist/Editor/common/ImageSelector/Styles.js +9 -3
- package/dist/Editor/common/LinkSettings/NavComponents.js +2 -6
- package/dist/Editor/common/MentionsPopup/index.js +1 -9
- 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 +7 -20
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +1 -9
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +7 -20
- package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -11
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +18 -28
- package/dist/Editor/common/RnD/Utils/index.js +1 -3
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +58 -45
- package/dist/Editor/common/RnD/VirtualElement/helper.js +130 -320
- package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -22
- package/dist/Editor/common/RnD/index.js +13 -48
- package/dist/Editor/common/Shorthands/elements.js +4 -62
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -4
- package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +2 -15
- 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 +8 -16
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -36
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +7 -16
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +0 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +1 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
- package/dist/Editor/common/StyleBuilder/formStyle.js +13 -19
- package/dist/Editor/common/StyleBuilder/index.js +4 -8
- package/dist/Editor/common/Uploader.js +17 -125
- package/dist/Editor/common/iconslist.js +0 -21
- package/dist/Editor/commonStyle.js +45 -64
- package/dist/Editor/helper/index.js +2 -10
- package/dist/Editor/helper/theme.js +2 -203
- package/dist/Editor/hooks/useMouseMove.js +3 -9
- package/dist/Editor/hooks/useTable.js +1 -62
- package/dist/Editor/plugins/withEmbeds.js +1 -12
- package/dist/Editor/plugins/withHTML.js +3 -58
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/service/fileupload.js +0 -70
- package/dist/Editor/theme/ThemeList.js +173 -50
- package/dist/Editor/utils/SlateUtilityFunctions.js +40 -189
- package/dist/Editor/utils/accordion.js +40 -68
- package/dist/Editor/utils/button.js +17 -1
- package/dist/Editor/utils/draftToSlate.js +2 -3
- package/dist/Editor/utils/events.js +89 -94
- package/dist/Editor/utils/font.js +37 -40
- package/dist/Editor/utils/formfield.js +2 -2
- package/dist/Editor/utils/helper.js +22 -98
- package/dist/Editor/utils/insertAppHeader.js +4 -8
- package/package.json +4 -4
- package/dist/Editor/Elements/Attachments/AttachmentStyles.js +0 -16
- package/dist/Editor/Elements/FreeGrid/helper.js +0 -115
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -439
- package/dist/Editor/assets/svg/BackIcon.js +0 -18
- package/dist/Editor/assets/svg/ThemeIcons.js +0 -293
- package/dist/Editor/common/CustomColorPicker/index.js +0 -130
- package/dist/Editor/common/CustomColorPicker/style.js +0 -53
- package/dist/Editor/common/CustomDialog2/index.js +0 -94
- package/dist/Editor/common/CustomDialog2/style.js +0 -67
- package/dist/Editor/common/CustomSelect.js +0 -43
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
- package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +0 -115
- package/dist/Editor/common/UploaderWithProgress.js +0 -183
- package/dist/Editor/helper/textIndeces.js +0 -58
- package/dist/Editor/hooks/useEditorTheme.js +0 -153
- package/dist/Editor/hooks/useThemeValues.js +0 -63
- package/dist/Editor/theme/index.js +0 -149
- package/dist/Editor/themeSettings/ActiveTheme.js +0 -82
- package/dist/Editor/themeSettings/buttons/index.js +0 -300
- package/dist/Editor/themeSettings/buttons/style.js +0 -23
- package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
- package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
- package/dist/Editor/themeSettings/fonts/index.js +0 -240
- package/dist/Editor/themeSettings/fonts/style.js +0 -62
- package/dist/Editor/themeSettings/icons.js +0 -60
- package/dist/Editor/themeSettings/index.js +0 -380
- package/dist/Editor/themeSettings/style.js +0 -299
- package/dist/Editor/themeSettingsAI/icons.js +0 -96
- package/dist/Editor/themeSettingsAI/index.js +0 -355
- package/dist/Editor/themeSettingsAI/saveTheme.js +0 -202
- package/dist/Editor/themeSettingsAI/style.js +0 -332
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, { useCallback, useMemo, useRef, useImperativeHandle, forwardRef, useState } from "react";
|
2
|
-
import { Editable, Slate, ReactEditor } from
|
3
|
-
import { createEditor, Transforms, Editor } from
|
2
|
+
import { Editable, Slate, ReactEditor } from 'slate-react';
|
3
|
+
import { createEditor, Transforms, Editor } from 'slate';
|
4
4
|
import withCommon from "./hooks/withCommon";
|
5
5
|
import { getBlock, getMarked, serializeMentions } from "./utils/chatEditor/SlateUtilityFunctions";
|
6
6
|
import MiniTextFormat from "./Toolbar/PopupTool/MiniTextFormat";
|
@@ -33,15 +33,15 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
33
33
|
isMobile = false,
|
34
34
|
debounceTimeOut = 10,
|
35
35
|
isMarkDown = false,
|
36
|
-
markDownContent =
|
36
|
+
markDownContent = '',
|
37
37
|
translation
|
38
38
|
} = props;
|
39
39
|
const classes = usePopupStyle(theme);
|
40
40
|
const convertedContent = draftToSlate({
|
41
41
|
data: content && content?.length > 0 ? content : [{
|
42
|
-
type:
|
42
|
+
type: 'paragraph',
|
43
43
|
children: [{
|
44
|
-
text:
|
44
|
+
text: ''
|
45
45
|
}]
|
46
46
|
}]
|
47
47
|
});
|
@@ -153,6 +153,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
153
153
|
// needLayout = true,
|
154
154
|
} = otherProps || {};
|
155
155
|
const mentionsRef = useRef();
|
156
|
+
const customProps = {
|
157
|
+
...(otherProps || {}),
|
158
|
+
hideTools: ["settings", "add_column", "drag", "resize"],
|
159
|
+
readOnly: isReadOnly,
|
160
|
+
editorPlaceholder: "Write Something",
|
161
|
+
page_id: 1,
|
162
|
+
translation: translation || translationMock
|
163
|
+
};
|
156
164
|
const [mentions, setMentions] = useMentions({
|
157
165
|
editor,
|
158
166
|
selection: editor?.selection
|
@@ -214,15 +222,6 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
214
222
|
debounced(newValue);
|
215
223
|
debouncedValue.current = newValue;
|
216
224
|
};
|
217
|
-
const dummyTranslation = () => {};
|
218
|
-
const customProps = {
|
219
|
-
...(otherProps || {}),
|
220
|
-
hideTools: ["settings", "add_column", "drag", "resize"],
|
221
|
-
readOnly: isReadOnly,
|
222
|
-
editorPlaceholder: "Write Something",
|
223
|
-
page_id: 1,
|
224
|
-
translation: translation || translationMock || dummyTranslation
|
225
|
-
};
|
226
225
|
const Element = props => {
|
227
226
|
return getBlock(props);
|
228
227
|
};
|
@@ -258,7 +257,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
258
257
|
editor
|
259
258
|
});
|
260
259
|
} else if (event.key === "Enter" && !isMobile) {
|
261
|
-
const isEmpty = debouncedValue?.current.length === 1 && debouncedValue?.current[0].type ===
|
260
|
+
const isEmpty = debouncedValue?.current.length === 1 && debouncedValue?.current[0].type === 'paragraph' && debouncedValue?.current[0].children.length === 1 && debouncedValue?.current[0].children[0].text === '';
|
262
261
|
if (isEmpty) {
|
263
262
|
event.preventDefault();
|
264
263
|
return;
|
@@ -298,10 +297,10 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
298
297
|
}
|
299
298
|
};
|
300
299
|
|
301
|
-
const html = isMarkDown ? convertMDToHTML(markDownContent) : null;
|
302
300
|
const handleFocus = () => {
|
303
301
|
setIsFocused(true);
|
304
302
|
};
|
303
|
+
const html = isMarkDown ? convertMDToHTML(markDownContent) : null;
|
305
304
|
return !isMarkDown ? /*#__PURE__*/_jsx(EditorProvider, {
|
306
305
|
theme: theme,
|
307
306
|
editor: editor,
|
@@ -315,13 +314,13 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
315
314
|
closeMainPopup: handleClose,
|
316
315
|
customProps: customProps
|
317
316
|
}), /*#__PURE__*/_jsx(Editable, {
|
317
|
+
onFocus: handleFocus,
|
318
318
|
className: "chatEditorRoot",
|
319
319
|
renderElement: renderElement,
|
320
320
|
renderLeaf: renderLeaf,
|
321
321
|
decorate: decorators,
|
322
322
|
placeholder: "Start typing ...",
|
323
323
|
spellCheck: true,
|
324
|
-
onFocus: handleFocus,
|
325
324
|
onBlur: handleBlur,
|
326
325
|
onKeyDown: onKeyDown,
|
327
326
|
onPaste: handlePaste,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
2
|
-
import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle
|
2
|
+
import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle } from "react";
|
3
3
|
import PropTypes from "prop-types";
|
4
|
-
import { createEditor,
|
4
|
+
import { createEditor, Range, Transforms } from "slate";
|
5
5
|
import { Slate, Editable, ReactEditor } from "slate-react";
|
6
6
|
import { useDebouncedCallback } from "use-debounce";
|
7
7
|
import { getMarked, getBlock } from "./utils/SlateUtilityFunctions";
|
@@ -17,7 +17,7 @@ import { serializeToText } from "./utils/serializeToText";
|
|
17
17
|
import { getPageSettings } from "./utils/pageSettings";
|
18
18
|
import { getThumbnailImage, invertColor, pageTextStyle } from "./helper";
|
19
19
|
import PopupTool from "./Toolbar/PopupTool";
|
20
|
-
import { Box, Typography, useTheme
|
20
|
+
import { Box, Typography, useTheme } from "@mui/material";
|
21
21
|
import Shorthands from "./common/Shorthands";
|
22
22
|
import MiniToolbar from "./Toolbar/Mini/MiniToolbar";
|
23
23
|
import { EditorProvider } from "./hooks/useMouseMove";
|
@@ -26,12 +26,9 @@ 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 {
|
29
|
+
import { getBreakpointLineSpacing, getTRBLBreakPoints } from "./helper/theme";
|
30
30
|
import { getInitialValue, handleCopy, handleInsertLastElement, isEverythingSelected, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
|
31
31
|
import useWindowResize from "./hooks/useWindowResize";
|
32
|
-
import { getTheme } from "./theme";
|
33
|
-
import ThemeSettings from "./themeSettings";
|
34
|
-
import ThemeSettingsAI from "./themeSettingsAI";
|
35
32
|
import PopoverAIInput from "./Elements/AI/PopoverAIInput";
|
36
33
|
import RnDCopy from "./common/RnD/RnDCopy";
|
37
34
|
import SwitchViewport from "./common/RnD/SwitchViewport/SwitchViewport";
|
@@ -40,12 +37,9 @@ import "./font.css";
|
|
40
37
|
import "./Editor.css";
|
41
38
|
import "animate.css";
|
42
39
|
import FontLoader from "./common/FontLoader/FontLoader";
|
43
|
-
import { ThemeAIIcon, ThemePaintIcon } from "./assets/svg/ThemeIcons";
|
44
40
|
import { CustomDialogComponent } from "./common/CustomDialog";
|
45
|
-
import { extractTextWithPath, replaceTextPath } from "./helper/textIndeces.js";
|
46
41
|
import { jsx as _jsx } from "react/jsx-runtime";
|
47
42
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
48
|
-
export const ThemeContext = /*#__PURE__*/createContext(null);
|
49
43
|
const Item = /*#__PURE__*/forwardRef(({
|
50
44
|
children,
|
51
45
|
...props
|
@@ -87,7 +81,6 @@ const updateTopBanner = (content = [], setTopBanner) => {
|
|
87
81
|
return firstNode?.type === "topbanner" ? firstNode : null;
|
88
82
|
});
|
89
83
|
};
|
90
|
-
const dummyTranslation = () => {};
|
91
84
|
const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
92
85
|
const {
|
93
86
|
id,
|
@@ -101,7 +94,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
101
94
|
otherProps,
|
102
95
|
isIframe,
|
103
96
|
theme,
|
104
|
-
showThemeButtons,
|
105
97
|
showViewport = false,
|
106
98
|
overrideWrapperStyles = {},
|
107
99
|
translation
|
@@ -109,8 +101,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
109
101
|
const editorWrapper = useRef();
|
110
102
|
const mentionsRef = useRef();
|
111
103
|
const convertedContent = draftToSlate({
|
112
|
-
data: content
|
113
|
-
needLayout: otherProps?.needLayout
|
104
|
+
data: content
|
114
105
|
});
|
115
106
|
const [value, setValue] = useState(convertedContent);
|
116
107
|
const [isInteracted, setIsInteracted] = useState(false);
|
@@ -136,29 +127,14 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
136
127
|
fixedWidth = "60%",
|
137
128
|
fullWidth = "80%",
|
138
129
|
hideTools = [],
|
139
|
-
translationMock
|
140
|
-
uploadFile,
|
141
|
-
resumeUploadState,
|
142
|
-
uploadTerminator,
|
143
|
-
isUploadInProgress = () => {}
|
130
|
+
translationMock
|
144
131
|
} = otherProps || {};
|
145
132
|
const translationFn = translation || translationMock || (() => {});
|
146
|
-
const getTitleSaveData = title => {
|
147
|
-
const val = debouncedValue.current;
|
148
|
-
const data = {
|
149
|
-
text: serializeToText(val),
|
150
|
-
title: title
|
151
|
-
};
|
152
|
-
if (customProps.onSaveTitle) {
|
153
|
-
const isTitleChanged = true;
|
154
|
-
customProps.onSaveTitle(JSON.stringify(val), data, isTitleChanged);
|
155
|
-
}
|
156
|
-
};
|
157
133
|
const editor = useMemo(() => {
|
158
134
|
if (collaborativeEditor) return collaborativeEditor;
|
159
135
|
const editor = createEditor();
|
160
136
|
editor.needLayout = needLayout;
|
161
|
-
editor.
|
137
|
+
editor.translation = translationFn;
|
162
138
|
return withCommon(editor, {
|
163
139
|
needLayout
|
164
140
|
});
|
@@ -169,11 +145,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
169
145
|
const {
|
170
146
|
bannerSpacing,
|
171
147
|
pageBgImage,
|
172
|
-
pageColor
|
148
|
+
pageColor,
|
173
149
|
color: pageTextColor,
|
174
150
|
pageWidth,
|
175
151
|
maxWidth: pageMaxWidth,
|
176
|
-
theme: selectedTheme,
|
177
152
|
lineHeight
|
178
153
|
} = pageSt?.pageProps || {
|
179
154
|
bannerSpacing: {
|
@@ -185,17 +160,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
185
160
|
};
|
186
161
|
const classes = editorStyles({
|
187
162
|
padHeight: !fullScreen ? otherProps?.padHeight : 20,
|
188
|
-
placeHolderColor: invertColor(pageColor
|
163
|
+
placeHolderColor: invertColor(pageColor || "#FFF"),
|
189
164
|
theme,
|
190
165
|
overrideWrapperStyles
|
191
166
|
});
|
192
|
-
const [openTheme, setOpenTheme] = useState(false);
|
193
|
-
const [openAITheme, setOpenAITheme] = useState(false);
|
194
|
-
const [, setThemeUpdated] = useState(0);
|
195
|
-
const triggerRender = () => {
|
196
|
-
setThemeUpdated(prev => prev + 1); // Incrementing forces a re-render while updating theme
|
197
|
-
};
|
198
|
-
|
199
167
|
const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
|
200
168
|
useEffect(() => {
|
201
169
|
setValue(draftToSlate({
|
@@ -220,11 +188,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
220
188
|
const debounced = useDebouncedCallback(
|
221
189
|
// function
|
222
190
|
value => {
|
223
|
-
debouncedValue.current = value;
|
224
191
|
const {
|
225
192
|
value: strVal,
|
226
193
|
...restVal
|
227
194
|
} = getOnSaveData(value);
|
195
|
+
debouncedValue.current = value;
|
228
196
|
onSave(strVal, restVal);
|
229
197
|
},
|
230
198
|
// delay in ms
|
@@ -235,18 +203,25 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
235
203
|
return {
|
236
204
|
value: JSON.stringify(val),
|
237
205
|
text: text,
|
238
|
-
title: serializeToText(title?.children) || ""
|
206
|
+
title: serializeToText(title?.children) || "Untitled"
|
239
207
|
};
|
240
208
|
};
|
209
|
+
const getTitleSaveData = title => {
|
210
|
+
const val = debouncedValue.current;
|
211
|
+
const data = {
|
212
|
+
text: serializeToText(val),
|
213
|
+
title: title
|
214
|
+
};
|
215
|
+
if (customProps.onSaveTitle) {
|
216
|
+
const isTitleChanged = true;
|
217
|
+
customProps.onSaveTitle(JSON.stringify(val), data, isTitleChanged);
|
218
|
+
}
|
219
|
+
};
|
241
220
|
const getPreviewImage = async (needBackground = false, options = {}) => {
|
242
221
|
ReactEditor.blur(editor);
|
243
222
|
const dom = needBackground ? editorWrapper?.current : editorWrapper?.current.getElementsByClassName("innert-editor-textbox")[0];
|
244
|
-
const pageBg = options?.fromBrains ? {
|
245
|
-
pageColor
|
246
|
-
} : {};
|
247
223
|
const c = await getThumbnailImage(dom, {
|
248
224
|
...options,
|
249
|
-
...pageBg,
|
250
225
|
proxy: `${otherProps?.PAGES_API_HOST}/page/2canvas`
|
251
226
|
});
|
252
227
|
return c;
|
@@ -341,12 +316,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
341
316
|
redo() {
|
342
317
|
editor?.redo();
|
343
318
|
},
|
344
|
-
toggleTheme() {
|
345
|
-
setOpenTheme(!openTheme);
|
346
|
-
},
|
347
|
-
toggleAITheme() {
|
348
|
-
setOpenAITheme(!openAITheme);
|
349
|
-
},
|
350
319
|
getPageSettings: {
|
351
320
|
background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
|
352
321
|
}
|
@@ -401,11 +370,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
401
370
|
ICON_API: "https://assets.agenciflow.com",
|
402
371
|
translation: translationFn,
|
403
372
|
getTitleSaveData,
|
404
|
-
customLineHeight: lineH
|
405
|
-
uploadFile,
|
406
|
-
resumeUploadState,
|
407
|
-
uploadTerminator,
|
408
|
-
isUploadInProgress
|
373
|
+
customLineHeight: lineH
|
409
374
|
};
|
410
375
|
const renderElement = useCallback(props => {
|
411
376
|
return /*#__PURE__*/_jsx(Element, {
|
@@ -554,7 +519,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
554
519
|
}
|
555
520
|
return style;
|
556
521
|
}, [pageBgImage, pageColor, pageTextColor]);
|
557
|
-
const themeProps = getTheme(selectedTheme);
|
558
522
|
|
559
523
|
// const handleContextMenu = (e) => {
|
560
524
|
// if (!readOnly) {
|
@@ -585,80 +549,19 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
585
549
|
console.log("handleCursorScroll", err);
|
586
550
|
}
|
587
551
|
};
|
588
|
-
window.getTextIndeces = () => {
|
589
|
-
try {
|
590
|
-
const textWithPaths = extractTextWithPath(editor.children, []);
|
591
|
-
return textWithPaths;
|
592
|
-
} catch (err) {
|
593
|
-
console.log(err);
|
594
|
-
}
|
595
|
-
};
|
596
|
-
window.replaceTextIndeces = (path_data = []) => {
|
597
|
-
try {
|
598
|
-
const replacedJson = replaceTextPath(JSON.parse(JSON.stringify(editor.children)), path_data);
|
599
|
-
|
600
|
-
// loop delete all
|
601
|
-
editor.children.forEach(() => {
|
602
|
-
Transforms.delete(editor, {
|
603
|
-
at: [0]
|
604
|
-
});
|
605
|
-
});
|
606
|
-
|
607
|
-
// Insert new nodes
|
608
|
-
Transforms.insertNodes(editor, replacedJson, {
|
609
|
-
at: [0]
|
610
|
-
});
|
611
|
-
} catch (err) {
|
612
|
-
console.log(err);
|
613
|
-
}
|
614
|
-
};
|
615
|
-
window.replaceEditorContent = (fragments = []) => {
|
616
|
-
try {
|
617
|
-
// loop delete all
|
618
|
-
editor.children.forEach(() => {
|
619
|
-
Transforms.delete(editor, {
|
620
|
-
at: [0]
|
621
|
-
});
|
622
|
-
});
|
623
|
-
|
624
|
-
// Insert new nodes
|
625
|
-
Transforms.insertNodes(editor, fragments, {
|
626
|
-
at: [0]
|
627
|
-
});
|
628
|
-
} catch (err) {
|
629
|
-
console.log(err);
|
630
|
-
}
|
631
|
-
};
|
632
552
|
return /*#__PURE__*/_jsxs(EditorProvider, {
|
633
553
|
theme: theme,
|
634
554
|
editor: editor,
|
635
|
-
openTheme: openTheme,
|
636
|
-
setOpenTheme: setOpenTheme,
|
637
|
-
triggerRender: triggerRender,
|
638
555
|
children: [/*#__PURE__*/_jsx(FontLoader, {
|
639
556
|
otherProps: {
|
640
557
|
services: otherProps?.services
|
641
558
|
},
|
642
559
|
readOnly: readOnly
|
643
|
-
}),
|
644
|
-
className: "theme-buttons",
|
645
|
-
children: [/*#__PURE__*/_jsx(IconButton, {
|
646
|
-
onClick: () => setOpenTheme(true),
|
647
|
-
className: "themePaintIcon",
|
648
|
-
children: /*#__PURE__*/_jsx(ThemePaintIcon, {})
|
649
|
-
}), /*#__PURE__*/_jsx(IconButton, {
|
650
|
-
onClick: () => setOpenAITheme(true),
|
651
|
-
style: {
|
652
|
-
marginTop: "4px"
|
653
|
-
},
|
654
|
-
children: /*#__PURE__*/_jsx(ThemeAIIcon, {})
|
655
|
-
})]
|
656
|
-
}) : null, /*#__PURE__*/_jsx(DialogWrapper, {
|
560
|
+
}), /*#__PURE__*/_jsx(DialogWrapper, {
|
657
561
|
classes: classes,
|
658
562
|
...props,
|
659
563
|
fullScreen: fullScreen,
|
660
564
|
footer: footer || "",
|
661
|
-
selectedTheme: selectedTheme,
|
662
565
|
children: /*#__PURE__*/_jsx(Box, {
|
663
566
|
component: "div",
|
664
567
|
className: `et-wrpr stimulate-${breakpoint} ${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
|
@@ -693,7 +596,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
693
596
|
children: /*#__PURE__*/_jsxs(Box, {
|
694
597
|
component: "div",
|
695
598
|
className: "max-content",
|
696
|
-
sx: themeProps?.sxProps || {},
|
697
599
|
"data-info": outsideEditorClickLabel,
|
698
600
|
children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
|
699
601
|
className: "scroll-area",
|
@@ -739,8 +641,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
739
641
|
chars: chars,
|
740
642
|
type: type,
|
741
643
|
theme: theme,
|
742
|
-
|
743
|
-
|
644
|
+
otherProps: customProps,
|
645
|
+
customProps: customProps
|
744
646
|
}) : null, /*#__PURE__*/_jsx(RnDCopy, {
|
745
647
|
readOnly: readOnly
|
746
648
|
})]
|
@@ -763,18 +665,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
763
665
|
"data-info": outsideEditorClickLabel,
|
764
666
|
onClick: handleFooterClick,
|
765
667
|
children: footer
|
766
|
-
}), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
|
767
|
-
open: openTheme,
|
768
|
-
setOpen: setOpenTheme,
|
769
|
-
editor: editor,
|
770
|
-
services: otherProps?.services,
|
771
|
-
appTheme: theme,
|
772
|
-
customProps: customProps
|
773
|
-
}) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
|
774
|
-
openAITheme: openAITheme,
|
775
|
-
setOpenAITheme: setOpenAITheme,
|
776
|
-
onSaveTheme: otherProps?.onSaveTheme,
|
777
|
-
theme: theme
|
778
668
|
})]
|
779
669
|
})
|
780
670
|
}), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
|
@@ -783,9 +673,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
783
673
|
setIsTextSelected: setIsTextSelected,
|
784
674
|
customProps: customProps,
|
785
675
|
editorWrapper: editorWrapper
|
786
|
-
}) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
|
676
|
+
}) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
|
787
677
|
breakpoint: breakpoint,
|
788
|
-
show: showViewport,
|
789
678
|
onChange: b => onSwitchBreakpoint(b),
|
790
679
|
translation: translationFn
|
791
680
|
}) : null]
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
2
2
|
import { Dialog, DialogTitle, DialogContent, IconButton, Grid } from "@mui/material";
|
3
3
|
import CloseIcon from "@mui/icons-material/Close";
|
4
4
|
import ViewportStimulator from "./common/RnD/Theme/ViewportStimulator";
|
5
|
-
import MainThemeProvider from "./common/RnD/Theme/MainThemeProvider";
|
6
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
7
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
7
|
const DialogWrapper = props => {
|
@@ -10,45 +9,40 @@ const DialogWrapper = props => {
|
|
10
9
|
fullScreen,
|
11
10
|
onClose,
|
12
11
|
children,
|
13
|
-
classes
|
14
|
-
selectedTheme
|
12
|
+
classes
|
15
13
|
} = props;
|
16
|
-
return fullScreen ? /*#__PURE__*/
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
14
|
+
return fullScreen ? /*#__PURE__*/_jsxs(Dialog, {
|
15
|
+
className: `dialogComp`,
|
16
|
+
open: fullScreen,
|
17
|
+
fullScreen: fullScreen,
|
18
|
+
onClose: onClose,
|
19
|
+
style: {
|
20
|
+
zIndex: 1000
|
21
|
+
},
|
22
|
+
sx: classes.fullScreenWrapper,
|
23
|
+
children: [/*#__PURE__*/_jsx(DialogTitle, {
|
23
24
|
style: {
|
24
|
-
|
25
|
+
padding: "6px 8px"
|
25
26
|
},
|
26
|
-
|
27
|
-
children: [/*#__PURE__*/_jsx(DialogTitle, {
|
28
|
-
style: {
|
29
|
-
padding: "6px 8px"
|
30
|
-
},
|
27
|
+
children: /*#__PURE__*/_jsx(Grid, {
|
31
28
|
children: /*#__PURE__*/_jsx(Grid, {
|
32
|
-
|
29
|
+
style: {
|
30
|
+
display: "flex",
|
31
|
+
justifyContent: "end"
|
32
|
+
},
|
33
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
34
|
+
onClick: onClose,
|
33
35
|
style: {
|
34
|
-
|
35
|
-
justifyContent: "end"
|
36
|
+
background: "rgba(255,255,255,0.5)"
|
36
37
|
},
|
37
|
-
children: /*#__PURE__*/_jsx(
|
38
|
-
onClick: onClose,
|
39
|
-
style: {
|
40
|
-
background: "rgba(255,255,255,0.5)"
|
41
|
-
},
|
42
|
-
children: /*#__PURE__*/_jsx(CloseIcon, {})
|
43
|
-
})
|
38
|
+
children: /*#__PURE__*/_jsx(CloseIcon, {})
|
44
39
|
})
|
45
40
|
})
|
46
|
-
})
|
47
|
-
|
48
|
-
|
49
|
-
})
|
41
|
+
})
|
42
|
+
}), /*#__PURE__*/_jsx(DialogContent, {
|
43
|
+
children: children
|
44
|
+
})]
|
50
45
|
}) : /*#__PURE__*/_jsx(ViewportStimulator, {
|
51
|
-
selectedTheme: selectedTheme,
|
52
46
|
children: children
|
53
47
|
});
|
54
48
|
};
|
package/dist/Editor/Editor.css
CHANGED
@@ -1132,8 +1132,6 @@ blockquote {
|
|
1132
1132
|
margin: 0px;
|
1133
1133
|
}
|
1134
1134
|
|
1135
|
-
|
1136
|
-
|
1137
1135
|
.content-editable.empty {
|
1138
1136
|
position: relative;
|
1139
1137
|
}
|
@@ -1344,16 +1342,16 @@ blockquote {
|
|
1344
1342
|
|
1345
1343
|
::selection {
|
1346
1344
|
color: inherit;
|
1347
|
-
|
1345
|
+
background: rgba(35, 131, 226, 0.35) !important;
|
1348
1346
|
}
|
1349
1347
|
|
1350
1348
|
::-moz-selection {
|
1351
|
-
|
1349
|
+
background: rgba(35, 131, 226, 0.35) !important;
|
1352
1350
|
color: inherit;
|
1353
1351
|
}
|
1354
1352
|
|
1355
1353
|
::-webkit-selection {
|
1356
|
-
|
1354
|
+
background: rgba(35, 131, 226, 0.35) !important;
|
1357
1355
|
color: inherit;
|
1358
1356
|
}
|
1359
1357
|
|
@@ -1370,47 +1368,21 @@ code.markcode {
|
|
1370
1368
|
background-color: #f3f3f3;
|
1371
1369
|
font-family: 'Source Code Pro' !important;
|
1372
1370
|
}
|
1373
|
-
|
1374
1371
|
/* Hide the popper when the reference is hidden */
|
1375
1372
|
.hide-popper-on-overlap[data-popper-escaped],
|
1376
1373
|
.hide-popper-on-overlap[data-popper-reference-hidden] {
|
1377
1374
|
visibility: hidden;
|
1378
1375
|
pointer-events: none;
|
1379
1376
|
}
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1387
|
-
top: 60px;
|
1388
|
-
right: 20px;
|
1389
|
-
z-index: 1000;
|
1390
|
-
}
|
1391
|
-
|
1392
|
-
.themePaintIcon:hover .iconBorder {
|
1393
|
-
fill: #2563EB;
|
1394
|
-
}
|
1395
|
-
|
1396
|
-
.themePaintIcon:hover .iconStroke {
|
1397
|
-
stroke: #2563EB;
|
1377
|
+
code.markcode {
|
1378
|
+
border-radius: 4px;
|
1379
|
+
padding: 6px 8px;
|
1380
|
+
margin: 8px 0px;
|
1381
|
+
display: block;
|
1382
|
+
background-color: #f3f3f3;
|
1383
|
+
font-family: 'Source Code Pro' !important;
|
1398
1384
|
}
|
1399
1385
|
|
1400
1386
|
.hyperLink {
|
1401
1387
|
word-break: break-all;
|
1402
|
-
}
|
1403
|
-
|
1404
|
-
.truncateText {
|
1405
|
-
display: inline-block;
|
1406
|
-
width: 380px;
|
1407
|
-
white-space: nowrap;
|
1408
|
-
overflow: hidden;
|
1409
|
-
text-overflow: ellipsis;
|
1410
|
-
}
|
1411
|
-
|
1412
|
-
@media only screen and (max-width: 600px) {
|
1413
|
-
.truncateText {
|
1414
|
-
width: 180px;
|
1415
|
-
}
|
1416
|
-
}
|
1388
|
+
}
|
@@ -167,7 +167,6 @@ function PopoverAIInput({
|
|
167
167
|
const [generatedText, setGeneratedText] = useState("");
|
168
168
|
const [inputValue, setInputValue] = useState("");
|
169
169
|
const [selectedOption, setSelectedOption] = useState();
|
170
|
-
const [threadId, setThreadId] = useState("");
|
171
170
|
const selectedEleRef = useRef({});
|
172
171
|
const classes = Styles();
|
173
172
|
const editor = useSlate();
|
@@ -189,7 +188,6 @@ function PopoverAIInput({
|
|
189
188
|
useEffect(() => {
|
190
189
|
if (openAI) {
|
191
190
|
scrollToAIInput(editor);
|
192
|
-
setThreadId("");
|
193
191
|
}
|
194
192
|
}, [openAI]);
|
195
193
|
useEffect(() => {
|
@@ -198,12 +196,8 @@ function PopoverAIInput({
|
|
198
196
|
const framePayload = (type, option) => {
|
199
197
|
let payload = {
|
200
198
|
mode: option.mode || 0,
|
201
|
-
query: option?.inputValue || inputValue
|
202
|
-
useSession: true
|
199
|
+
query: option?.inputValue || inputValue
|
203
200
|
};
|
204
|
-
if (threadId) {
|
205
|
-
payload.threadId = threadId;
|
206
|
-
}
|
207
201
|
if (option.mode === MODES.translate || option.mode === MODES.rephraseTone) {
|
208
202
|
payload.textOptionInput = type;
|
209
203
|
}
|
@@ -263,14 +257,12 @@ function PopoverAIInput({
|
|
263
257
|
setLoading(false);
|
264
258
|
setInputValue("");
|
265
259
|
let {
|
266
|
-
|
267
|
-
|
268
|
-
} = result?.data || {};
|
260
|
+
data: text
|
261
|
+
} = result || {};
|
269
262
|
if (!text) {
|
270
263
|
onClickOutside();
|
271
264
|
return;
|
272
265
|
}
|
273
|
-
setThreadId(threadId || "");
|
274
266
|
|
275
267
|
// if (!option.replace) {
|
276
268
|
if (type === "continue_writing") {
|