@flozy/editor 5.5.6 → 5.5.8
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 +34 -25
- package/dist/Editor/CommonEditor.js +16 -33
- package/dist/Editor/Editor.css +20 -105
- package/dist/Editor/Elements/AI/AIInput.js +1 -0
- package/dist/Editor/Elements/AI/CustomSelect.js +10 -17
- package/dist/Editor/Elements/AI/PopoverAIInput.js +53 -59
- package/dist/Editor/Elements/AI/Styles.js +6 -24
- package/dist/Editor/Elements/Accordion/Accordion.js +1 -8
- package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
- package/dist/Editor/Elements/Button/EditorButton.js +2 -9
- package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -11
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +5 -7
- package/dist/Editor/Elements/Color Picker/Styles.js +3 -8
- package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
- package/dist/Editor/Elements/Divider/Divider.js +20 -36
- package/dist/Editor/Elements/Embed/Image.js +16 -51
- package/dist/Editor/Elements/Embed/Video.js +3 -26
- package/dist/Editor/Elements/Form/Form.js +2 -39
- package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +1 -7
- package/dist/Editor/Elements/Form/FormElements/FormDate.js +1 -7
- package/dist/Editor/Elements/Form/FormElements/FormEmail.js +1 -7
- package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +1 -7
- package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +1 -7
- package/dist/Editor/Elements/Form/FormElements/FormText.js +1 -7
- package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +1 -6
- package/dist/Editor/Elements/Form/FormPopup.js +9 -12
- package/dist/Editor/Elements/Form/Workflow/Styles.js +0 -2
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +2 -4
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -20
- package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
- package/dist/Editor/Elements/FreeGrid/styles.js +1 -2
- package/dist/Editor/Elements/Grid/GridButton.js +2 -2
- package/dist/Editor/Elements/Grid/GridItem.js +36 -47
- package/dist/Editor/Elements/Grid/Styles.js +0 -50
- package/dist/Editor/Elements/Link/LinkButton.js +1 -1
- package/dist/Editor/Elements/List/CheckList.js +1 -2
- package/dist/Editor/Elements/Search/SearchAttachment.js +0 -1
- package/dist/Editor/Elements/Search/SearchButton.js +0 -1
- package/dist/Editor/Elements/Signature/Signature.css +1 -1
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
- package/dist/Editor/Elements/Signature/SignaturePopup.js +52 -17
- package/dist/Editor/Elements/SimpleText/index.js +3 -11
- package/dist/Editor/Elements/SimpleText/style.js +1 -20
- package/dist/Editor/Elements/Table/Styles.js +78 -88
- package/dist/Editor/Elements/Table/Table.js +140 -263
- package/dist/Editor/Elements/Table/TableCell.js +111 -365
- package/dist/Editor/Elements/Table/TablePopup.js +3 -9
- package/dist/Editor/Elements/Table/TableRow.js +2 -10
- package/dist/Editor/Elements/TopBanner/TopBanner.js +1 -2
- package/dist/Editor/MiniEditor.js +2 -21
- package/dist/Editor/Styles/EditorStyles.js +4 -13
- package/dist/Editor/Toolbar/FormatTools/BlockButton.js +0 -10
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +12 -7
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -26
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +0 -3
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -5
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +8 -8
- package/dist/Editor/Toolbar/Mini/Styles.js +1 -9
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/InfinityAITool.js +3 -7
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +4 -6
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +15 -19
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +58 -557
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +16 -73
- package/dist/Editor/Toolbar/PopupTool/index.js +5 -3
- package/dist/Editor/Toolbar/Toolbar.js +0 -6
- package/dist/Editor/Toolbar/toolbarGroups.js +0 -4
- package/dist/Editor/assets/svg/BrainIcon.js +2 -2
- package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
- package/dist/Editor/common/ColorPickerButton.js +45 -85
- package/dist/Editor/common/DnD/Draggable.js +1 -2
- package/dist/Editor/common/FontLoader/FontLoader.js +6 -12
- package/dist/Editor/common/Icon.js +21 -54
- package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -2
- package/dist/Editor/common/ImageSelector/Styles.js +6 -47
- package/dist/Editor/common/ImageSelector/UploadStyles.js +6 -18
- package/dist/Editor/common/LinkSettings/NavComponents.js +1 -2
- package/dist/Editor/common/LinkSettings/index.js +1 -2
- package/dist/Editor/common/MentionsPopup/Styles.js +8 -143
- package/dist/Editor/common/MentionsPopup/index.js +1 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +12 -108
- package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
- package/dist/Editor/common/RnD/ShadowElement.js +1 -1
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -14
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +6 -9
- package/dist/Editor/common/RnD/VirtualElement/index.js +1 -5
- package/dist/Editor/common/RnD/index.js +3 -4
- package/dist/Editor/common/Section/index.js +3 -3
- package/dist/Editor/common/Section/styles.js +1 -5
- package/dist/Editor/common/Shorthands/elements.js +1 -13
- package/dist/Editor/common/StyleBuilder/fieldStyle.js +1 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -9
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +7 -35
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +2 -15
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +1 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +0 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +11 -11
- package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +6 -22
- package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +2 -21
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -20
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +2 -12
- package/dist/Editor/common/StyleBuilder/formStyle.js +149 -268
- package/dist/Editor/common/StyleBuilder/index.js +20 -101
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +0 -4
- package/dist/Editor/common/StyleBuilder/tableStyle.js +25 -69
- package/dist/Editor/common/SwipeableDrawer/style.js +4 -15
- package/dist/Editor/common/ToolbarIcon.js +1 -1
- package/dist/Editor/common/Uploader.js +36 -46
- package/dist/Editor/common/iconListV2.js +74 -598
- package/dist/Editor/common/iconslist.js +19 -25
- package/dist/Editor/commonStyle.js +15 -421
- package/dist/Editor/helper/deserialize/index.js +2 -31
- package/dist/Editor/helper/index.js +4 -17
- package/dist/Editor/helper/theme.js +2 -39
- package/dist/Editor/hooks/useBreakpoints.js +1 -1
- package/dist/Editor/hooks/useMouseMove.js +2 -5
- package/dist/Editor/plugins/withCustomDeleteBackward.js +104 -100
- package/dist/Editor/plugins/withEmbeds.js +26 -30
- package/dist/Editor/plugins/withHTML.js +12 -100
- package/dist/Editor/plugins/withLayout.js +0 -1
- package/dist/Editor/utils/SlateUtilityFunctions.js +12 -39
- package/dist/Editor/utils/brains.js +1 -1
- package/dist/Editor/utils/button.js +4 -4
- package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +6 -75
- package/dist/Editor/utils/customHooks/useResize.js +4 -7
- package/dist/Editor/utils/customHooks/useTableResize.js +2 -6
- package/dist/Editor/utils/embed.js +1 -2
- package/dist/Editor/utils/events.js +1 -0
- package/dist/Editor/utils/font.js +4 -11
- package/dist/Editor/utils/formfield.js +4 -8
- package/dist/Editor/utils/helper.js +2 -103
- package/dist/Editor/utils/insertNewLine.js +1 -19
- package/dist/Editor/utils/pageSettings.js +2 -14
- package/dist/Editor/utils/serializeToText.js +0 -2
- package/dist/Editor/utils/table.js +24 -228
- package/package.json +2 -2
- package/dist/Editor/Elements/DataView/DataView.js +0 -124
- package/dist/Editor/Elements/DataView/DataViewButton.js +0 -23
- package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +0 -83
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +0 -33
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +0 -180
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +0 -62
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +0 -68
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +0 -35
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +0 -39
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +0 -30
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +0 -30
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +0 -35
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +0 -36
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +0 -17
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +0 -29
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +0 -38
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +0 -86
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +0 -71
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +0 -138
- package/dist/Editor/Elements/DataView/Layouts/FilterView.js +0 -213
- package/dist/Editor/Elements/DataView/Layouts/Formula.js +0 -29
- package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +0 -113
- package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +0 -44
- package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +0 -146
- package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +0 -79
- package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +0 -57
- package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +0 -101
- package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +0 -174
- package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +0 -241
- package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +0 -45
- package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +0 -32
- package/dist/Editor/Elements/DataView/Layouts/Options/index.js +0 -110
- package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +0 -217
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +0 -131
- package/dist/Editor/Elements/DataView/Layouts/TableView.js +0 -253
- package/dist/Editor/Elements/DataView/Layouts/ViewData.js +0 -85
- package/dist/Editor/Elements/DataView/Layouts/colStyles.js +0 -10
- package/dist/Editor/Elements/DataView/Layouts/index.js +0 -25
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +0 -277
- package/dist/Editor/Elements/DataView/Utils/globalSearch.js +0 -15
- package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +0 -88
- package/dist/Editor/Elements/DataView/styles.js +0 -169
- package/dist/Editor/Elements/Table/AddRowCol.js +0 -77
- package/dist/Editor/Elements/Table/DragButton.js +0 -142
- package/dist/Editor/Elements/Table/DragStyles.js +0 -70
- package/dist/Editor/Elements/Table/Draggable.js +0 -25
- package/dist/Editor/Elements/Table/Droppable.js +0 -53
- package/dist/Editor/Elements/Table/TableTool.js +0 -101
- package/dist/Editor/Elements/Table/tableHelper.js +0 -71
- package/dist/Editor/assets/svg/ArrowDownIcon.js +0 -25
- package/dist/Editor/assets/svg/ArrowUpIcon.js +0 -25
- package/dist/Editor/assets/svg/CalenderIconTick.js +0 -64
- package/dist/Editor/assets/svg/ChervDown.js +0 -18
- package/dist/Editor/assets/svg/ChervUp.js +0 -18
- package/dist/Editor/assets/svg/DataTableIcon.js +0 -50
- package/dist/Editor/assets/svg/DuplicateIcon.js +0 -23
- package/dist/Editor/assets/svg/EyeIcon.js +0 -23
- package/dist/Editor/assets/svg/EyeSlash.js +0 -43
- package/dist/Editor/assets/svg/HashtagIcon.js +0 -33
- package/dist/Editor/assets/svg/PlusIcon.js +0 -23
- package/dist/Editor/assets/svg/SelectRoundedIcon.js +0 -24
- package/dist/Editor/assets/svg/SortByIcon.js +0 -33
- package/dist/Editor/assets/svg/TableIcons.js +0 -220
- package/dist/Editor/assets/svg/TickOutlined.js +0 -23
- package/dist/Editor/assets/svg/TrashCanIcon.js +0 -38
- package/dist/Editor/common/Select/index.js +0 -20
- package/dist/Editor/common/Select/styles.js +0 -17
- package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +0 -79
- package/dist/Editor/helper/enforceDateFormat.js +0 -41
- package/dist/Editor/hooks/useTable.js +0 -210
- package/dist/Editor/utils/dataView.js +0 -43
@@ -1,8 +1,9 @@
|
|
1
1
|
import React, { useCallback, useMemo, useRef, useState, useEffect, useImperativeHandle, forwardRef } from "react";
|
2
2
|
import { Editable, Slate, ReactEditor } from 'slate-react';
|
3
3
|
import { createEditor, Transforms, Editor } from 'slate';
|
4
|
+
import { useDebounce } from "use-debounce";
|
4
5
|
import withCommon from "./hooks/withCommon";
|
5
|
-
import { getBlock, getMarked
|
6
|
+
import { getBlock, getMarked } from "./utils/chatEditor/SlateUtilityFunctions";
|
6
7
|
import MiniTextFormat from "./Toolbar/PopupTool/MiniTextFormat";
|
7
8
|
import { commands, mentionsEvent } from "./utils/events";
|
8
9
|
import { insertEmoji } from "./utils/emoji";
|
@@ -14,7 +15,6 @@ import Shorthands from "./common/Shorthands";
|
|
14
15
|
import usePopupStyle from "./Toolbar/PopupTool/PopupToolStyle";
|
15
16
|
import { EditorProvider } from "./hooks/useMouseMove";
|
16
17
|
import decorators from "./utils/Decorators";
|
17
|
-
import { useDebouncedCallback } from "use-debounce";
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
19
19
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
20
20
|
const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
@@ -42,18 +42,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
42
42
|
});
|
43
43
|
const [isInteracted, setIsInteracted] = useState(false);
|
44
44
|
const [value, setValue] = useState(convertedContent);
|
45
|
-
const
|
46
|
-
const
|
47
|
-
// function
|
48
|
-
value => {
|
49
|
-
const {
|
50
|
-
value: strVal,
|
51
|
-
...restVal
|
52
|
-
} = getOnSaveData(value);
|
53
|
-
onSave(strVal, restVal);
|
54
|
-
},
|
55
|
-
// delay in ms
|
56
|
-
500);
|
45
|
+
const [loadedValue] = useState(value);
|
46
|
+
const [deboundedValue] = useDebounce(value, 500);
|
57
47
|
const editor = useMemo(() => {
|
58
48
|
return withCommon(createEditor(), {
|
59
49
|
needLayout,
|
@@ -73,7 +63,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
73
63
|
const {
|
74
64
|
value: strVal,
|
75
65
|
...restVal
|
76
|
-
} = getOnSaveData(
|
66
|
+
} = getOnSaveData(value);
|
77
67
|
onsubmit(false, {
|
78
68
|
strVal,
|
79
69
|
restVal
|
@@ -109,8 +99,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
109
99
|
const newValue = draftToSlate({
|
110
100
|
data: content
|
111
101
|
});
|
112
|
-
|
113
|
-
|
102
|
+
setValue(newValue);
|
114
103
|
// setTimeout(() => {
|
115
104
|
if (editor.children.length === 0) {
|
116
105
|
Transforms.insertNodes(editor, newValue);
|
@@ -123,14 +112,27 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
123
112
|
}
|
124
113
|
}
|
125
114
|
}));
|
115
|
+
|
116
|
+
// useEffect(() => {
|
117
|
+
// setIsExternalUpdate(true);
|
118
|
+
// setValue(draftToSlate({ data: content }));
|
119
|
+
// }, [content]);
|
120
|
+
|
121
|
+
useEffect(() => {
|
122
|
+
if (JSON.stringify(loadedValue) !== JSON.stringify(deboundedValue) && isInteracted && onSave) {
|
123
|
+
const {
|
124
|
+
value: strVal,
|
125
|
+
...restVal
|
126
|
+
} = getOnSaveData(deboundedValue);
|
127
|
+
onSave(strVal, restVal);
|
128
|
+
}
|
129
|
+
}, [deboundedValue]);
|
126
130
|
const getOnSaveData = val => {
|
127
131
|
const text = serializeToText(val);
|
128
|
-
const mentions = serializeMentions(val);
|
129
132
|
const title = val?.find(f => f.type === "title");
|
130
133
|
return {
|
131
134
|
value: JSON.stringify(val),
|
132
135
|
text: text,
|
133
|
-
mentions: mentions,
|
134
136
|
title: serializeToText(title?.children) || "Untitled"
|
135
137
|
};
|
136
138
|
};
|
@@ -178,8 +180,15 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
178
180
|
});
|
179
181
|
};
|
180
182
|
const handleEditorChange = newValue => {
|
181
|
-
|
182
|
-
|
183
|
+
const value_txt = serializeToText(value);
|
184
|
+
if (!value_txt) {
|
185
|
+
const {
|
186
|
+
value: strVal,
|
187
|
+
...restVal
|
188
|
+
} = getOnSaveData(newValue);
|
189
|
+
onSave(strVal, restVal);
|
190
|
+
}
|
191
|
+
setValue(newValue);
|
183
192
|
if (!isInteracted) {
|
184
193
|
setIsInteracted(true);
|
185
194
|
}
|
@@ -219,7 +228,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
219
228
|
editor
|
220
229
|
});
|
221
230
|
} else if (event.key === "Enter" && !isMobile) {
|
222
|
-
const isEmpty =
|
231
|
+
const isEmpty = value.length === 1 && value[0].type === 'paragraph' && value[0].children.length === 1 && value[0].children[0].text === '';
|
223
232
|
if (isEmpty) {
|
224
233
|
event.preventDefault();
|
225
234
|
return;
|
@@ -228,7 +237,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
228
237
|
const {
|
229
238
|
value: strVal,
|
230
239
|
...restVal
|
231
|
-
} = getOnSaveData(
|
240
|
+
} = getOnSaveData(value);
|
232
241
|
onsubmit(false, {
|
233
242
|
strVal,
|
234
243
|
restVal
|
@@ -242,7 +251,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
242
251
|
const {
|
243
252
|
value: strVal,
|
244
253
|
...restVal
|
245
|
-
} = getOnSaveData(
|
254
|
+
} = getOnSaveData(value);
|
246
255
|
onBlur({
|
247
256
|
strVal,
|
248
257
|
restVal
|
@@ -263,7 +272,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
263
272
|
editor: editor,
|
264
273
|
children: /*#__PURE__*/_jsxs(Slate, {
|
265
274
|
editor: editor,
|
266
|
-
initialValue:
|
275
|
+
initialValue: value,
|
267
276
|
onChange: handleEditorChange,
|
268
277
|
children: [toolBar && /*#__PURE__*/_jsx(MiniTextFormat, {
|
269
278
|
classes: classes,
|
@@ -26,8 +26,8 @@ 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 {
|
30
|
-
import {
|
29
|
+
import { getTRBLBreakPoints } from "./helper/theme";
|
30
|
+
import { handleInsertLastElement, isFreeGrid, isFreeGridFragment, isPageSettings, outsideEditorClickLabel } from "./utils/helper";
|
31
31
|
import useWindowResize from "./hooks/useWindowResize";
|
32
32
|
import PopoverAIInput from "./Elements/AI/PopoverAIInput";
|
33
33
|
import RnDCopy from "./common/RnD/RnDCopy";
|
@@ -72,12 +72,6 @@ const Leaf = ({
|
|
72
72
|
children: children
|
73
73
|
});
|
74
74
|
};
|
75
|
-
const updateTopBanner = (content = [], setTopBanner) => {
|
76
|
-
setTopBanner(() => {
|
77
|
-
const firstNode = content ? content[0] : {};
|
78
|
-
return firstNode?.type === "topbanner" ? firstNode : null;
|
79
|
-
});
|
80
|
-
};
|
81
75
|
const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
82
76
|
const {
|
83
77
|
id,
|
@@ -109,7 +103,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
109
103
|
});
|
110
104
|
const [isTextSelected, setIsTextSelected] = useState(false);
|
111
105
|
const [breakpoint, setBreakpoint] = useState("");
|
112
|
-
const [topBanner, setTopBanner] = useState();
|
113
106
|
const debouncedValue = useRef(value);
|
114
107
|
const [size] = useWindowResize();
|
115
108
|
const {
|
@@ -124,9 +117,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
124
117
|
} = otherProps || {};
|
125
118
|
const editor = useMemo(() => {
|
126
119
|
if (collaborativeEditor) return collaborativeEditor;
|
127
|
-
|
128
|
-
editor.needLayout = needLayout;
|
129
|
-
return withCommon(editor, {
|
120
|
+
return withCommon(createEditor(), {
|
130
121
|
needLayout
|
131
122
|
});
|
132
123
|
}, [collaborativeEditor]);
|
@@ -139,8 +130,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
139
130
|
pageColor,
|
140
131
|
color: pageTextColor,
|
141
132
|
pageWidth,
|
142
|
-
maxWidth: pageMaxWidth
|
143
|
-
lineHeight
|
133
|
+
maxWidth: pageMaxWidth
|
144
134
|
} = pageSt?.pageProps || {
|
145
135
|
bannerSpacing: {
|
146
136
|
left: 0,
|
@@ -159,7 +149,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
159
149
|
setValue(draftToSlate({
|
160
150
|
data: content
|
161
151
|
}));
|
162
|
-
updateTopBanner(content, setTopBanner);
|
163
152
|
if (!isMobile && !ReactEditor.isFocused(editor)) {
|
164
153
|
ReactEditor.focus(editor);
|
165
154
|
}
|
@@ -308,13 +297,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
308
297
|
hideTools: updatedHideTools || []
|
309
298
|
}) : [];
|
310
299
|
const handleEditorChange = newValue => {
|
311
|
-
if (
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
if (!isInteracted) {
|
316
|
-
setIsInteracted(true);
|
317
|
-
}
|
300
|
+
if (JSON.stringify(newValue) !== JSON.stringify(debouncedValue?.current)) {
|
301
|
+
debounced(newValue);
|
302
|
+
if (!isInteracted) {
|
303
|
+
setIsInteracted(true);
|
318
304
|
}
|
319
305
|
}
|
320
306
|
};
|
@@ -333,7 +319,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
333
319
|
onDrawerOpen: onDrawerOpen,
|
334
320
|
ICON_API: "https://assets.agenciflow.com"
|
335
321
|
};
|
336
|
-
const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
|
337
322
|
const renderElement = useCallback(props => {
|
338
323
|
return /*#__PURE__*/_jsx(Element, {
|
339
324
|
...props,
|
@@ -425,7 +410,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
425
410
|
editorWrapper?.current?.classList.remove("hideScroll");
|
426
411
|
handleScrollStop();
|
427
412
|
};
|
428
|
-
const hasTopBanner = () =>
|
413
|
+
const hasTopBanner = () => {
|
414
|
+
const tb = editor.children[0];
|
415
|
+
return tb?.type === "topbanner" ? tb : null;
|
416
|
+
};
|
429
417
|
const renderTopBanner = () => {
|
430
418
|
const tb = hasTopBanner();
|
431
419
|
return tb ? /*#__PURE__*/_jsx(TopBanner, {
|
@@ -507,12 +495,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
507
495
|
,
|
508
496
|
children: /*#__PURE__*/_jsxs(Slate, {
|
509
497
|
editor: editor,
|
510
|
-
initialValue:
|
498
|
+
initialValue: debouncedValue?.current,
|
511
499
|
onChange: handleEditorChange,
|
512
500
|
children: [/*#__PURE__*/_jsx(DragAndDrop, {
|
513
501
|
children: /*#__PURE__*/_jsxs(Overlay, {
|
514
502
|
children: [/*#__PURE__*/_jsx(Box, {
|
515
|
-
className: `pc-${editorClass || ""} ${hasTopBanner() ? "has-topbanner" : ""} ${!pageColor ? "no-color" : ""} scrollable-content scrollSmooth
|
503
|
+
className: `pc-${editorClass || ""} ${hasTopBanner() ? "has-topbanner" : ""} ${!pageColor ? "no-color" : ""} scrollable-content scrollSmooth`,
|
516
504
|
sx: classes.slateWrapper,
|
517
505
|
id: "slate-wrapper-scroll-container",
|
518
506
|
ref: editorWrapper,
|
@@ -536,7 +524,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
536
524
|
padding: {
|
537
525
|
...getTRBLBreakPoints(bannerSpacing)
|
538
526
|
},
|
539
|
-
lineHeight: lineH,
|
540
527
|
width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
|
541
528
|
height: viewport.h ? `${viewport.h}px` : `100%`,
|
542
529
|
alignSelf: "center",
|
@@ -553,10 +540,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
553
540
|
renderLeaf: renderLeaf,
|
554
541
|
decorate: d => decorators(d, editor),
|
555
542
|
onKeyDown: onKeyDown,
|
556
|
-
onSelect: () => handleCursorScroll(editorWrapper.current)
|
557
|
-
scrollSelectionIntoView: () => {
|
558
|
-
// disable the scrollSelectionIntoView, to resolve editor auto scroll on free-grid
|
559
|
-
}
|
543
|
+
onSelect: () => handleCursorScroll(editorWrapper.current)
|
560
544
|
}), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
|
561
545
|
ref: mentionsRef,
|
562
546
|
mentions: mentions,
|
@@ -597,9 +581,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
597
581
|
setIsTextSelected: setIsTextSelected,
|
598
582
|
customProps: customProps,
|
599
583
|
editorWrapper: editorWrapper
|
600
|
-
}) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
|
584
|
+
}) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
|
601
585
|
breakpoint: breakpoint,
|
602
|
-
show: showViewport,
|
603
586
|
onChange: b => onSwitchBreakpoint(b)
|
604
587
|
}) : null]
|
605
588
|
})
|
package/dist/Editor/Editor.css
CHANGED
@@ -18,10 +18,7 @@
|
|
18
18
|
.ml-1 {
|
19
19
|
margin-left: 10px;
|
20
20
|
}
|
21
|
-
|
22
|
-
{
|
23
|
-
margin: 0px
|
24
|
-
}
|
21
|
+
|
25
22
|
.dflex {
|
26
23
|
display: flex;
|
27
24
|
}
|
@@ -34,7 +31,7 @@ blockquote {
|
|
34
31
|
border-left: 3px solid transparent;
|
35
32
|
margin-left: 0;
|
36
33
|
margin-right: 0;
|
37
|
-
|
34
|
+
padding-left: 10px;
|
38
35
|
margin: 0px;
|
39
36
|
}
|
40
37
|
|
@@ -45,7 +42,7 @@ blockquote {
|
|
45
42
|
}
|
46
43
|
|
47
44
|
.editor-wrapper table {
|
48
|
-
border-collapse:
|
45
|
+
border-collapse: separate;
|
49
46
|
}
|
50
47
|
|
51
48
|
.editor-wrapper .editor-wrapperbutton {
|
@@ -152,7 +149,7 @@ blockquote {
|
|
152
149
|
.grid-item-toolbar button,
|
153
150
|
.element-toolbar button,
|
154
151
|
.element-toolbar a {
|
155
|
-
border-radius:
|
152
|
+
border-radius: 10px;
|
156
153
|
border: 1px solid rgba(37, 99, 235, 0.32);
|
157
154
|
background: #fff;
|
158
155
|
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
|
@@ -228,13 +225,9 @@ blockquote {
|
|
228
225
|
background-color: #0052cc;
|
229
226
|
padding: 8px 12px;
|
230
227
|
color: #ffffff;
|
231
|
-
font-weight:
|
232
|
-
font-size: 14px;
|
228
|
+
font-weight: bold;
|
233
229
|
opacity: 1;
|
234
230
|
border-radius: 32px;
|
235
|
-
text-transform: math-auto;
|
236
|
-
height: 36px;
|
237
|
-
padding: 0px 12px;
|
238
231
|
}
|
239
232
|
|
240
233
|
.signature-btn-container button:hover {
|
@@ -358,17 +351,13 @@ blockquote {
|
|
358
351
|
height: 100%;
|
359
352
|
width: 100%;
|
360
353
|
border: 1px solid #2563EB;
|
361
|
-
border-radius:
|
354
|
+
border-radius: 12px;
|
362
355
|
}
|
363
356
|
|
364
357
|
.activeBrush svg {
|
365
358
|
stroke: #2563eb;
|
366
359
|
}
|
367
360
|
|
368
|
-
.brushIcon:hover {
|
369
|
-
background: unset;
|
370
|
-
}
|
371
|
-
|
372
361
|
.react-datepicker__input-container {
|
373
362
|
display: flex !important;
|
374
363
|
align-items: center;
|
@@ -394,7 +383,7 @@ blockquote {
|
|
394
383
|
|
395
384
|
.dialog-actions-si .MuiButtonBase-root {
|
396
385
|
opacity: 1;
|
397
|
-
padding:
|
386
|
+
padding: 6px 5px 0px 3px !important
|
398
387
|
}
|
399
388
|
|
400
389
|
.signature-tab {
|
@@ -408,9 +397,9 @@ blockquote {
|
|
408
397
|
.signature-tab2 {
|
409
398
|
/* display: flex; */
|
410
399
|
align-items: center;
|
411
|
-
border-width:
|
400
|
+
border-width: 0px, 0px, 0px, 0px;
|
412
401
|
border-style: solid;
|
413
|
-
border-color: #
|
402
|
+
border-color: #2563EB;
|
414
403
|
justify-content: center;
|
415
404
|
flex-direction: column;
|
416
405
|
width: 100%;
|
@@ -502,19 +491,11 @@ blockquote {
|
|
502
491
|
text-transform: none;
|
503
492
|
}
|
504
493
|
|
505
|
-
.MuiButton-root.primaryBtn
|
494
|
+
.MuiButton-root.primaryBtn.disabled,
|
495
|
+
.MuiButton-root.secondaryBtn.disabled {
|
506
496
|
background: #eee !important;
|
507
|
-
box-shadow: none !important;
|
508
497
|
color: #ccc !important;
|
509
498
|
border: 1px solid #ccc !important;
|
510
|
-
cursor: not-allowed;
|
511
|
-
}
|
512
|
-
|
513
|
-
.MuiButton-root.primaryBtn.disabled,
|
514
|
-
.MuiButton-root.secondaryBtn.disabled {
|
515
|
-
background: #eee;
|
516
|
-
color: #ccc;
|
517
|
-
border: 1px solid #ccc;
|
518
499
|
}
|
519
500
|
|
520
501
|
.MuiButton-root.secondaryBtn {
|
@@ -535,7 +516,7 @@ blockquote {
|
|
535
516
|
}
|
536
517
|
|
537
518
|
.deleteBtn {
|
538
|
-
background: #
|
519
|
+
background: #ffffff;
|
539
520
|
border: 1px solid #d32f2f !important;
|
540
521
|
box-shadow: 0px 8px 24px rgba(30, 64, 175, 0.08);
|
541
522
|
border-radius: 8px !important;
|
@@ -545,7 +526,6 @@ blockquote {
|
|
545
526
|
margin-right: 15px !important;
|
546
527
|
color: #d32f2f;
|
547
528
|
width: auto !important;
|
548
|
-
text-transform: capitalize !important;
|
549
529
|
}
|
550
530
|
|
551
531
|
@media (max-width: 480px) {
|
@@ -643,7 +623,7 @@ blockquote {
|
|
643
623
|
}
|
644
624
|
|
645
625
|
.MuiIconButton-root.btnActive {
|
646
|
-
color: #
|
626
|
+
background-color: #ccc;
|
647
627
|
}
|
648
628
|
|
649
629
|
.embed .element-toolbar {
|
@@ -683,8 +663,7 @@ blockquote {
|
|
683
663
|
}
|
684
664
|
|
685
665
|
.resize-br.img-resizer {
|
686
|
-
bottom:
|
687
|
-
right: 5px;
|
666
|
+
bottom: 8px;
|
688
667
|
}
|
689
668
|
|
690
669
|
.visible-on-hover {
|
@@ -879,8 +858,8 @@ blockquote {
|
|
879
858
|
|
880
859
|
.dialogComp .MuiInputBase-input {
|
881
860
|
border-radius: 8px;
|
882
|
-
|
883
|
-
font-size:
|
861
|
+
box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.05);
|
862
|
+
font-size: 12px;
|
884
863
|
font-weight: 500;
|
885
864
|
}
|
886
865
|
|
@@ -1044,11 +1023,11 @@ blockquote {
|
|
1044
1023
|
width: 200px;
|
1045
1024
|
cursor: pointer;
|
1046
1025
|
color: #464646;
|
1047
|
-
|
1026
|
+
background-color: #fff;
|
1048
1027
|
padding: 4px 6px;
|
1049
1028
|
border-radius: 12px;
|
1050
1029
|
span {
|
1051
|
-
text-transform:
|
1030
|
+
text-transform: capitalize;
|
1052
1031
|
}
|
1053
1032
|
@media only screen and (max-width: 599px) {
|
1054
1033
|
background-color: unset;
|
@@ -1070,7 +1049,7 @@ blockquote {
|
|
1070
1049
|
}
|
1071
1050
|
|
1072
1051
|
.textFontArrows .MuiIconButton-root {
|
1073
|
-
padding:
|
1052
|
+
padding: 2px;
|
1074
1053
|
}
|
1075
1054
|
|
1076
1055
|
.tools-drawer .MuiTypography-root {
|
@@ -1094,10 +1073,6 @@ blockquote {
|
|
1094
1073
|
font-size: 14px;
|
1095
1074
|
}
|
1096
1075
|
|
1097
|
-
.listItemMargin {
|
1098
|
-
margin: 0px;
|
1099
|
-
}
|
1100
|
-
|
1101
1076
|
.content-editable.empty {
|
1102
1077
|
position: relative;
|
1103
1078
|
}
|
@@ -1251,10 +1226,8 @@ blockquote {
|
|
1251
1226
|
position: absolute;
|
1252
1227
|
}
|
1253
1228
|
|
1254
|
-
.dividerComponent:hover .divider-settings
|
1255
|
-
.dividerComponent:hover .element-selector {
|
1229
|
+
.dividerComponent:hover .divider-settings {
|
1256
1230
|
display: block;
|
1257
|
-
pointer-events: auto;
|
1258
1231
|
}
|
1259
1232
|
|
1260
1233
|
@media (max-width: 899px) {
|
@@ -1265,61 +1238,3 @@ blockquote {
|
|
1265
1238
|
max-width: 100% !important;
|
1266
1239
|
}
|
1267
1240
|
}
|
1268
|
-
|
1269
|
-
.settingsHeader {
|
1270
|
-
font-size: 14px !important;
|
1271
|
-
font-weight: 500 !important;
|
1272
|
-
}
|
1273
|
-
.hideScroll {
|
1274
|
-
overflow-anchor: none;
|
1275
|
-
}
|
1276
|
-
|
1277
|
-
.hideScroll::-webkit-scrollbar-track {
|
1278
|
-
background: none !important;
|
1279
|
-
}
|
1280
|
-
|
1281
|
-
.hideScroll::-webkit-scrollbar-thumb {
|
1282
|
-
background: none !important;
|
1283
|
-
}
|
1284
|
-
|
1285
|
-
.hideScroll::-webkit-scrollbar-thumb:hover {
|
1286
|
-
background: none !important;
|
1287
|
-
}
|
1288
|
-
|
1289
|
-
.custom-scroll::-webkit-scrollbar {
|
1290
|
-
height: .6rem;
|
1291
|
-
}
|
1292
|
-
|
1293
|
-
.custom-scroll::-webkit-scrollbar-thumb {
|
1294
|
-
background: #888;
|
1295
|
-
border-radius: 5px;
|
1296
|
-
cursor: pointer;
|
1297
|
-
}
|
1298
|
-
|
1299
|
-
.custom-scroll::-webkit-scrollbar-track {
|
1300
|
-
background: #f1f1f1;
|
1301
|
-
}
|
1302
|
-
|
1303
|
-
.custom-scroll:hover::-webkit-scrollbar-thumb {
|
1304
|
-
background: #A7AEC1;
|
1305
|
-
}
|
1306
|
-
|
1307
|
-
::selection {
|
1308
|
-
color: inherit;
|
1309
|
-
background: rgba(35, 131, 226, 0.35) !important;
|
1310
|
-
}
|
1311
|
-
|
1312
|
-
::-moz-selection {
|
1313
|
-
background: rgba(35, 131, 226, 0.35) !important;
|
1314
|
-
color: inherit;
|
1315
|
-
}
|
1316
|
-
|
1317
|
-
::-webkit-selection {
|
1318
|
-
background: rgba(35, 131, 226, 0.35) !important;
|
1319
|
-
color: inherit;
|
1320
|
-
}
|
1321
|
-
|
1322
|
-
.gradientFillBtn {
|
1323
|
-
background: linear-gradient(112.61deg, #2C63ED 19.3%, #8360FD 88.14%) !important;
|
1324
|
-
text-transform: math-auto !important;
|
1325
|
-
}
|
@@ -71,6 +71,7 @@ function AIInput({
|
|
71
71
|
}, [openAI]);
|
72
72
|
const isSendBtnDisabled = !inputValue || loading;
|
73
73
|
const props = getProps(openAI, generatedText) || {};
|
74
|
+
const fromToolBar = openAI === "fromToolBar";
|
74
75
|
const handleSendBtnClick = () => {
|
75
76
|
if (isSendBtnDisabled) {
|
76
77
|
return;
|
@@ -8,14 +8,12 @@ function CustomSelect({
|
|
8
8
|
classes,
|
9
9
|
options,
|
10
10
|
onSend,
|
11
|
-
show
|
12
|
-
btnProps = {}
|
11
|
+
show
|
13
12
|
}) {
|
14
13
|
if (show) {
|
15
14
|
return /*#__PURE__*/_jsx(Box, {
|
16
15
|
component: "div",
|
17
16
|
sx: classes.customSelectContainer,
|
18
|
-
className: "customSelectContainer",
|
19
17
|
children: options?.map((groupOption, index) => {
|
20
18
|
const {
|
21
19
|
options,
|
@@ -30,8 +28,7 @@ function CustomSelect({
|
|
30
28
|
return /*#__PURE__*/_jsx(DisplayOption, {
|
31
29
|
option: option,
|
32
30
|
classes: classes,
|
33
|
-
onSend: onSend
|
34
|
-
btnProps: btnProps
|
31
|
+
onSend: onSend
|
35
32
|
}, i);
|
36
33
|
})]
|
37
34
|
}, index);
|
@@ -45,18 +42,15 @@ export default CustomSelect;
|
|
45
42
|
function DisplayOption({
|
46
43
|
option,
|
47
44
|
classes,
|
48
|
-
onSend
|
49
|
-
btnProps = {}
|
45
|
+
onSend
|
50
46
|
}) {
|
51
47
|
const {
|
52
|
-
Icon
|
53
|
-
Component
|
48
|
+
Icon
|
54
49
|
} = option;
|
55
50
|
const [open, setOpen] = useState(false);
|
56
51
|
const optionRef = useRef();
|
57
|
-
const showChild = option.options?.length || Component;
|
58
52
|
const openOptions = e => {
|
59
|
-
if (
|
53
|
+
if (option.options?.length && !open) {
|
60
54
|
setOpen(e.currentTarget);
|
61
55
|
return;
|
62
56
|
}
|
@@ -72,7 +66,7 @@ function DisplayOption({
|
|
72
66
|
e.stopPropagation();
|
73
67
|
|
74
68
|
// is having child options
|
75
|
-
if (
|
69
|
+
if (option.options?.length) {
|
76
70
|
openOptions(e);
|
77
71
|
return;
|
78
72
|
}
|
@@ -81,19 +75,18 @@ function DisplayOption({
|
|
81
75
|
},
|
82
76
|
id: "infinity-select-popover",
|
83
77
|
className: open ? "active" : "",
|
84
|
-
...btnProps,
|
85
78
|
children: [/*#__PURE__*/_jsxs("div", {
|
86
79
|
className: "option-label",
|
87
80
|
id: "infinity-select-popover",
|
88
81
|
children: [Icon && /*#__PURE__*/_jsx(Icon, {}), option.label]
|
89
|
-
}),
|
82
|
+
}), option.options?.length && /*#__PURE__*/_jsx(IconButton, {
|
90
83
|
children: /*#__PURE__*/_jsx(FaChevronRight, {
|
91
84
|
color: "#94A3B8",
|
92
85
|
size: 12
|
93
86
|
})
|
94
|
-
})
|
87
|
+
})]
|
95
88
|
}), /*#__PURE__*/_jsx(Popper, {
|
96
|
-
open: open &&
|
89
|
+
open: open && option.options,
|
97
90
|
anchorEl: open,
|
98
91
|
sx: {
|
99
92
|
zIndex: 9001,
|
@@ -103,7 +96,7 @@ function DisplayOption({
|
|
103
96
|
setOpen(null);
|
104
97
|
},
|
105
98
|
placement: "right-start",
|
106
|
-
children:
|
99
|
+
children: /*#__PURE__*/_jsx(Box, {
|
107
100
|
children: /*#__PURE__*/_jsx(CustomSelect, {
|
108
101
|
options: option.options,
|
109
102
|
onSend: onSend,
|