@flozy/editor 9.1.2 → 9.1.3
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 +19 -2
- package/dist/Editor/CommonEditor.js +104 -37
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +21 -3
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Button/EditorButton.js +25 -9
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +5 -5
- package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
- package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +6 -1
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +19 -9
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +32 -2
- package/dist/Editor/Elements/DataView/Layouts/TableView.js +126 -29
- package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
- package/dist/Editor/Elements/DataView/styles.js +8 -8
- package/dist/Editor/Elements/Embed/Image.js +2 -2
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +0 -14
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +2 -1
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +2 -1
- package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
- package/dist/Editor/Elements/Grid/GridItem.js +2 -3
- package/dist/Editor/Elements/Link/Link.js +70 -43
- package/dist/Editor/Elements/SimpleText/index.js +0 -1
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +43 -27
- package/dist/Editor/Elements/Table/TableCell.js +4 -3
- package/dist/Editor/Elements/Title/title.js +13 -31
- package/dist/Editor/Elements/Variables/Style.js +28 -2
- package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
- package/dist/Editor/Styles/EditorStyles.js +5 -5
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -0
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +9 -8
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +210 -85
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +54 -7
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +5 -10
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
- package/dist/Editor/common/ColorPickerButton.js +35 -9
- package/dist/Editor/common/CustomColorPicker/index.js +106 -0
- package/dist/Editor/common/CustomColorPicker/style.js +53 -0
- package/dist/Editor/common/CustomDialog/index.js +90 -0
- package/dist/Editor/common/CustomDialog/styles.js +80 -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 +33 -0
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/DnD/Draggable.js +0 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
- package/dist/Editor/common/Icon.js +28 -0
- package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/ImageSelector/UploadStyles.js +9 -10
- package/dist/Editor/common/MentionsPopup/Styles.js +6 -12
- 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 +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +8 -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 +5 -4
- package/dist/Editor/common/RnD/Utils/index.js +45 -0
- package/dist/Editor/common/RnD/index.js +23 -3
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
- 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 +10 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +35 -11
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/Uploader.js +8 -0
- package/dist/Editor/commonStyle.js +114 -69
- package/dist/Editor/helper/index.js +2 -2
- package/dist/Editor/helper/theme.js +200 -2
- package/dist/Editor/hooks/useDrag.js +17 -11
- package/dist/Editor/hooks/useEditorScroll.js +0 -1
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +9 -3
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +19 -14
- package/dist/Editor/plugins/withLayout.js +1 -1
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/theme/ThemeList.js +50 -173
- package/dist/Editor/theme/index.js +144 -0
- package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
- package/dist/Editor/themeSettings/buttons/index.js +283 -0
- package/dist/Editor/themeSettings/buttons/style.js +21 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
- package/dist/Editor/themeSettings/fonts/index.js +220 -0
- package/dist/Editor/themeSettings/fonts/style.js +44 -0
- package/dist/Editor/themeSettings/icons.js +60 -0
- package/dist/Editor/themeSettings/index.js +320 -0
- package/dist/Editor/themeSettings/style.js +152 -0
- package/dist/Editor/themeSettingsAI/icons.js +96 -0
- package/dist/Editor/themeSettingsAI/index.js +356 -0
- package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
- package/dist/Editor/themeSettingsAI/style.js +250 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +150 -37
- package/dist/Editor/utils/button.js +0 -14
- package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +59 -27
- package/dist/Editor/utils/link.js +1 -1
- package/dist/Editor/utils/table.js +8 -0
- package/package.json +6 -3
@@ -1,4 +1,4 @@
|
|
1
|
-
import React, { useCallback, useMemo, useRef, useState,
|
1
|
+
import React, { useCallback, useMemo, useRef, useState, useImperativeHandle, forwardRef } from "react";
|
2
2
|
import { Editable, Slate, ReactEditor } from 'slate-react';
|
3
3
|
import { createEditor, Transforms, Editor } from 'slate';
|
4
4
|
import withCommon from "./hooks/withCommon";
|
@@ -41,7 +41,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
41
41
|
}]
|
42
42
|
}]
|
43
43
|
});
|
44
|
-
const [value
|
44
|
+
const [value] = useState(convertedContent);
|
45
45
|
const debouncedValue = useRef(value);
|
46
46
|
const debounced = useDebouncedCallback(
|
47
47
|
// function
|
@@ -82,6 +82,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
82
82
|
// Focus enable
|
83
83
|
enableFocus: () => {
|
84
84
|
if (editor) {
|
85
|
+
if (editor.children.length === 0) {
|
86
|
+
Transforms.insertNodes(editor, {
|
87
|
+
type: "paragraph",
|
88
|
+
children: [{
|
89
|
+
text: ""
|
90
|
+
}]
|
91
|
+
});
|
92
|
+
}
|
85
93
|
const position = {
|
86
94
|
anchor: {
|
87
95
|
path: [0],
|
@@ -142,6 +150,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
142
150
|
const mentionsRef = useRef();
|
143
151
|
const customProps = {
|
144
152
|
...(otherProps || {}),
|
153
|
+
hideTools: ["settings", "add_column", "drag", "resize"],
|
145
154
|
readOnly: isReadOnly,
|
146
155
|
editorPlaceholder: "Write Something",
|
147
156
|
page_id: 1
|
@@ -178,6 +187,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
178
187
|
});
|
179
188
|
};
|
180
189
|
const handleEditorChange = newValue => {
|
190
|
+
if (editor.children.length === 0) {
|
191
|
+
Transforms.insertNodes(editor, {
|
192
|
+
type: "paragraph",
|
193
|
+
children: [{
|
194
|
+
text: ""
|
195
|
+
}]
|
196
|
+
});
|
197
|
+
}
|
181
198
|
debounced(newValue);
|
182
199
|
debouncedValue.current = newValue;
|
183
200
|
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
2
|
-
import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle } from "react";
|
2
|
+
import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle, createContext } from "react";
|
3
3
|
import PropTypes from "prop-types";
|
4
4
|
import { createEditor, Range, Transforms } from "slate";
|
5
5
|
import { Slate, Editable, ReactEditor } from "slate-react";
|
@@ -17,7 +17,7 @@ import { serializeToText } from "./utils/serializeToText";
|
|
17
17
|
import { getPageSettings } from "./utils/pageSettings";
|
18
18
|
import { getThumbnailImage, invertColor } from "./helper";
|
19
19
|
import PopupTool from "./Toolbar/PopupTool";
|
20
|
-
import { Box, Typography, useTheme } from "@mui/material";
|
20
|
+
import { Box, Typography, useTheme, IconButton } 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,9 +26,12 @@ 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 { getInitialValue, handleInsertLastElement, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
|
29
|
+
import { getTRBLBreakPoints, getVariableValue, getBreakpointLineSpacing } from "./helper/theme";
|
30
|
+
import { getInitialValue, 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";
|
32
35
|
import PopoverAIInput from "./Elements/AI/PopoverAIInput";
|
33
36
|
import RnDCopy from "./common/RnD/RnDCopy";
|
34
37
|
import SwitchViewport from "./common/RnD/SwitchViewport/SwitchViewport";
|
@@ -37,8 +40,11 @@ import "./font.css";
|
|
37
40
|
import "./Editor.css";
|
38
41
|
import "animate.css";
|
39
42
|
import FontLoader from "./common/FontLoader/FontLoader";
|
43
|
+
import { ThemeAIIcon, ThemePaintIcon } from "./assets/svg/ThemeIcons";
|
44
|
+
import { CustomDialogComponent } from "./common/CustomDialog";
|
40
45
|
import { jsx as _jsx } from "react/jsx-runtime";
|
41
46
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
47
|
+
export const ThemeContext = /*#__PURE__*/createContext(null);
|
42
48
|
const Item = /*#__PURE__*/forwardRef(({
|
43
49
|
children,
|
44
50
|
...props
|
@@ -75,10 +81,10 @@ const Leaf = /*#__PURE__*/React.memo(({
|
|
75
81
|
});
|
76
82
|
Leaf.displayName = "Leaf";
|
77
83
|
const updateTopBanner = (content = [], setTopBanner) => {
|
78
|
-
setTopBanner(() => {
|
79
|
-
|
80
|
-
|
81
|
-
});
|
84
|
+
// setTopBanner(() => {
|
85
|
+
// const firstNode = content ? content[0] : {};
|
86
|
+
// return firstNode?.type === "topbanner" ? firstNode : null;
|
87
|
+
// });
|
82
88
|
};
|
83
89
|
const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
84
90
|
const {
|
@@ -93,13 +99,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
93
99
|
otherProps,
|
94
100
|
isIframe,
|
95
101
|
theme,
|
102
|
+
showThemeButtons,
|
96
103
|
showViewport = false,
|
97
104
|
overrideWrapperStyles = {}
|
98
105
|
} = props;
|
99
106
|
const editorWrapper = useRef();
|
100
107
|
const mentionsRef = useRef();
|
101
108
|
const convertedContent = draftToSlate({
|
102
|
-
data: content
|
109
|
+
data: content,
|
110
|
+
needLayout: otherProps?.needLayout
|
103
111
|
});
|
104
112
|
const [value, setValue] = useState(convertedContent);
|
105
113
|
const [isInteracted, setIsInteracted] = useState(false);
|
@@ -114,6 +122,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
114
122
|
const [breakpoint, setBreakpoint] = useState("");
|
115
123
|
const [topBanner, setTopBanner] = useState();
|
116
124
|
const debouncedValue = useRef(value);
|
125
|
+
const dialogRef = useRef(null);
|
117
126
|
const [size] = useWindowResize();
|
118
127
|
const {
|
119
128
|
needDotsBG,
|
@@ -139,10 +148,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
139
148
|
const {
|
140
149
|
bannerSpacing,
|
141
150
|
pageBgImage,
|
142
|
-
pageColor,
|
151
|
+
pageColor = "",
|
143
152
|
color: pageTextColor,
|
144
153
|
pageWidth,
|
145
154
|
maxWidth: pageMaxWidth,
|
155
|
+
theme: selectedTheme,
|
146
156
|
lineHeight
|
147
157
|
} = pageSt?.pageProps || {
|
148
158
|
bannerSpacing: {
|
@@ -154,10 +164,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
154
164
|
};
|
155
165
|
const classes = editorStyles({
|
156
166
|
padHeight: !fullScreen ? otherProps?.padHeight : 20,
|
157
|
-
placeHolderColor: invertColor(pageColor || "#FFF"),
|
167
|
+
placeHolderColor: invertColor(pageColor.startsWith("var") ? getVariableValue(pageColor) : pageColor || "#FFF"),
|
158
168
|
theme,
|
159
169
|
overrideWrapperStyles
|
160
170
|
});
|
171
|
+
const [openTheme, setOpenTheme] = useState(false);
|
172
|
+
const [openAITheme, setOpenAITheme] = useState(false);
|
173
|
+
const [, setThemeUpdated] = useState(0);
|
174
|
+
const triggerRender = () => {
|
175
|
+
setThemeUpdated(prev => prev + 1); // Incrementing forces a re-render while updating theme
|
176
|
+
};
|
177
|
+
|
161
178
|
const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
|
162
179
|
useEffect(() => {
|
163
180
|
setValue(draftToSlate({
|
@@ -171,11 +188,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
171
188
|
const debounced = useDebouncedCallback(
|
172
189
|
// function
|
173
190
|
value => {
|
191
|
+
debouncedValue.current = value;
|
174
192
|
const {
|
175
193
|
value: strVal,
|
176
194
|
...restVal
|
177
195
|
} = getOnSaveData(value);
|
178
|
-
debouncedValue.current = value;
|
179
196
|
onSave(strVal, restVal);
|
180
197
|
},
|
181
198
|
// delay in ms
|
@@ -186,20 +203,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
186
203
|
return {
|
187
204
|
value: JSON.stringify(val),
|
188
205
|
text: text,
|
189
|
-
title: serializeToText(title?.children) || "
|
206
|
+
title: serializeToText(title?.children) || ""
|
190
207
|
};
|
191
208
|
};
|
192
|
-
const getTitleSaveData = title => {
|
193
|
-
const val = debouncedValue.current;
|
194
|
-
const data = {
|
195
|
-
text: serializeToText(val),
|
196
|
-
title: title
|
197
|
-
};
|
198
|
-
if (customProps.onSaveTitle) {
|
199
|
-
const isTitleChanged = true;
|
200
|
-
customProps.onSaveTitle(JSON.stringify(val), data, isTitleChanged);
|
201
|
-
}
|
202
|
-
};
|
203
209
|
const getPreviewImage = async (needBackground = false, options = {}) => {
|
204
210
|
ReactEditor.blur(editor);
|
205
211
|
const dom = needBackground ? editorWrapper?.current : editorWrapper?.current.getElementsByClassName("innert-editor-textbox")[0];
|
@@ -296,6 +302,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
296
302
|
redo() {
|
297
303
|
editor?.redo();
|
298
304
|
},
|
305
|
+
toggleTheme() {
|
306
|
+
setOpenTheme(!openTheme);
|
307
|
+
},
|
308
|
+
toggleAITheme() {
|
309
|
+
setOpenAITheme(!openAITheme);
|
310
|
+
},
|
299
311
|
getPageSettings: {
|
300
312
|
background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
|
301
313
|
}
|
@@ -344,8 +356,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
344
356
|
page_title: page_title,
|
345
357
|
isIframe: isIframe,
|
346
358
|
onDrawerOpen: onDrawerOpen,
|
347
|
-
ICON_API: "https://assets.agenciflow.com"
|
348
|
-
getTitleSaveData
|
359
|
+
ICON_API: "https://assets.agenciflow.com"
|
349
360
|
};
|
350
361
|
const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
|
351
362
|
const renderElement = useCallback(props => {
|
@@ -367,6 +378,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
367
378
|
...partialState
|
368
379
|
}));
|
369
380
|
};
|
381
|
+
const handleDeleteAll = () => {
|
382
|
+
const {
|
383
|
+
selection
|
384
|
+
} = editor;
|
385
|
+
if (selection) {
|
386
|
+
editor.deleteFragment();
|
387
|
+
dialogRef.current?.handleClose();
|
388
|
+
}
|
389
|
+
};
|
370
390
|
const onKeyDown = useCallback(event => {
|
371
391
|
const isMetaKey = event.metaKey && event.keyCode >= 65 && event.keyCode <= 90;
|
372
392
|
const isCtrlKey = event.ctrlKey || isMetaKey;
|
@@ -413,16 +433,27 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
413
433
|
const {
|
414
434
|
selection
|
415
435
|
} = editor;
|
436
|
+
const everythingSelect = isEverythingSelected(editor);
|
416
437
|
event.preventDefault();
|
417
|
-
if (
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
}
|
438
|
+
if (everythingSelect) {
|
439
|
+
dialogRef.current?.handleOpen();
|
440
|
+
} else {
|
441
|
+
if (selection) {
|
442
|
+
if (!Range.isCollapsed(selection)) {
|
443
|
+
editor.deleteFragment();
|
444
|
+
} else {
|
445
|
+
editor.deleteBackward({
|
446
|
+
unit: "character"
|
447
|
+
});
|
448
|
+
}
|
424
449
|
}
|
425
450
|
}
|
451
|
+
} else if (event.key === "Delete") {
|
452
|
+
const everythingSelect = isEverythingSelected(editor);
|
453
|
+
if (everythingSelect) {
|
454
|
+
event.preventDefault();
|
455
|
+
dialogRef.current?.handleOpen();
|
456
|
+
}
|
426
457
|
}
|
427
458
|
}, [chars, target, mentions, setMentions, search, type, mentionsRef]);
|
428
459
|
const Overlay = collaborativeEditor && !isReadOnly ? RemoteCursorOverlay : React.Fragment;
|
@@ -472,6 +503,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
472
503
|
}
|
473
504
|
return style;
|
474
505
|
}, [pageBgImage, pageColor]);
|
506
|
+
const themeProps = getTheme(selectedTheme);
|
475
507
|
|
476
508
|
// const handleContextMenu = (e) => {
|
477
509
|
// if (!readOnly) {
|
@@ -501,14 +533,30 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
501
533
|
console.log("handleCursorScroll", err);
|
502
534
|
}
|
503
535
|
};
|
504
|
-
return /*#__PURE__*/
|
536
|
+
return /*#__PURE__*/_jsxs(EditorProvider, {
|
505
537
|
theme: theme,
|
506
538
|
editor: editor,
|
507
|
-
|
539
|
+
openTheme: openTheme,
|
540
|
+
setOpenTheme: setOpenTheme,
|
541
|
+
triggerRender: triggerRender,
|
542
|
+
children: [showThemeButtons ? /*#__PURE__*/_jsxs("div", {
|
543
|
+
className: "theme-buttons",
|
544
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
545
|
+
onClick: () => setOpenTheme(true),
|
546
|
+
children: /*#__PURE__*/_jsx(ThemePaintIcon, {})
|
547
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
548
|
+
onClick: () => setOpenAITheme(true),
|
549
|
+
style: {
|
550
|
+
marginTop: "4px"
|
551
|
+
},
|
552
|
+
children: /*#__PURE__*/_jsx(ThemeAIIcon, {})
|
553
|
+
})]
|
554
|
+
}) : null, /*#__PURE__*/_jsx(DialogWrapper, {
|
508
555
|
classes: classes,
|
509
556
|
...props,
|
510
557
|
fullScreen: fullScreen,
|
511
558
|
footer: footer || "",
|
559
|
+
selectedTheme: selectedTheme,
|
512
560
|
children: /*#__PURE__*/_jsxs(Box, {
|
513
561
|
component: "div",
|
514
562
|
className: `et-wrpr stimulate-${breakpoint} ${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
|
@@ -538,6 +586,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
538
586
|
children: /*#__PURE__*/_jsxs(Box, {
|
539
587
|
component: "div",
|
540
588
|
className: "max-content",
|
589
|
+
sx: themeProps?.sxProps || {},
|
541
590
|
"data-info": outsideEditorClickLabel,
|
542
591
|
children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
|
543
592
|
className: "scroll-area",
|
@@ -604,6 +653,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
604
653
|
"data-info": outsideEditorClickLabel,
|
605
654
|
onClick: handleFooterClick,
|
606
655
|
children: footer
|
656
|
+
}), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
|
657
|
+
open: openTheme,
|
658
|
+
setOpen: setOpenTheme,
|
659
|
+
editor: editor,
|
660
|
+
services: otherProps?.services
|
661
|
+
}) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
|
662
|
+
openAITheme: openAITheme,
|
663
|
+
setOpenAITheme: setOpenAITheme,
|
664
|
+
onSaveTheme: otherProps?.onSaveTheme
|
607
665
|
})]
|
608
666
|
})
|
609
667
|
}), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
|
@@ -612,8 +670,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
612
670
|
setIsTextSelected: setIsTextSelected,
|
613
671
|
customProps: customProps,
|
614
672
|
editorWrapper: editorWrapper
|
615
|
-
}) : null, !readOnly
|
673
|
+
}) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
|
616
674
|
breakpoint: breakpoint,
|
675
|
+
show: showViewport,
|
617
676
|
onChange: b => onSwitchBreakpoint(b)
|
618
677
|
}) : null]
|
619
678
|
})
|
@@ -628,7 +687,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
628
687
|
readOnly: readOnly
|
629
688
|
})]
|
630
689
|
})
|
631
|
-
})
|
690
|
+
}), /*#__PURE__*/_jsx(CustomDialogComponent, {
|
691
|
+
ref: dialogRef,
|
692
|
+
content: "Are you sure you want to delete All the content?",
|
693
|
+
confirmText: "Delete",
|
694
|
+
cancelText: "Cancel",
|
695
|
+
onConfirm: () => {
|
696
|
+
handleDeleteAll();
|
697
|
+
}
|
698
|
+
})]
|
632
699
|
});
|
633
700
|
});
|
634
701
|
CommonEditor.displayName = "CommonEditor";
|
@@ -2,6 +2,7 @@ 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";
|
5
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
7
8
|
const DialogWrapper = props => {
|
@@ -9,40 +10,45 @@ const DialogWrapper = props => {
|
|
9
10
|
fullScreen,
|
10
11
|
onClose,
|
11
12
|
children,
|
12
|
-
classes
|
13
|
+
classes,
|
14
|
+
selectedTheme
|
13
15
|
} = props;
|
14
|
-
return fullScreen ? /*#__PURE__*/
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
},
|
22
|
-
sx: classes.fullScreenWrapper,
|
23
|
-
children: [/*#__PURE__*/_jsx(DialogTitle, {
|
16
|
+
return fullScreen ? /*#__PURE__*/_jsx(MainThemeProvider, {
|
17
|
+
userSelectedTheme: selectedTheme,
|
18
|
+
children: /*#__PURE__*/_jsxs(Dialog, {
|
19
|
+
className: `dialogComp`,
|
20
|
+
open: fullScreen,
|
21
|
+
fullScreen: fullScreen,
|
22
|
+
onClose: onClose,
|
24
23
|
style: {
|
25
|
-
|
24
|
+
zIndex: 1000
|
26
25
|
},
|
27
|
-
|
26
|
+
sx: classes.fullScreenWrapper,
|
27
|
+
children: [/*#__PURE__*/_jsx(DialogTitle, {
|
28
|
+
style: {
|
29
|
+
padding: "6px 8px"
|
30
|
+
},
|
28
31
|
children: /*#__PURE__*/_jsx(Grid, {
|
29
|
-
|
30
|
-
display: "flex",
|
31
|
-
justifyContent: "end"
|
32
|
-
},
|
33
|
-
children: /*#__PURE__*/_jsx(IconButton, {
|
34
|
-
onClick: onClose,
|
32
|
+
children: /*#__PURE__*/_jsx(Grid, {
|
35
33
|
style: {
|
36
|
-
|
34
|
+
display: "flex",
|
35
|
+
justifyContent: "end"
|
37
36
|
},
|
38
|
-
children: /*#__PURE__*/_jsx(
|
37
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
38
|
+
onClick: onClose,
|
39
|
+
style: {
|
40
|
+
background: "rgba(255,255,255,0.5)"
|
41
|
+
},
|
42
|
+
children: /*#__PURE__*/_jsx(CloseIcon, {})
|
43
|
+
})
|
39
44
|
})
|
40
45
|
})
|
41
|
-
})
|
42
|
-
|
43
|
-
|
44
|
-
})
|
46
|
+
}), /*#__PURE__*/_jsx(DialogContent, {
|
47
|
+
children: children
|
48
|
+
})]
|
49
|
+
})
|
45
50
|
}) : /*#__PURE__*/_jsx(ViewportStimulator, {
|
51
|
+
selectedTheme: selectedTheme,
|
46
52
|
children: children
|
47
53
|
});
|
48
54
|
};
|
package/dist/Editor/Editor.css
CHANGED
@@ -1280,8 +1280,8 @@ blockquote {
|
|
1280
1280
|
}
|
1281
1281
|
@media (max-width: 899px) {
|
1282
1282
|
/* Qa validation required */
|
1283
|
-
|
1284
|
-
|
1283
|
+
/* .MuiPopover-root {
|
1284
|
+
z-index: 1302 !important;
|
1285
1285
|
} */
|
1286
1286
|
|
1287
1287
|
canvas {
|
@@ -1339,4 +1339,22 @@ code.markcode {
|
|
1339
1339
|
display: block;
|
1340
1340
|
background-color: #f3f3f3;
|
1341
1341
|
font-family: 'Source Code Pro' !important;
|
1342
|
-
}
|
1342
|
+
}
|
1343
|
+
|
1344
|
+
/* Hide the popper when the reference is hidden */
|
1345
|
+
.hide-popper-on-overlap[data-popper-escaped],
|
1346
|
+
.hide-popper-on-overlap[data-popper-reference-hidden] {
|
1347
|
+
visibility: hidden;
|
1348
|
+
pointer-events: none;
|
1349
|
+
}
|
1350
|
+
|
1351
|
+
.theme-buttons {
|
1352
|
+
display: flex;
|
1353
|
+
justify-content: end;
|
1354
|
+
align-items: center;
|
1355
|
+
margin: auto;
|
1356
|
+
position: absolute;
|
1357
|
+
top: 60px;
|
1358
|
+
right: 20px;
|
1359
|
+
z-index: 1000;
|
1360
|
+
}
|
@@ -265,7 +265,7 @@ function AppHeader(props) {
|
|
265
265
|
style: {
|
266
266
|
display: "inline-flex",
|
267
267
|
alignItems: "center",
|
268
|
-
color: textColor,
|
268
|
+
color: textColor || "#000000",
|
269
269
|
fontSize: logoFontSize,
|
270
270
|
fontFamily: titleFontFamily,
|
271
271
|
justifyContent: isLogoRight ? "end" : "start"
|
@@ -320,7 +320,7 @@ function AppHeader(props) {
|
|
320
320
|
fontFamily: fontFamily,
|
321
321
|
textTransform: "none",
|
322
322
|
fontSize: fontSize || "16px",
|
323
|
-
color: textColor || "#
|
323
|
+
color: textColor || "#000",
|
324
324
|
background: bgColor || "none",
|
325
325
|
"& .m-settings": {
|
326
326
|
display: "none",
|
@@ -335,7 +335,7 @@ function AppHeader(props) {
|
|
335
335
|
background: "#FFF"
|
336
336
|
},
|
337
337
|
"&:hover": {
|
338
|
-
color: textColorHover || textColor || "#
|
338
|
+
color: textColorHover || textColor || "#000",
|
339
339
|
background: bgColorHover || bgColor || "none",
|
340
340
|
"& .m-settings": {
|
341
341
|
display: "block"
|
@@ -9,6 +9,8 @@ import { WorkflowIcon } from "../../common/iconslist";
|
|
9
9
|
import { getTRBLBreakPoints, getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
|
10
10
|
import { handleLinkType, windowVar } from "../../utils/helper";
|
11
11
|
import LinkSettings from "../../common/LinkSettings";
|
12
|
+
import { useEditorTheme } from "../../hooks/useEditorTheme";
|
13
|
+
import { getTheme } from "../../theme";
|
12
14
|
import Icon from "../../common/Icon";
|
13
15
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
14
16
|
import useCommonStyle from "../../commonStyle";
|
@@ -38,6 +40,12 @@ const EditorButton = props => {
|
|
38
40
|
const [openNav, setOpenNav] = useState(false);
|
39
41
|
const [openMoreOptions, setOpenMoreOptions] = useState(false);
|
40
42
|
const classes = useCommonStyle(appTheme);
|
43
|
+
const {
|
44
|
+
theme: selectedTheme
|
45
|
+
} = useEditorTheme();
|
46
|
+
const {
|
47
|
+
buttonTheme
|
48
|
+
} = getTheme(selectedTheme);
|
41
49
|
const {
|
42
50
|
label,
|
43
51
|
bgColor,
|
@@ -51,7 +59,7 @@ const EditorButton = props => {
|
|
51
59
|
fontFamily,
|
52
60
|
textColorHover,
|
53
61
|
bgColorHover,
|
54
|
-
buttonIcon,
|
62
|
+
// buttonIcon,
|
55
63
|
iconPosition = "start",
|
56
64
|
borderStyle,
|
57
65
|
borderWidth,
|
@@ -72,6 +80,7 @@ const EditorButton = props => {
|
|
72
80
|
};
|
73
81
|
const isTrigger = linkType === "nextTrigger" || linkType === "prevTrigger";
|
74
82
|
const refURl = isTrigger ? buttonLink?.url : url;
|
83
|
+
const buttonIcon = element?.buttonIcon || buttonTheme?.buttonIcon;
|
75
84
|
const BtnIcon = buttonIcon ? buttonIcon : null;
|
76
85
|
windowVar.lastButtonProps = element;
|
77
86
|
const handleTrigger = async () => {
|
@@ -162,6 +171,7 @@ const EditorButton = props => {
|
|
162
171
|
display: "inline-flex",
|
163
172
|
color: "rgba(0, 0, 0, 0.54)",
|
164
173
|
marginBottom: "0px !important",
|
174
|
+
...classes.buttonMoreOption,
|
165
175
|
...classes.buttonMoreOption3
|
166
176
|
},
|
167
177
|
...btnProps,
|
@@ -253,19 +263,14 @@ const EditorButton = props => {
|
|
253
263
|
display: "inline-block"
|
254
264
|
},
|
255
265
|
children: [/*#__PURE__*/_jsxs(Box, {
|
266
|
+
className: `btn textAlign-${tAlign} button theme-element`,
|
256
267
|
ref: buttonRef,
|
257
|
-
className: `btn textAlign-${tAlign}`,
|
258
268
|
sx: {
|
259
269
|
textDecoration: "none",
|
260
|
-
background: bgColor || "rgb(30, 75, 122)",
|
261
270
|
borderBlockStyle: "solid",
|
262
|
-
borderColor: borderColor || "transparent",
|
263
271
|
borderWidth: borderWidth !== undefined ? borderWidth : borderColor ? "1px" : "0px",
|
264
272
|
...btnSp,
|
265
273
|
borderStyle: borderStyle || "solid",
|
266
|
-
color: `${textColor || "#FFFFFF"}`,
|
267
|
-
fontSize: textSize || "inherit",
|
268
|
-
fontFamily: fontFamily || "PoppinsRegular",
|
269
274
|
display: "inline-flex",
|
270
275
|
alignItems: "center",
|
271
276
|
position: "relative",
|
@@ -274,11 +279,22 @@ const EditorButton = props => {
|
|
274
279
|
display: "none"
|
275
280
|
},
|
276
281
|
"&:hover": {
|
277
|
-
color: `${textColorHover || textColor
|
278
|
-
background: bgColorHover || bgColor
|
282
|
+
color: `${textColorHover || textColor}`,
|
283
|
+
background: bgColorHover || bgColor,
|
279
284
|
"& .element-toolbar": {
|
280
285
|
display: "flex"
|
281
286
|
}
|
287
|
+
},
|
288
|
+
color: textColor ? `${textColor} !important` : "#FFFFFF",
|
289
|
+
fontSize: textSize ? `${textSize}px !important` : "inherit",
|
290
|
+
fontFamily: fontFamily ? `${fontFamily} !important` : "PoppinsRegular",
|
291
|
+
background: `${bgColor} !important`,
|
292
|
+
borderColor: `${borderColor} !important`,
|
293
|
+
borderRadius: {
|
294
|
+
...getBreakPointsValue(borderRadius || buttonTheme?.borderRadius || {}, null, "overrideBorderRadius", true)
|
295
|
+
},
|
296
|
+
padding: {
|
297
|
+
...getTRBLBreakPoints(bannerSpacing || buttonTheme?.bannerSpacing || {})
|
282
298
|
}
|
283
299
|
},
|
284
300
|
...buttonProps,
|