@flozy/editor 9.3.2 → 9.3.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 +50 -15
- package/dist/Editor/CommonEditor.js +129 -20
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +17 -7
- package/dist/Editor/Elements/AI/AIInput.js +5 -3
- package/dist/Editor/Elements/AI/CustomSelect.js +9 -5
- package/dist/Editor/Elements/AI/PopoverAIInput.js +4 -2
- package/dist/Editor/Elements/Accordion/Accordion.js +4 -3
- package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +4 -1
- package/dist/Editor/Elements/Accordion/AccordionButton.js +6 -2
- package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +4 -1
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +6 -2
- package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +4 -1
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +4 -1
- package/dist/Editor/Elements/Button/ButtonPopup.js +4 -1
- package/dist/Editor/Elements/Button/ButtonToolIcon.js +6 -2
- package/dist/Editor/Elements/Button/EditorButton.js +31 -14
- package/dist/Editor/Elements/Carousel/Carousel.js +5 -4
- package/dist/Editor/Elements/Carousel/CarouselButton.js +6 -2
- package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -2
- package/dist/Editor/Elements/ChipText/ChipTextPopup.js +4 -1
- package/dist/Editor/Elements/CodeToText/CodeToText.js +5 -4
- package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +6 -2
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +60 -14
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
- package/dist/Editor/Elements/Color Picker/Styles.js +3 -3
- package/dist/Editor/Elements/Colorbox/ColorboxButton.js +6 -2
- package/dist/Editor/Elements/DataView/DataView.js +5 -2
- package/dist/Editor/Elements/DataView/DataViewButton.js +6 -2
- package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +4 -3
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +6 -1
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +7 -2
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +13 -12
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +7 -4
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +7 -5
- package/dist/Editor/Elements/DataView/Layouts/FilterView.js +9 -7
- package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -2
- package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +5 -3
- package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +6 -5
- package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +5 -3
- package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -6
- package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +64 -38
- package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +3 -2
- package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +3 -2
- package/dist/Editor/Elements/DataView/Layouts/Options/index.js +12 -6
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +4 -1
- package/dist/Editor/Elements/DataView/Layouts/TableView.js +6 -4
- package/dist/Editor/Elements/DataView/Layouts/index.js +3 -1
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +5 -2
- package/dist/Editor/Elements/Divider/Divider.js +5 -3
- package/dist/Editor/Elements/Divider/DividerButton.js +6 -2
- package/dist/Editor/Elements/Divider/DividerPopup.js +3 -2
- package/dist/Editor/Elements/Embed/Embed.js +4 -1
- package/dist/Editor/Elements/Embed/EmbedPopup.js +4 -1
- package/dist/Editor/Elements/Embed/Image.js +16 -11
- package/dist/Editor/Elements/Embed/Video.js +10 -7
- package/dist/Editor/Elements/EmbedScript/Code.js +7 -4
- package/dist/Editor/Elements/EmbedScript/EmbedScript.js +6 -2
- package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +8 -5
- package/dist/Editor/Elements/Emoji/EmojiButton.js +6 -2
- package/dist/Editor/Elements/Form/FieldPopup.js +4 -1
- package/dist/Editor/Elements/Form/Form.js +12 -9
- package/dist/Editor/Elements/Form/FormButton.js +6 -2
- package/dist/Editor/Elements/Form/FormPopup.js +3 -2
- package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +18 -12
- package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +13 -8
- package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +3 -2
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +4 -2
- package/dist/Editor/Elements/Form/Workflow/index.js +15 -9
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +21 -18
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +6 -2
- package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +6 -2
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +8 -3
- package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +3 -2
- package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -3
- package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
- package/dist/Editor/Elements/Grid/Grid.js +13 -10
- package/dist/Editor/Elements/Grid/GridButton.js +9 -5
- package/dist/Editor/Elements/Grid/GridItem.js +14 -8
- package/dist/Editor/Elements/Grid/GridItemPopup.js +4 -1
- package/dist/Editor/Elements/Grid/GridPopup.js +4 -1
- package/dist/Editor/Elements/Grid/SectionPopup.js +4 -1
- package/dist/Editor/Elements/Link/Link.js +14 -7
- package/dist/Editor/Elements/Link/LinkButton.js +4 -1
- package/dist/Editor/Elements/List/CheckList.js +14 -9
- package/dist/Editor/Elements/NewLine/NewLineButton.js +6 -2
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +16 -5
- package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +4 -1
- package/dist/Editor/Elements/Search/SearchButton.js +6 -3
- package/dist/Editor/Elements/Search/SearchList.js +7 -3
- package/dist/Editor/Elements/Signature/SignatureButton.js +6 -2
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +6 -2
- package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +4 -1
- package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -16
- package/dist/Editor/Elements/SimpleText/index.js +5 -4
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/DragButton.js +4 -2
- package/dist/Editor/Elements/Table/Table.js +48 -25
- package/dist/Editor/Elements/Table/TableCell.js +6 -27
- package/dist/Editor/Elements/Table/TablePopup.js +4 -1
- package/dist/Editor/Elements/Table/TableSelector.js +10 -6
- package/dist/Editor/Elements/Table/TableTool.js +8 -4
- package/dist/Editor/Elements/Title/title.js +10 -0
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +4 -1
- package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
- package/dist/Editor/MiniEditor.js +9 -3
- package/dist/Editor/Styles/EditorStyles.js +5 -5
- package/dist/Editor/Toolbar/Basic/index.js +2 -1
- package/dist/Editor/Toolbar/FormatTools/BlockButton.js +6 -2
- 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 +8 -4
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -13
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +20 -15
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +10 -5
- package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +10 -4
- package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +10 -4
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +6 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +42 -35
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +58 -51
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +29 -22
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +226 -87
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -7
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +8 -4
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -9
- package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +11 -5
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +120 -41
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +441 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +3 -8
- package/dist/Editor/Toolbar/Toolbar.js +20 -10
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/CalenderIconTick.js +1 -0
- package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
- package/dist/Editor/common/ColorPickerButton.js +45 -10
- package/dist/Editor/common/CustomColorPicker/index.js +125 -0
- package/dist/Editor/common/CustomColorPicker/style.js +53 -0
- package/dist/Editor/common/CustomDialog/index.js +8 -10
- 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/FontLoader/FontLoader.js +3 -0
- package/dist/Editor/common/Icon.js +46 -1
- package/dist/Editor/common/ImageSelector/ImageSelector.js +10 -8
- package/dist/Editor/common/ImageSelector/Options/AddLink.js +6 -4
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/LinkSettings/NavComponents.js +14 -10
- package/dist/Editor/common/LinkSettings/index.js +20 -14
- package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
- package/dist/Editor/common/MentionsPopup/Styles.js +106 -68
- package/dist/Editor/common/MentionsPopup/index.js +8 -4
- package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
- package/dist/Editor/common/RnD/ContextMenu/index.js +3 -2
- package/dist/Editor/common/RnD/ElementOptions/index.js +7 -2
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +8 -3
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +7 -3
- 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 +7 -4
- 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/TextSettings.js +6 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
- package/dist/Editor/common/RnD/OptionsPopup/index.js +4 -3
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -4
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +20 -8
- package/dist/Editor/common/RnD/Utils/index.js +45 -0
- package/dist/Editor/common/RnD/VirtualElement/index.js +1 -2
- package/dist/Editor/common/RnD/index.js +34 -7
- package/dist/Editor/common/Section/index.js +7 -4
- package/dist/Editor/common/Shorthands/elements.js +93 -10
- package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
- package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +6 -4
- package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
- package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +13 -9
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +11 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +19 -5
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +22 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +6 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +27 -13
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +41 -14
- package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +10 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +19 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +6 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +5 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +9 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +8 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +12 -11
- package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +6 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +8 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +6 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +21 -12
- package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
- package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
- package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
- package/dist/Editor/common/StyleBuilder/index.js +8 -5
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +5 -7
- package/dist/Editor/common/Uploader.js +16 -5
- package/dist/Editor/commonStyle.js +55 -65
- package/dist/Editor/helper/index.js +8 -12
- package/dist/Editor/helper/textIndeces.js +58 -0
- package/dist/Editor/helper/theme.js +200 -2
- package/dist/Editor/hooks/useDrag.js +16 -10
- package/dist/Editor/hooks/useEditorScroll.js +10 -5
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +25 -13
- package/dist/Editor/hooks/useTable.js +1 -1
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +18 -13
- package/dist/Editor/plugins/withLayout.js +3 -2
- 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 +285 -0
- package/dist/Editor/themeSettings/buttons/style.js +23 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +297 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
- package/dist/Editor/themeSettings/fonts/index.js +222 -0
- package/dist/Editor/themeSettings/fonts/style.js +59 -0
- package/dist/Editor/themeSettings/icons.js +60 -0
- package/dist/Editor/themeSettings/index.js +328 -0
- package/dist/Editor/themeSettings/style.js +193 -0
- package/dist/Editor/themeSettingsAI/icons.js +96 -0
- package/dist/Editor/themeSettingsAI/index.js +355 -0
- package/dist/Editor/themeSettingsAI/saveTheme.js +215 -0
- package/dist/Editor/themeSettingsAI/style.js +250 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +171 -47
- package/dist/Editor/utils/button.js +0 -14
- package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
- package/dist/Editor/utils/divider.js +8 -0
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/embed.js +9 -4
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +65 -19
- package/dist/Editor/utils/table.js +8 -0
- package/package.json +1 -1
@@ -34,12 +34,12 @@ import SimpleText from "../Elements/SimpleText";
|
|
34
34
|
import CheckList from "../Elements/List/CheckList";
|
35
35
|
import { getTextColor, isEmptyTextNode } from "../helper";
|
36
36
|
import Attachments from "../Elements/Attachments/Attachments";
|
37
|
-
import { getBreakPointsValue,
|
37
|
+
import { getBreakPointsValue, textThemeFields, getElementProperty } from "../helper/theme";
|
38
38
|
import Variables from "../Elements/Variables/Variable";
|
39
|
-
import insertNewLine from "./insertNewLine";
|
40
39
|
import Divider from "../Elements/Divider/Divider";
|
41
40
|
import { getBorderColor, getSlateDom } from "./helper";
|
42
41
|
import Code from "../Elements/EmbedScript/Code";
|
42
|
+
import { ReactEditor } from "slate-react";
|
43
43
|
import FreeGrid from "../Elements/FreeGrid/FreeGrid";
|
44
44
|
import FreeGridItem from "../Elements/FreeGrid/FreeGridItem";
|
45
45
|
import FreeGridBox from "../Elements/FreeGrid/FreeGridBox";
|
@@ -47,7 +47,7 @@ import DataView from "../Elements/DataView/DataView";
|
|
47
47
|
import ViewData from "../Elements/DataView/Layouts/ViewData";
|
48
48
|
import ColumnView from "../Elements/DataView/Layouts/ColumnView";
|
49
49
|
import SearchAttachment from "../Elements/Search/SearchAttachment";
|
50
|
-
|
50
|
+
import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
|
51
51
|
import { jsx as _jsx } from "react/jsx-runtime";
|
52
52
|
const alignment = ["alignLeft", "alignRight", "alignCenter", "alignJustify"];
|
53
53
|
const list_types = ["orderedList", "unorderedList"];
|
@@ -55,7 +55,17 @@ const LIST_FORMAT_TYPE = {
|
|
55
55
|
orderedList: "list-item",
|
56
56
|
unorderedList: "list-item"
|
57
57
|
};
|
58
|
-
|
58
|
+
|
59
|
+
// const NEWLINESAFTER = [
|
60
|
+
// "headingOne",
|
61
|
+
// "headingTwo",
|
62
|
+
// "headingThree",
|
63
|
+
// "headingFour",
|
64
|
+
// "headingFive",
|
65
|
+
// "headingSix",
|
66
|
+
// ];
|
67
|
+
|
68
|
+
const THEME_BLOCK_FIELDS = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
|
59
69
|
export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
60
70
|
const isActive = isBlockActive(editor, format);
|
61
71
|
const isList = list_types.includes(format);
|
@@ -88,8 +98,9 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
|
88
98
|
if (!selection) {
|
89
99
|
Transforms.insertText(editor, "");
|
90
100
|
}
|
101
|
+
const forActiveType = THEME_BLOCK_FIELDS.some(f => f === format) ? format : "paragraph";
|
91
102
|
Transforms.setNodes(editor, {
|
92
|
-
type: isActive ?
|
103
|
+
type: isActive ? forActiveType : isList ? LIST_FORMAT_TYPE[format] : format,
|
93
104
|
...attr
|
94
105
|
});
|
95
106
|
if (isList && !isActive) {
|
@@ -98,10 +109,12 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
|
98
109
|
children: []
|
99
110
|
});
|
100
111
|
}
|
101
|
-
|
102
|
-
|
103
|
-
|
112
|
+
|
113
|
+
// if (NEWLINESAFTER.indexOf(format) > -1) {
|
114
|
+
// insertNewLine(editor);
|
115
|
+
// }
|
104
116
|
};
|
117
|
+
|
105
118
|
export const addMarkData = (editor, data) => {
|
106
119
|
try {
|
107
120
|
Editor.addMark(editor, data.format, data.value);
|
@@ -110,9 +123,14 @@ export const addMarkData = (editor, data) => {
|
|
110
123
|
}
|
111
124
|
};
|
112
125
|
export const toggleMark = (editor, format) => {
|
113
|
-
const isActive =
|
126
|
+
const isActive = isMarkBtnActive(editor, format);
|
114
127
|
if (isActive) {
|
115
|
-
|
128
|
+
const isThemeSupportedMark = textThemeFields.some(f => f === format);
|
129
|
+
if (isThemeSupportedMark) {
|
130
|
+
Editor.addMark(editor, format, false);
|
131
|
+
} else {
|
132
|
+
Editor.removeMark(editor, format);
|
133
|
+
}
|
116
134
|
} else {
|
117
135
|
Editor.addMark(editor, format, true);
|
118
136
|
}
|
@@ -126,6 +144,58 @@ export const isMarkActive = (editor, format) => {
|
|
126
144
|
return null;
|
127
145
|
}
|
128
146
|
};
|
147
|
+
export const isMarkBtnActive = (editor, format) => {
|
148
|
+
switch (format) {
|
149
|
+
case "bold":
|
150
|
+
{
|
151
|
+
const style = getSelectedElementStyle("font-weight", editor);
|
152
|
+
return style === "700";
|
153
|
+
}
|
154
|
+
case "italic":
|
155
|
+
{
|
156
|
+
const style = getSelectedElementStyle("font-style", editor);
|
157
|
+
return style === format;
|
158
|
+
}
|
159
|
+
// case "underline": {
|
160
|
+
// const style = getSelectedElementStyle("text-decoration");
|
161
|
+
|
162
|
+
// return style?.includes(format);
|
163
|
+
// }
|
164
|
+
// case "strikethrough": {
|
165
|
+
// const style = getSelectedElementStyle("text-decoration");
|
166
|
+
|
167
|
+
// return style?.includes("line-through");
|
168
|
+
// }
|
169
|
+
default:
|
170
|
+
return isMarkActive(editor, format);
|
171
|
+
}
|
172
|
+
};
|
173
|
+
export const getSelectedElementStyle = (styleProperty, editor, format) => {
|
174
|
+
try {
|
175
|
+
if (!editor.selection) {
|
176
|
+
return "";
|
177
|
+
}
|
178
|
+
if (Range.isCollapsed(editor.selection)) {
|
179
|
+
return "";
|
180
|
+
}
|
181
|
+
if (format) {
|
182
|
+
const value = activeMark(editor, format, true);
|
183
|
+
if (value) {
|
184
|
+
return value;
|
185
|
+
}
|
186
|
+
}
|
187
|
+
const domRange = ReactEditor.toDOMRange(editor, editor.selection);
|
188
|
+
const selectedDomNode = domRange.commonAncestorContainer;
|
189
|
+
|
190
|
+
// If it's a text node, get its parent element
|
191
|
+
const selectedElement = selectedDomNode.nodeType === 3 ? selectedDomNode.parentElement : selectedDomNode;
|
192
|
+
if (selectedElement) {
|
193
|
+
return getElementProperty(selectedElement, styleProperty);
|
194
|
+
}
|
195
|
+
} catch (err) {
|
196
|
+
console.log(err);
|
197
|
+
}
|
198
|
+
};
|
129
199
|
export const isBlockActive = (editor, format) => {
|
130
200
|
const [match] = Editor.nodes(editor, {
|
131
201
|
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
|
@@ -151,7 +221,7 @@ export const upateBlockActive = (editor, format, attr = {}) => {
|
|
151
221
|
});
|
152
222
|
}
|
153
223
|
};
|
154
|
-
export const activeMark = (editor, format) => {
|
224
|
+
export const activeMark = (editor, format, noDefaultValue) => {
|
155
225
|
const defaultMarkData = {
|
156
226
|
color: "#000000",
|
157
227
|
bgColor: "#FFFFFF",
|
@@ -161,7 +231,7 @@ export const activeMark = (editor, format) => {
|
|
161
231
|
};
|
162
232
|
try {
|
163
233
|
const marks = Editor.marks(editor);
|
164
|
-
let defaultValue = defaultMarkData[format];
|
234
|
+
let defaultValue = noDefaultValue ? "" : defaultMarkData[format];
|
165
235
|
const {
|
166
236
|
selection
|
167
237
|
} = editor || {};
|
@@ -178,6 +248,31 @@ export const activeMark = (editor, format) => {
|
|
178
248
|
return null;
|
179
249
|
}
|
180
250
|
};
|
251
|
+
|
252
|
+
// to avoid the styles, that automatically assign from themes
|
253
|
+
const getThemeMarkedLeaf = (leaf, children) => {
|
254
|
+
const {
|
255
|
+
italic,
|
256
|
+
bold
|
257
|
+
} = leaf || {};
|
258
|
+
const style = {};
|
259
|
+
if (italic === false) {
|
260
|
+
style.fontStyle = "normal";
|
261
|
+
}
|
262
|
+
if (bold === false) {
|
263
|
+
style.fontWeight = "normal";
|
264
|
+
}
|
265
|
+
if (Object.keys(style).length) {
|
266
|
+
children = /*#__PURE__*/_jsx(Box, {
|
267
|
+
component: "span",
|
268
|
+
sx: {
|
269
|
+
"& span": style
|
270
|
+
},
|
271
|
+
children: children
|
272
|
+
});
|
273
|
+
}
|
274
|
+
return children;
|
275
|
+
};
|
181
276
|
export const getMarked = (leaf, children, theme) => {
|
182
277
|
const className = leaf?.doublequote ? "doublequote" : "";
|
183
278
|
if (leaf.highlight) {
|
@@ -204,6 +299,7 @@ export const getMarked = (leaf, children, theme) => {
|
|
204
299
|
children: children
|
205
300
|
});
|
206
301
|
}
|
302
|
+
children = getThemeMarkedLeaf(leaf, children);
|
207
303
|
if (leaf.strikethrough) {
|
208
304
|
children = /*#__PURE__*/_jsx("span", {
|
209
305
|
style: {
|
@@ -231,20 +327,27 @@ export const getMarked = (leaf, children, theme) => {
|
|
231
327
|
if (leaf.color || leaf.bgColor || leaf.fontSize || leaf.fontFamily || leaf.fontWeight || className) {
|
232
328
|
const family = leaf?.fontFamily;
|
233
329
|
const textStyles = getTextColor(leaf?.color);
|
330
|
+
const fontSize = {
|
331
|
+
lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
332
|
+
...getBreakPointsValue(leaf.fontSize, null, "overrideText")
|
333
|
+
};
|
334
|
+
const fontSizesImportant = {};
|
335
|
+
Object.entries(fontSize).forEach(([key, value]) => {
|
336
|
+
fontSizesImportant[key] = `${value} !important`;
|
337
|
+
});
|
338
|
+
const fontSizeWithBreakpoints = wrapThemeBreakpoints(fontSizesImportant, "fontSize", theme);
|
234
339
|
children = /*#__PURE__*/_jsx("span", {
|
235
|
-
style: {
|
236
|
-
background: leaf.bgColor
|
237
|
-
},
|
238
340
|
children: /*#__PURE__*/_jsx(Box, {
|
239
341
|
className: className,
|
240
342
|
component: "span",
|
241
343
|
sx: {
|
242
|
-
|
243
|
-
fontSize:
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
},
|
344
|
+
"& span": {
|
345
|
+
// fontSize: fontSizesImportant,
|
346
|
+
// ...groupByBreakpoint(fontSizesImportant, theme),
|
347
|
+
background: leaf.bgColor,
|
348
|
+
...fontSizeWithBreakpoints
|
349
|
+
},
|
350
|
+
...fontSizeWithBreakpoints,
|
248
351
|
// ...wrapThemeBreakpoints(
|
249
352
|
// {
|
250
353
|
// lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
@@ -274,6 +377,7 @@ export const getMarked = (leaf, children, theme) => {
|
|
274
377
|
rel: "noreferrer",
|
275
378
|
target: "_blank",
|
276
379
|
href: leaf.text,
|
380
|
+
className: "hyperLink",
|
277
381
|
children: children
|
278
382
|
});
|
279
383
|
}
|
@@ -282,57 +386,77 @@ export const getMarked = (leaf, children, theme) => {
|
|
282
386
|
export const getBlock = props => {
|
283
387
|
const {
|
284
388
|
element,
|
285
|
-
children
|
389
|
+
children,
|
390
|
+
customProps
|
286
391
|
} = props;
|
287
392
|
const attributes = props.attributes ?? {};
|
288
393
|
const isEmpty = isEmptyTextNode(element);
|
394
|
+
const {
|
395
|
+
translation
|
396
|
+
} = customProps;
|
397
|
+
const commonHeadingProps = () => ({
|
398
|
+
...attributes,
|
399
|
+
...element.attr,
|
400
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""} theme-element`
|
401
|
+
});
|
402
|
+
const commonParaProps = paraType => ({
|
403
|
+
...attributes,
|
404
|
+
...element.attr,
|
405
|
+
className: `content-editable ${isEmpty ? "empty" : ""} theme-element ${paraType}`
|
406
|
+
});
|
289
407
|
switch (element.type) {
|
290
408
|
case "headingOne":
|
291
409
|
return /*#__PURE__*/_jsx("h1", {
|
292
|
-
...
|
293
|
-
|
294
|
-
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
295
|
-
placeholder: "Heading 1",
|
410
|
+
...commonHeadingProps(),
|
411
|
+
placeholder: translation("Heading 1"),
|
296
412
|
children: children
|
297
413
|
});
|
298
414
|
case "headingTwo":
|
299
415
|
return /*#__PURE__*/_jsx("h2", {
|
300
|
-
...
|
301
|
-
|
302
|
-
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
303
|
-
placeholder: "Heading 2",
|
416
|
+
...commonHeadingProps(),
|
417
|
+
placeholder: translation("Heading 2"),
|
304
418
|
children: children
|
305
419
|
});
|
306
420
|
case "headingThree":
|
307
421
|
return /*#__PURE__*/_jsx("h3", {
|
308
|
-
...
|
309
|
-
|
310
|
-
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
311
|
-
placeholder: "Heading 3",
|
422
|
+
...commonHeadingProps(),
|
423
|
+
placeholder: translation("Heading 3"),
|
312
424
|
children: children
|
313
425
|
});
|
314
426
|
case "headingFour":
|
315
427
|
return /*#__PURE__*/_jsx("h4", {
|
316
|
-
...
|
317
|
-
|
318
|
-
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
319
|
-
placeholder: "Heading 4",
|
428
|
+
...commonHeadingProps(),
|
429
|
+
placeholder: translation("Heading 4"),
|
320
430
|
children: children
|
321
431
|
});
|
322
432
|
case "headingFive":
|
323
433
|
return /*#__PURE__*/_jsx("h5", {
|
324
|
-
...
|
325
|
-
|
326
|
-
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
327
|
-
placeholder: "Heading 5",
|
434
|
+
...commonHeadingProps(),
|
435
|
+
placeholder: translation("Heading 5"),
|
328
436
|
children: children
|
329
437
|
});
|
330
438
|
case "headingSix":
|
331
439
|
return /*#__PURE__*/_jsx("h6", {
|
332
|
-
...
|
333
|
-
|
334
|
-
|
335
|
-
|
440
|
+
...commonHeadingProps(),
|
441
|
+
placeholder: translation("Heading 6"),
|
442
|
+
children: children
|
443
|
+
});
|
444
|
+
case "paragraphOne":
|
445
|
+
return /*#__PURE__*/_jsx("p", {
|
446
|
+
...commonParaProps("para1"),
|
447
|
+
placeholder: "Paragraph 1",
|
448
|
+
children: children
|
449
|
+
});
|
450
|
+
case "paragraphTwo":
|
451
|
+
return /*#__PURE__*/_jsx("p", {
|
452
|
+
...commonParaProps("para2"),
|
453
|
+
placeholder: "Paragraph 2",
|
454
|
+
children: children
|
455
|
+
});
|
456
|
+
case "paragraphThree":
|
457
|
+
return /*#__PURE__*/_jsx("p", {
|
458
|
+
...commonParaProps("para3"),
|
459
|
+
placeholder: "Paragraph 3",
|
336
460
|
children: children
|
337
461
|
});
|
338
462
|
case "blockquote":
|
@@ -400,7 +524,7 @@ export const getBlock = props => {
|
|
400
524
|
...attributes,
|
401
525
|
...element.attr,
|
402
526
|
className: `content-editable ${isEmpty ? "empty" : ""}`,
|
403
|
-
placeholder: "List",
|
527
|
+
placeholder: translation("List"),
|
404
528
|
style: {
|
405
529
|
color: firstChildren?.color
|
406
530
|
},
|
@@ -11,20 +11,6 @@ export const insertButton = editor => {
|
|
11
11
|
linkType: "webAddress"
|
12
12
|
},
|
13
13
|
iconPosition: "start",
|
14
|
-
bgColor: "#2563EB",
|
15
|
-
textColor: "#FFF",
|
16
|
-
borderRadius: {
|
17
|
-
topLeft: 30,
|
18
|
-
topRight: 30,
|
19
|
-
bottomLeft: 30,
|
20
|
-
bottomRight: 30
|
21
|
-
},
|
22
|
-
bannerSpacing: {
|
23
|
-
left: 16,
|
24
|
-
top: 8,
|
25
|
-
right: 16,
|
26
|
-
bottom: 8
|
27
|
-
},
|
28
14
|
...(windowVar.lastButtonProps || {})
|
29
15
|
};
|
30
16
|
Transforms.insertNodes(editor, button);
|
@@ -8,6 +8,9 @@ import { isEmptyTextNode } from "../../helper";
|
|
8
8
|
import { getBreakPointsValue } from "../../helper/theme";
|
9
9
|
import insertNewLine from "../insertNewLine";
|
10
10
|
import { getBorderColor } from "../helper";
|
11
|
+
import Table from "../../Elements/Table/Table";
|
12
|
+
import TableRow from "../../Elements/Table/TableRow";
|
13
|
+
import TableCell from "../../Elements/Table/TableCell";
|
11
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
12
15
|
const alignment = ["alignLeft", "alignRight", "alignCenter"];
|
13
16
|
const list_types = ["orderedList", "unorderedList"];
|
@@ -406,6 +409,26 @@ export const getBlock = props => {
|
|
406
409
|
return /*#__PURE__*/_jsx(Mentions, {
|
407
410
|
...props
|
408
411
|
});
|
412
|
+
case "table":
|
413
|
+
return /*#__PURE__*/_jsx(Table, {
|
414
|
+
...props
|
415
|
+
});
|
416
|
+
case "table-head":
|
417
|
+
return /*#__PURE__*/_jsx("thead", {
|
418
|
+
children: children
|
419
|
+
});
|
420
|
+
case "table-body":
|
421
|
+
return /*#__PURE__*/_jsx("tbody", {
|
422
|
+
children: children
|
423
|
+
});
|
424
|
+
case "table-row":
|
425
|
+
return /*#__PURE__*/_jsx(TableRow, {
|
426
|
+
...props
|
427
|
+
});
|
428
|
+
case "table-cell":
|
429
|
+
return /*#__PURE__*/_jsx(TableCell, {
|
430
|
+
...props
|
431
|
+
});
|
409
432
|
default:
|
410
433
|
return /*#__PURE__*/_jsx(SimpleText, {
|
411
434
|
...props,
|
@@ -1,12 +1,20 @@
|
|
1
1
|
import { Transforms } from "slate";
|
2
2
|
import insertNewLine from "./insertNewLine";
|
3
|
+
import { getCurrentNodeText } from "./helper";
|
3
4
|
export const insertDivider = editor => {
|
5
|
+
Transforms.delete(editor, editor.selection);
|
6
|
+
const blockText = getCurrentNodeText(editor);
|
4
7
|
const divider = {
|
5
8
|
type: "divider",
|
6
9
|
children: [{
|
7
10
|
text: ""
|
8
11
|
}]
|
9
12
|
};
|
13
|
+
if (!blockText) {
|
14
|
+
Transforms.removeNodes(editor, {
|
15
|
+
at: editor?.selection
|
16
|
+
});
|
17
|
+
}
|
10
18
|
Transforms.insertNodes(editor, divider);
|
11
19
|
insertNewLine(editor);
|
12
20
|
};
|
@@ -82,7 +82,8 @@ const splitInlineStyleRanges = (text, inlineStyleRanges, data) => {
|
|
82
82
|
};
|
83
83
|
export const draftToSlate = props => {
|
84
84
|
const {
|
85
|
-
data
|
85
|
+
data,
|
86
|
+
needLayout
|
86
87
|
} = props;
|
87
88
|
if (data?.blocks && data?.blocks?.length > 0) {
|
88
89
|
const converted = data?.blocks?.reduce((a, b) => {
|
@@ -104,7 +105,7 @@ export const draftToSlate = props => {
|
|
104
105
|
return data;
|
105
106
|
} else {
|
106
107
|
return [{
|
107
|
-
type: "paragraph",
|
108
|
+
type: needLayout ? "title" : "paragraph",
|
108
109
|
children: [{
|
109
110
|
text: ""
|
110
111
|
}]
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Transforms } from "slate";
|
2
2
|
import insertNewLine, { insertNewLineAfterCurrentPath } from "./insertNewLine";
|
3
|
+
import { getCurrentNodeText } from "./helper";
|
3
4
|
export const insertDefaultEmbed = (editor, type, defaultURL = "", extProps = {}) => {
|
4
5
|
try {
|
5
6
|
const url = defaultURL ? defaultURL : type === "image" ? "" : "";
|
@@ -51,11 +52,15 @@ export const createEmbedNode = (type, {
|
|
51
52
|
});
|
52
53
|
export const insertEmbed = (editor, embedData, format) => {
|
53
54
|
try {
|
55
|
+
const blockText = getCurrentNodeText(editor);
|
54
56
|
const embed = createEmbedNode(format, embedData);
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
57
|
+
if (!blockText) {
|
58
|
+
Transforms.removeNodes(editor, {
|
59
|
+
at: editor?.selection
|
60
|
+
});
|
61
|
+
insertNewLine(editor);
|
62
|
+
}
|
63
|
+
Transforms.insertNodes(editor, embed);
|
59
64
|
insertNewLineAfterCurrentPath(editor);
|
60
65
|
} catch (err) {
|
61
66
|
console.log(err);
|
@@ -7,43 +7,43 @@ export const sizeMap = {
|
|
7
7
|
export const fontFamilyMap = {
|
8
8
|
PoppinsRegular: "PoppinsRegular",
|
9
9
|
PoppinsBold: "PoppinsBold",
|
10
|
-
sans:
|
11
|
-
serif:
|
12
|
-
monospace:
|
13
|
-
roboto: "
|
14
|
-
qwitcher: "
|
15
|
-
garamond: "
|
16
|
-
anton: "
|
17
|
-
dmserif: "
|
18
|
-
inter: "
|
19
|
-
libre: "
|
20
|
-
montserrat: "
|
21
|
-
opensans: "
|
22
|
-
publicsans: "
|
23
|
-
raleway: "
|
24
|
-
spacemono: "
|
25
|
-
bulgarian: "
|
26
|
-
impact: "
|
27
|
-
redacted: "
|
28
|
-
greatVibes: "
|
29
|
-
zeyada: "
|
30
|
-
allura: "
|
31
|
-
pinyon: "
|
32
|
-
muellerhoff: "
|
33
|
-
dawning: "
|
10
|
+
sans: 'Helvetica, Arial, "sans serif"',
|
11
|
+
serif: 'Georgia, "Times New Roaman", serif',
|
12
|
+
monospace: 'Monaco, "Courier New", monospace',
|
13
|
+
roboto: "Roboto, sans-serif",
|
14
|
+
qwitcher: '"Qwitcher Grypen", cursive',
|
15
|
+
garamond: '"EB Garamond", serif',
|
16
|
+
anton: "Anton, sans-serif",
|
17
|
+
dmserif: '"DM Serif Text", serif',
|
18
|
+
inter: "Inter, sans-serif",
|
19
|
+
libre: '"Libre Baskerville", serif',
|
20
|
+
montserrat: "Montserrat, sans-serif",
|
21
|
+
opensans: '"Open Sans", sans-serif',
|
22
|
+
publicsans: '"Public Sans", sans-serif',
|
23
|
+
raleway: "Raleway, sans-serif",
|
24
|
+
spacemono: '"Space Mono", sans-serif',
|
25
|
+
bulgarian: '"Bulgarian Garamond", monospace',
|
26
|
+
impact: "Impact, serif",
|
27
|
+
redacted: '"Redacted Script", cursive',
|
28
|
+
greatVibes: '"Great Vibes", cursive',
|
29
|
+
zeyada: "Zeyada, cursive",
|
30
|
+
allura: "Allura, cursive",
|
31
|
+
pinyon: '"Pinyon Script", cursive',
|
32
|
+
muellerhoff: '"Herr Von Muellerhoff", cursive',
|
33
|
+
dawning: '"Dawning of a New Day", cursive',
|
34
34
|
// New Font Added for Type Signature
|
35
|
-
comingsoon: "
|
36
|
-
dancingScript: "
|
37
|
-
engagement: "
|
38
|
-
gaegu: "
|
39
|
-
ingridDarling: "
|
40
|
-
kitaOne: "
|
41
|
-
laBelleAurore: "
|
42
|
-
lobster: "
|
43
|
-
meaCulpa: "
|
44
|
-
meddon: "
|
45
|
-
merriWeather: "
|
46
|
-
theGirlNextDoor: "
|
35
|
+
comingsoon: '"Coming Soon", cursive',
|
36
|
+
dancingScript: '"Dancing Script", cursive',
|
37
|
+
engagement: "Engagement, cursive",
|
38
|
+
gaegu: "Gaegu, cursive",
|
39
|
+
ingridDarling: '"Ingrid Darling", cursive',
|
40
|
+
kitaOne: "Times",
|
41
|
+
laBelleAurore: '"La Belle Aurore", cursive',
|
42
|
+
lobster: "Lobster, cursive",
|
43
|
+
meaCulpa: '"Mea Culpa", cursive',
|
44
|
+
meddon: "Meddon, cursive",
|
45
|
+
merriWeather: "Merriweather, serif",
|
46
|
+
theGirlNextDoor: '"The Girl Next Door", cursive'
|
47
47
|
};
|
48
48
|
export const fontOptions = Object.keys(fontFamilyMap).map(m => {
|
49
49
|
return {
|
@@ -62,7 +62,10 @@ export const signedTextFonts = Object.keys(fontFamilyMap).slice(-12).map(m => {
|
|
62
62
|
export const headingMap = {
|
63
63
|
headingOne: "32px",
|
64
64
|
headingTwo: "24px",
|
65
|
-
headingThree: "19px"
|
65
|
+
headingThree: "19px",
|
66
|
+
headingFour: "16px",
|
67
|
+
headingFive: "13px",
|
68
|
+
headingSix: "11px"
|
66
69
|
};
|
67
70
|
export const fontWeightOptions = [{
|
68
71
|
text: "Bold",
|