@flozy/editor 9.5.9 → 9.6.1
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 -26
- package/dist/Editor/CommonEditor.js +22 -139
- package/dist/Editor/DialogWrapper.js +25 -31
- package/dist/Editor/Editor.css +7 -11
- package/dist/Editor/Elements/AI/AIInput.js +3 -5
- package/dist/Editor/Elements/AI/CustomSelect.js +5 -9
- package/dist/Editor/Elements/AI/PopoverAIInput.js +2 -4
- package/dist/Editor/Elements/Accordion/Accordion.js +3 -4
- package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +1 -4
- package/dist/Editor/Elements/Accordion/AccordionButton.js +2 -6
- package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +1 -4
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +2 -6
- package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +1 -4
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +1 -4
- package/dist/Editor/Elements/Button/ButtonPopup.js +1 -4
- package/dist/Editor/Elements/Button/ButtonToolIcon.js +2 -6
- package/dist/Editor/Elements/Button/EditorButton.js +14 -31
- package/dist/Editor/Elements/Carousel/Carousel.js +4 -5
- package/dist/Editor/Elements/Carousel/CarouselButton.js +2 -6
- package/dist/Editor/Elements/Carousel/CarouselItem.js +2 -3
- package/dist/Editor/Elements/ChipText/ChipTextPopup.js +1 -4
- package/dist/Editor/Elements/CodeToText/CodeToText.js +4 -5
- package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +2 -6
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -60
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
- package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
- package/dist/Editor/Elements/Colorbox/ColorboxButton.js +2 -6
- package/dist/Editor/Elements/DataView/DataView.js +2 -5
- package/dist/Editor/Elements/DataView/DataViewButton.js +2 -6
- package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +2 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +6 -21
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +12 -13
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +4 -7
- package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +5 -7
- package/dist/Editor/Elements/DataView/Layouts/FilterView.js +7 -9
- package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -8
- package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +3 -5
- package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +5 -6
- package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +3 -5
- package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -9
- package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +12 -15
- package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +2 -3
- package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +2 -3
- package/dist/Editor/Elements/DataView/Layouts/Options/index.js +6 -23
- package/dist/Editor/Elements/DataView/Layouts/TableView.js +4 -6
- package/dist/Editor/Elements/DataView/Layouts/ViewData.js +4 -8
- package/dist/Editor/Elements/DataView/Layouts/index.js +1 -3
- package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +2 -5
- package/dist/Editor/Elements/Divider/Divider.js +3 -5
- package/dist/Editor/Elements/Divider/DividerButton.js +2 -6
- package/dist/Editor/Elements/Divider/DividerPopup.js +2 -3
- package/dist/Editor/Elements/Embed/Embed.js +1 -4
- package/dist/Editor/Elements/Embed/EmbedPopup.js +1 -4
- package/dist/Editor/Elements/Embed/Image.js +11 -16
- package/dist/Editor/Elements/Embed/Video.js +6 -9
- package/dist/Editor/Elements/EmbedScript/Code.js +4 -7
- package/dist/Editor/Elements/EmbedScript/EmbedScript.js +2 -6
- package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +5 -8
- package/dist/Editor/Elements/Emoji/EmojiButton.js +2 -6
- package/dist/Editor/Elements/Form/FieldPopup.js +1 -4
- package/dist/Editor/Elements/Form/Form.js +9 -12
- package/dist/Editor/Elements/Form/FormButton.js +2 -6
- package/dist/Editor/Elements/Form/FormPopup.js +2 -3
- package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +12 -18
- package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +8 -13
- package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +2 -3
- package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -4
- package/dist/Editor/Elements/Form/Workflow/index.js +9 -15
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +23 -67
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -23
- package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +2 -6
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +5 -36
- package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +2 -3
- package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -10
- package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
- package/dist/Editor/Elements/Grid/Grid.js +10 -13
- package/dist/Editor/Elements/Grid/GridButton.js +5 -9
- package/dist/Editor/Elements/Grid/GridItem.js +8 -14
- package/dist/Editor/Elements/Grid/GridItemPopup.js +1 -4
- package/dist/Editor/Elements/Grid/GridPopup.js +1 -4
- package/dist/Editor/Elements/Grid/SectionPopup.js +1 -4
- package/dist/Editor/Elements/Link/Link.js +5 -8
- package/dist/Editor/Elements/Link/LinkButton.js +1 -4
- package/dist/Editor/Elements/List/CheckList.js +9 -14
- package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -6
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -4
- package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +1 -4
- package/dist/Editor/Elements/Search/SearchButton.js +3 -6
- package/dist/Editor/Elements/Search/SearchList.js +3 -7
- package/dist/Editor/Elements/Signature/SignatureButton.js +2 -6
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -6
- package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +1 -4
- package/dist/Editor/Elements/Signature/SignaturePopup.js +16 -17
- package/dist/Editor/Elements/SimpleText/index.js +4 -5
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/DragButton.js +2 -4
- package/dist/Editor/Elements/Table/Table.js +11 -23
- package/dist/Editor/Elements/Table/TableCell.js +24 -2
- package/dist/Editor/Elements/Table/TablePopup.js +1 -4
- package/dist/Editor/Elements/Table/TableSelector.js +6 -10
- package/dist/Editor/Elements/Table/TableTool.js +4 -8
- package/dist/Editor/Elements/Title/title.js +0 -10
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +1 -4
- package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
- package/dist/Editor/MiniEditor.js +3 -10
- package/dist/Editor/Styles/EditorStyles.js +5 -5
- package/dist/Editor/Toolbar/Basic/index.js +1 -2
- package/dist/Editor/Toolbar/FormatTools/BlockButton.js +2 -6
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +4 -8
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +13 -10
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +3 -5
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +5 -10
- package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +4 -10
- package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +4 -10
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +3 -9
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +35 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +51 -58
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +22 -29
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +87 -226
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +10 -20
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +5 -10
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +11 -71
- package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +5 -11
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +42 -122
- package/dist/Editor/Toolbar/PopupTool/index.js +8 -18
- package/dist/Editor/Toolbar/Toolbar.js +10 -20
- package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
- package/dist/Editor/common/ColorPickerButton.js +14 -39
- package/dist/Editor/common/CustomDialog/index.js +10 -8
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +0 -3
- package/dist/Editor/common/Icon.js +0 -28
- package/dist/Editor/common/ImageSelector/ImageSelector.js +8 -10
- package/dist/Editor/common/ImageSelector/Options/AddLink.js +4 -6
- package/dist/Editor/common/ImageSelector/Styles.js +9 -3
- package/dist/Editor/common/LinkSettings/NavComponents.js +10 -14
- package/dist/Editor/common/LinkSettings/index.js +14 -20
- package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
- package/dist/Editor/common/MentionsPopup/index.js +2 -6
- package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
- package/dist/Editor/common/RnD/ContextMenu/index.js +2 -3
- package/dist/Editor/common/RnD/ElementOptions/index.js +2 -7
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +3 -8
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +3 -7
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -7
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +2 -6
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
- package/dist/Editor/common/RnD/OptionsPopup/index.js +3 -4
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +4 -11
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +8 -20
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +7 -56
- package/dist/Editor/common/RnD/Utils/index.js +0 -3
- package/dist/Editor/common/RnD/VirtualElement/index.js +105 -188
- package/dist/Editor/common/RnD/VirtualElement/styles.js +7 -123
- package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +3 -5
- package/dist/Editor/common/RnD/index.js +7 -59
- package/dist/Editor/common/Section/index.js +4 -7
- package/dist/Editor/common/Shorthands/elements.js +3 -74
- 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 +4 -6
- 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 +9 -13
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -11
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +5 -19
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +10 -22
- package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +3 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +13 -27
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +14 -43
- package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +6 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +6 -19
- package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +2 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -5
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +6 -9
- package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +2 -8
- package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +11 -12
- package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +2 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -8
- package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +2 -6
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +12 -21
- 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 +5 -8
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +7 -5
- package/dist/Editor/common/Uploader.js +5 -16
- package/dist/Editor/commonStyle.js +57 -68
- package/dist/Editor/helper/index.js +15 -35
- package/dist/Editor/helper/theme.js +2 -202
- package/dist/Editor/hooks/useDrag.js +10 -16
- package/dist/Editor/hooks/useEditorScroll.js +5 -10
- package/dist/Editor/hooks/useMouseMove.js +13 -25
- package/dist/Editor/hooks/useTable.js +1 -1
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +7 -10
- package/dist/Editor/plugins/withLayout.js +2 -3
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/theme/ThemeList.js +173 -50
- package/dist/Editor/utils/SlateUtilityFunctions.js +48 -167
- package/dist/Editor/utils/draftToSlate.js +2 -3
- package/dist/Editor/utils/font.js +37 -40
- package/dist/Editor/utils/freegrid.js +2 -2
- package/dist/Editor/utils/helper.js +19 -90
- package/package.json +2 -2
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -425
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -436
- package/dist/Editor/assets/svg/ClearAllRounded.js +0 -31
- package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
- package/dist/Editor/common/CustomColorPicker/index.js +0 -131
- package/dist/Editor/common/CustomColorPicker/style.js +0 -53
- package/dist/Editor/common/CustomDialog2/index.js +0 -94
- package/dist/Editor/common/CustomDialog2/style.js +0 -67
- package/dist/Editor/common/CustomSelect.js +0 -43
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
- package/dist/Editor/common/RnD/VirtualElement/ForceAutoAlignment.js +0 -117
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +0 -134
- package/dist/Editor/common/RnD/VirtualElement/helper.js +0 -281
- package/dist/Editor/common/SnackBar/index.js +0 -43
- package/dist/Editor/helper/textIndeces.js +0 -58
- package/dist/Editor/hooks/useAutoScroll.js +0 -38
- package/dist/Editor/hooks/useEditorTheme.js +0 -153
- package/dist/Editor/hooks/useThemeValues.js +0 -63
- package/dist/Editor/theme/index.js +0 -149
- package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
- package/dist/Editor/themeSettings/buttons/index.js +0 -290
- package/dist/Editor/themeSettings/buttons/style.js +0 -23
- package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
- package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
- package/dist/Editor/themeSettings/fonts/index.js +0 -240
- package/dist/Editor/themeSettings/fonts/style.js +0 -61
- package/dist/Editor/themeSettings/icons.js +0 -60
- package/dist/Editor/themeSettings/index.js +0 -351
- package/dist/Editor/themeSettings/style.js +0 -220
- package/dist/Editor/themeSettingsAI/icons.js +0 -96
- package/dist/Editor/themeSettingsAI/index.js +0 -355
- package/dist/Editor/themeSettingsAI/saveTheme.js +0 -205
- package/dist/Editor/themeSettingsAI/style.js +0 -259
@@ -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, groupByBreakpoint } from "../helper/theme";
|
38
38
|
import Variables from "../Elements/Variables/Variable";
|
39
|
+
import insertNewLine from "./insertNewLine";
|
39
40
|
import Divider from "../Elements/Divider/Divider";
|
40
41
|
import { getBorderColor, getSlateDom } from "./helper";
|
41
42
|
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
|
-
import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
|
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"];
|
@@ -56,7 +56,6 @@ const LIST_FORMAT_TYPE = {
|
|
56
56
|
unorderedList: "list-item"
|
57
57
|
};
|
58
58
|
const NEWLINESAFTER = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix"];
|
59
|
-
const THEME_BLOCK_FIELDS = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
|
60
59
|
export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
61
60
|
const isActive = isBlockActive(editor, format);
|
62
61
|
const isList = list_types.includes(format);
|
@@ -89,9 +88,8 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
|
89
88
|
if (!selection) {
|
90
89
|
Transforms.insertText(editor, "");
|
91
90
|
}
|
92
|
-
const forActiveType = THEME_BLOCK_FIELDS.some(f => f === format) ? format : "paragraph";
|
93
91
|
Transforms.setNodes(editor, {
|
94
|
-
type: isActive ?
|
92
|
+
type: isActive ? "paragraph" : isList ? LIST_FORMAT_TYPE[format] : format,
|
95
93
|
...attr
|
96
94
|
});
|
97
95
|
if (isList && !isActive) {
|
@@ -100,12 +98,10 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
|
100
98
|
children: []
|
101
99
|
});
|
102
100
|
}
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
// }
|
101
|
+
if (NEWLINESAFTER.indexOf(format) > -1) {
|
102
|
+
insertNewLine(editor);
|
103
|
+
}
|
107
104
|
};
|
108
|
-
|
109
105
|
export const addMarkData = (editor, data) => {
|
110
106
|
try {
|
111
107
|
Editor.addMark(editor, data.format, data.value);
|
@@ -114,14 +110,9 @@ export const addMarkData = (editor, data) => {
|
|
114
110
|
}
|
115
111
|
};
|
116
112
|
export const toggleMark = (editor, format) => {
|
117
|
-
const isActive =
|
113
|
+
const isActive = isMarkActive(editor, format);
|
118
114
|
if (isActive) {
|
119
|
-
|
120
|
-
if (isThemeSupportedMark) {
|
121
|
-
Editor.addMark(editor, format, false);
|
122
|
-
} else {
|
123
|
-
Editor.removeMark(editor, format);
|
124
|
-
}
|
115
|
+
Editor.removeMark(editor, format);
|
125
116
|
} else {
|
126
117
|
Editor.addMark(editor, format, true);
|
127
118
|
}
|
@@ -135,58 +126,6 @@ export const isMarkActive = (editor, format) => {
|
|
135
126
|
return null;
|
136
127
|
}
|
137
128
|
};
|
138
|
-
export const isMarkBtnActive = (editor, format) => {
|
139
|
-
switch (format) {
|
140
|
-
case "bold":
|
141
|
-
{
|
142
|
-
const style = getSelectedElementStyle("font-weight", editor);
|
143
|
-
return style === "700";
|
144
|
-
}
|
145
|
-
case "italic":
|
146
|
-
{
|
147
|
-
const style = getSelectedElementStyle("font-style", editor);
|
148
|
-
return style === format;
|
149
|
-
}
|
150
|
-
// case "underline": {
|
151
|
-
// const style = getSelectedElementStyle("text-decoration");
|
152
|
-
|
153
|
-
// return style?.includes(format);
|
154
|
-
// }
|
155
|
-
// case "strikethrough": {
|
156
|
-
// const style = getSelectedElementStyle("text-decoration");
|
157
|
-
|
158
|
-
// return style?.includes("line-through");
|
159
|
-
// }
|
160
|
-
default:
|
161
|
-
return isMarkActive(editor, format);
|
162
|
-
}
|
163
|
-
};
|
164
|
-
export const getSelectedElementStyle = (styleProperty, editor, format) => {
|
165
|
-
try {
|
166
|
-
if (!editor.selection) {
|
167
|
-
return "";
|
168
|
-
}
|
169
|
-
if (Range.isCollapsed(editor.selection)) {
|
170
|
-
return "";
|
171
|
-
}
|
172
|
-
if (format) {
|
173
|
-
const value = activeMark(editor, format, true);
|
174
|
-
if (value) {
|
175
|
-
return value;
|
176
|
-
}
|
177
|
-
}
|
178
|
-
const domRange = ReactEditor.toDOMRange(editor, editor.selection);
|
179
|
-
const selectedDomNode = domRange.commonAncestorContainer;
|
180
|
-
|
181
|
-
// If it's a text node, get its parent element
|
182
|
-
const selectedElement = selectedDomNode.nodeType === 3 ? selectedDomNode.parentElement : selectedDomNode;
|
183
|
-
if (selectedElement) {
|
184
|
-
return getElementProperty(selectedElement, styleProperty);
|
185
|
-
}
|
186
|
-
} catch (err) {
|
187
|
-
console.log(err);
|
188
|
-
}
|
189
|
-
};
|
190
129
|
export const isBlockActive = (editor, format) => {
|
191
130
|
const [match] = Editor.nodes(editor, {
|
192
131
|
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
|
@@ -212,7 +151,7 @@ export const upateBlockActive = (editor, format, attr = {}) => {
|
|
212
151
|
});
|
213
152
|
}
|
214
153
|
};
|
215
|
-
export const activeMark = (editor, format
|
154
|
+
export const activeMark = (editor, format) => {
|
216
155
|
const defaultMarkData = {
|
217
156
|
color: "#000000",
|
218
157
|
bgColor: "#FFFFFF",
|
@@ -222,7 +161,7 @@ export const activeMark = (editor, format, noDefaultValue) => {
|
|
222
161
|
};
|
223
162
|
try {
|
224
163
|
const marks = Editor.marks(editor);
|
225
|
-
let defaultValue =
|
164
|
+
let defaultValue = defaultMarkData[format];
|
226
165
|
const {
|
227
166
|
selection
|
228
167
|
} = editor || {};
|
@@ -239,31 +178,6 @@ export const activeMark = (editor, format, noDefaultValue) => {
|
|
239
178
|
return null;
|
240
179
|
}
|
241
180
|
};
|
242
|
-
|
243
|
-
// to avoid the styles, that automatically assign from themes
|
244
|
-
const getThemeMarkedLeaf = (leaf, children) => {
|
245
|
-
const {
|
246
|
-
italic,
|
247
|
-
bold
|
248
|
-
} = leaf || {};
|
249
|
-
const style = {};
|
250
|
-
if (italic === false) {
|
251
|
-
style.fontStyle = "normal";
|
252
|
-
}
|
253
|
-
if (bold === false) {
|
254
|
-
style.fontWeight = "normal";
|
255
|
-
}
|
256
|
-
if (Object.keys(style).length) {
|
257
|
-
children = /*#__PURE__*/_jsx(Box, {
|
258
|
-
component: "span",
|
259
|
-
sx: {
|
260
|
-
"& span": style
|
261
|
-
},
|
262
|
-
children: children
|
263
|
-
});
|
264
|
-
}
|
265
|
-
return children;
|
266
|
-
};
|
267
181
|
export const getMarked = (leaf, children, theme) => {
|
268
182
|
const className = leaf?.doublequote ? "doublequote" : "";
|
269
183
|
if (leaf.highlight) {
|
@@ -290,7 +204,6 @@ export const getMarked = (leaf, children, theme) => {
|
|
290
204
|
children: children
|
291
205
|
});
|
292
206
|
}
|
293
|
-
children = getThemeMarkedLeaf(leaf, children);
|
294
207
|
if (leaf.strikethrough) {
|
295
208
|
children = /*#__PURE__*/_jsx("span", {
|
296
209
|
style: {
|
@@ -318,27 +231,20 @@ export const getMarked = (leaf, children, theme) => {
|
|
318
231
|
if (leaf.color || leaf.bgColor || leaf.fontSize || leaf.fontFamily || leaf.fontWeight || className) {
|
319
232
|
const family = leaf?.fontFamily;
|
320
233
|
const textStyles = getTextColor(leaf?.color);
|
321
|
-
const fontSize = {
|
322
|
-
lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
323
|
-
...getBreakPointsValue(leaf.fontSize, null, "overrideText")
|
324
|
-
};
|
325
|
-
const fontSizesImportant = {};
|
326
|
-
Object.entries(fontSize).forEach(([key, value]) => {
|
327
|
-
fontSizesImportant[key] = `${value} !important`;
|
328
|
-
});
|
329
|
-
const fontSizeWithBreakpoints = wrapThemeBreakpoints(fontSizesImportant, "fontSize", theme);
|
330
234
|
children = /*#__PURE__*/_jsx("span", {
|
235
|
+
style: {
|
236
|
+
background: leaf.bgColor
|
237
|
+
},
|
331
238
|
children: /*#__PURE__*/_jsx(Box, {
|
332
|
-
className:
|
239
|
+
className: className,
|
333
240
|
component: "span",
|
334
241
|
sx: {
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
},
|
341
|
-
...fontSizeWithBreakpoints,
|
242
|
+
...groupByBreakpoint({
|
243
|
+
fontSize: {
|
244
|
+
lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
245
|
+
...getBreakPointsValue(leaf.fontSize, null, "overrideText")
|
246
|
+
}
|
247
|
+
}, theme),
|
342
248
|
// ...wrapThemeBreakpoints(
|
343
249
|
// {
|
344
250
|
// lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
@@ -351,16 +257,11 @@ export const getMarked = (leaf, children, theme) => {
|
|
351
257
|
// lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
352
258
|
// ...getBreakPointsValue(leaf.fontSize, null, "overrideText"),
|
353
259
|
// },
|
354
|
-
|
355
|
-
...textStyles
|
356
|
-
},
|
260
|
+
...textStyles,
|
357
261
|
fontFamily: family,
|
358
262
|
fontWeight: leaf.fontWeight,
|
359
263
|
WebkitTextFillColor: "unset !important"
|
360
264
|
},
|
361
|
-
style: {
|
362
|
-
"--fontSize_xs": leaf?.fontSize?.xs || "auto"
|
363
|
-
},
|
364
265
|
children: children
|
365
266
|
})
|
366
267
|
});
|
@@ -382,77 +283,57 @@ export const getMarked = (leaf, children, theme) => {
|
|
382
283
|
export const getBlock = props => {
|
383
284
|
const {
|
384
285
|
element,
|
385
|
-
children
|
386
|
-
customProps
|
286
|
+
children
|
387
287
|
} = props;
|
388
288
|
const attributes = props.attributes ?? {};
|
389
289
|
const isEmpty = isEmptyTextNode(element);
|
390
|
-
const {
|
391
|
-
translation
|
392
|
-
} = customProps;
|
393
|
-
const commonHeadingProps = () => ({
|
394
|
-
...attributes,
|
395
|
-
...element.attr,
|
396
|
-
className: `edt-headings content-editable ${isEmpty ? "empty" : ""} theme-element`
|
397
|
-
});
|
398
|
-
const commonParaProps = paraType => ({
|
399
|
-
...attributes,
|
400
|
-
...element.attr,
|
401
|
-
className: `edt-paragraphs content-editable ${isEmpty ? "empty" : ""} theme-element ${paraType}`
|
402
|
-
});
|
403
290
|
switch (element.type) {
|
404
291
|
case "headingOne":
|
405
292
|
return /*#__PURE__*/_jsx("h1", {
|
406
|
-
...
|
407
|
-
|
293
|
+
...attributes,
|
294
|
+
...element.attr,
|
295
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
296
|
+
placeholder: "Heading 1",
|
408
297
|
children: children
|
409
298
|
});
|
410
299
|
case "headingTwo":
|
411
300
|
return /*#__PURE__*/_jsx("h2", {
|
412
|
-
...
|
413
|
-
|
301
|
+
...attributes,
|
302
|
+
...element.attr,
|
303
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
304
|
+
placeholder: "Heading 2",
|
414
305
|
children: children
|
415
306
|
});
|
416
307
|
case "headingThree":
|
417
308
|
return /*#__PURE__*/_jsx("h3", {
|
418
|
-
...
|
419
|
-
|
309
|
+
...attributes,
|
310
|
+
...element.attr,
|
311
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
312
|
+
placeholder: "Heading 3",
|
420
313
|
children: children
|
421
314
|
});
|
422
315
|
case "headingFour":
|
423
316
|
return /*#__PURE__*/_jsx("h4", {
|
424
|
-
...
|
425
|
-
|
317
|
+
...attributes,
|
318
|
+
...element.attr,
|
319
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
320
|
+
placeholder: "Heading 4",
|
426
321
|
children: children
|
427
322
|
});
|
428
323
|
case "headingFive":
|
429
324
|
return /*#__PURE__*/_jsx("h5", {
|
430
|
-
...
|
431
|
-
|
325
|
+
...attributes,
|
326
|
+
...element.attr,
|
327
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
328
|
+
placeholder: "Heading 5",
|
432
329
|
children: children
|
433
330
|
});
|
434
331
|
case "headingSix":
|
435
332
|
return /*#__PURE__*/_jsx("h6", {
|
436
|
-
...
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
case "paragraphOne":
|
441
|
-
return /*#__PURE__*/_jsx("p", {
|
442
|
-
...commonParaProps("para1"),
|
443
|
-
placeholder: "Paragraph 1",
|
444
|
-
children: children
|
445
|
-
});
|
446
|
-
case "paragraphTwo":
|
447
|
-
return /*#__PURE__*/_jsx("p", {
|
448
|
-
...commonParaProps("para2"),
|
449
|
-
placeholder: "Paragraph 2",
|
450
|
-
children: children
|
451
|
-
});
|
452
|
-
case "paragraphThree":
|
453
|
-
return /*#__PURE__*/_jsx("p", {
|
454
|
-
...commonParaProps("para3"),
|
455
|
-
placeholder: "Paragraph 3",
|
333
|
+
...attributes,
|
334
|
+
...element.attr,
|
335
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
|
336
|
+
placeholder: "Heading 6",
|
456
337
|
children: children
|
457
338
|
});
|
458
339
|
case "blockquote":
|
@@ -520,7 +401,7 @@ export const getBlock = props => {
|
|
520
401
|
...attributes,
|
521
402
|
...element.attr,
|
522
403
|
className: `content-editable ${isEmpty ? "empty" : ""}`,
|
523
|
-
placeholder:
|
404
|
+
placeholder: "List",
|
524
405
|
style: {
|
525
406
|
color: firstChildren?.color
|
526
407
|
},
|
@@ -82,8 +82,7 @@ const splitInlineStyleRanges = (text, inlineStyleRanges, data) => {
|
|
82
82
|
};
|
83
83
|
export const draftToSlate = props => {
|
84
84
|
const {
|
85
|
-
data
|
86
|
-
needLayout
|
85
|
+
data
|
87
86
|
} = props;
|
88
87
|
if (data?.blocks && data?.blocks?.length > 0) {
|
89
88
|
const converted = data?.blocks?.reduce((a, b) => {
|
@@ -105,7 +104,7 @@ export const draftToSlate = props => {
|
|
105
104
|
return data;
|
106
105
|
} else {
|
107
106
|
return [{
|
108
|
-
type:
|
107
|
+
type: "paragraph",
|
109
108
|
children: [{
|
110
109
|
text: ""
|
111
110
|
}]
|
@@ -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: "Roboto, sans-serif",
|
14
|
-
qwitcher: '
|
15
|
-
garamond: '
|
16
|
-
anton: "Anton, sans-serif",
|
17
|
-
dmserif: '
|
18
|
-
inter: "Inter, sans-serif",
|
19
|
-
libre: '
|
20
|
-
montserrat: "Montserrat, sans-serif",
|
21
|
-
opensans: '
|
22
|
-
publicsans: '
|
23
|
-
raleway: "Raleway, sans-serif",
|
24
|
-
spacemono: '
|
25
|
-
bulgarian: '
|
26
|
-
impact: "Impact, serif",
|
27
|
-
redacted: '
|
28
|
-
greatVibes: '
|
29
|
-
zeyada: "Zeyada, cursive",
|
30
|
-
allura: "Allura, cursive",
|
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: "Engagement, cursive",
|
38
|
-
gaegu: "Gaegu, cursive",
|
39
|
-
ingridDarling: '
|
40
|
-
kitaOne: "
|
41
|
-
laBelleAurore: '
|
42
|
-
lobster: "Lobster, cursive",
|
43
|
-
meaCulpa: '
|
44
|
-
meddon: "Meddon, cursive",
|
45
|
-
merriWeather: "Merriweather, serif",
|
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: "'Kite One', sans - serif",
|
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,10 +62,7 @@ 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"
|
66
|
-
headingFour: "16px",
|
67
|
-
headingFive: "13px",
|
68
|
-
headingSix: "11px"
|
65
|
+
headingThree: "19px"
|
69
66
|
};
|
70
67
|
export const fontWeightOptions = [{
|
71
68
|
text: "Bold",
|
@@ -22,8 +22,8 @@ export const insertFreeGridItem = (childType, childTypeNode, extProps = {}, type
|
|
22
22
|
top_xs: 24,
|
23
23
|
marginTop_xs: 12,
|
24
24
|
width_xs: 250,
|
25
|
-
|
26
|
-
|
25
|
+
height_xs: 300,
|
26
|
+
gridArea_xs: "1 / 1 / 2 / 2",
|
27
27
|
sectionBgColor: "rgb(240, 108, 131)",
|
28
28
|
...(extProps || {})
|
29
29
|
};
|
@@ -2,7 +2,6 @@ import { Editor, Node, Transforms, Element, Path, Range, Text } from "slate";
|
|
2
2
|
import { ReactEditor } from "slate-react";
|
3
3
|
import insertNewLine from "./insertNewLine";
|
4
4
|
import { getDevice } from "../helper/theme";
|
5
|
-
import { activeMark, getSelectedElementStyle } from "./SlateUtilityFunctions";
|
6
5
|
export const windowVar = {};
|
7
6
|
let ST_TIMEOUT = null;
|
8
7
|
const BLOCKS = ["grid", "dataView"];
|
@@ -481,34 +480,6 @@ export const decodeString = str => {
|
|
481
480
|
console.log(err);
|
482
481
|
}
|
483
482
|
};
|
484
|
-
export const getContrastColor = color => {
|
485
|
-
let r, g, b;
|
486
|
-
|
487
|
-
// Check if the color is in hex format
|
488
|
-
if (color.startsWith("#")) {
|
489
|
-
r = parseInt(color.substring(1, 3), 16);
|
490
|
-
g = parseInt(color.substring(3, 5), 16);
|
491
|
-
b = parseInt(color.substring(5, 7), 16);
|
492
|
-
}
|
493
|
-
// Check if the color is in RGB/RGBA format
|
494
|
-
else if (color.startsWith("rgb")) {
|
495
|
-
const rgbValues = color.replace(/^rgba?\(|\s+|\)$/g, "") // Remove the rgb/rgba and spaces
|
496
|
-
.split(","); // Split the values into an array
|
497
|
-
|
498
|
-
r = parseInt(rgbValues[0]);
|
499
|
-
g = parseInt(rgbValues[1]);
|
500
|
-
b = parseInt(rgbValues[2]);
|
501
|
-
} else {
|
502
|
-
// If the format is not recognized, default to black text
|
503
|
-
return "#000000";
|
504
|
-
}
|
505
|
-
|
506
|
-
// Calculate relative luminance
|
507
|
-
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
508
|
-
|
509
|
-
// Return black for light colors, white for dark colors
|
510
|
-
return luminance > 0.5 ? "#000000" : "#FFFFFF";
|
511
|
-
};
|
512
483
|
export const onDeleteKey = (event, {
|
513
484
|
editor
|
514
485
|
}) => {
|
@@ -726,10 +697,6 @@ export const isRestrictedNode = (event, editor) => {
|
|
726
697
|
return isNodeRestricted;
|
727
698
|
}
|
728
699
|
};
|
729
|
-
export function capitalizeFirstLetter(str) {
|
730
|
-
if (!str) return str;
|
731
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
732
|
-
}
|
733
700
|
export const insertLineBreakAtEndOfPath = (editor, path) => {
|
734
701
|
try {
|
735
702
|
const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
|
@@ -748,13 +715,6 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
|
|
748
715
|
console.log(err);
|
749
716
|
}
|
750
717
|
};
|
751
|
-
export function isHavingSelection(editor) {
|
752
|
-
try {
|
753
|
-
return editor?.selection && !Range.isCollapsed(editor.selection);
|
754
|
-
} catch (err) {
|
755
|
-
console.log(err);
|
756
|
-
}
|
757
|
-
}
|
758
718
|
const omitNodes = ["site-settings", "page-settings"];
|
759
719
|
export function getInitialValue(value = [], readOnly) {
|
760
720
|
if (readOnly === "readonly" && value?.length) {
|
@@ -785,17 +745,20 @@ export function getInitialValue(value = [], readOnly) {
|
|
785
745
|
}
|
786
746
|
return value;
|
787
747
|
}
|
748
|
+
export function capitalizeFirstLetter(str) {
|
749
|
+
if (!str) return str;
|
750
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
751
|
+
}
|
752
|
+
export function isHavingSelection(editor) {
|
753
|
+
try {
|
754
|
+
return editor?.selection && !Range.isCollapsed(editor.selection);
|
755
|
+
} catch (err) {
|
756
|
+
console.log(err);
|
757
|
+
}
|
758
|
+
}
|
788
759
|
export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
|
789
760
|
return `${defaultCls} ${selected ? selectedClsName : ""}`;
|
790
761
|
}
|
791
|
-
export function handleNegativeInteger(val) {
|
792
|
-
return val < 0 ? 0 : val;
|
793
|
-
}
|
794
|
-
export const containsSurrogatePair = text => {
|
795
|
-
// Match surrogate pairs (high and low surrogate)
|
796
|
-
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
797
|
-
return surrogatePairRegex.test(text);
|
798
|
-
};
|
799
762
|
export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
800
763
|
try {
|
801
764
|
const options = {
|
@@ -809,6 +772,11 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
|
809
772
|
return [];
|
810
773
|
}
|
811
774
|
};
|
775
|
+
export const containsSurrogatePair = text => {
|
776
|
+
// Match surrogate pairs (high and low surrogate)
|
777
|
+
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
778
|
+
return surrogatePairRegex.test(text);
|
779
|
+
};
|
812
780
|
export const getSlateDom = (editor, range) => {
|
813
781
|
try {
|
814
782
|
const slateDom = ReactEditor.toDOMRange(editor, range);
|
@@ -858,6 +826,9 @@ export const hideSlateSelection = () => {
|
|
858
826
|
const root = document.documentElement;
|
859
827
|
root.style.setProperty("--slate-highlight-bg", "none");
|
860
828
|
};
|
829
|
+
export function handleNegativeInteger(val) {
|
830
|
+
return val < 0 ? 0 : val;
|
831
|
+
}
|
861
832
|
export const isEverythingSelected = editor => {
|
862
833
|
const {
|
863
834
|
selection
|
@@ -887,46 +858,4 @@ export const getCurrentNodeText = editor => {
|
|
887
858
|
} catch (error) {
|
888
859
|
console.log("Error:", error);
|
889
860
|
}
|
890
|
-
};
|
891
|
-
function convertColorToRgb(color) {
|
892
|
-
if (color?.startsWith("#")) {
|
893
|
-
// HEX to RGB
|
894
|
-
let hex = color.replace("#", "");
|
895
|
-
let r, g, b;
|
896
|
-
if (hex.length === 3) {
|
897
|
-
hex = hex.split("").map(x => x + x).join("");
|
898
|
-
}
|
899
|
-
if (hex.length === 6) {
|
900
|
-
[r, g, b] = [hex.substring(0, 2), hex.substring(2, 4), hex.substring(4, 6)].map(val => parseInt(val, 16));
|
901
|
-
return `rgb(${r}, ${g}, ${b})`;
|
902
|
-
}
|
903
|
-
} else {
|
904
|
-
return color;
|
905
|
-
}
|
906
|
-
}
|
907
|
-
export const getSelectedColor = (selectedColor, theme) => {
|
908
|
-
const colorVars = theme?.vars?.colors;
|
909
|
-
let selectedValue = selectedColor;
|
910
|
-
if (colorVars) {
|
911
|
-
const convertedColor = convertColorToRgb(selectedColor);
|
912
|
-
Object.entries(theme.colors).forEach(([key, value]) => {
|
913
|
-
const convertedThemeColor = convertColorToRgb(value);
|
914
|
-
if (convertedThemeColor === convertedColor) {
|
915
|
-
selectedValue = colorVars[key];
|
916
|
-
}
|
917
|
-
});
|
918
|
-
}
|
919
|
-
return selectedValue;
|
920
|
-
};
|
921
|
-
const themeTextFormats = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
|
922
|
-
export const getSelectedElementColor = (editor, format, theme) => {
|
923
|
-
const [isThemeText] = Editor.nodes(editor, {
|
924
|
-
at: editor.selection,
|
925
|
-
match: n => themeTextFormats.includes(n?.type)
|
926
|
-
});
|
927
|
-
if (!isThemeText) {
|
928
|
-
return activeMark(editor, "color") || "#000000";
|
929
|
-
}
|
930
|
-
const color = getSelectedElementStyle(format, editor, format);
|
931
|
-
return getSelectedColor(color, theme);
|
932
861
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@flozy/editor",
|
3
|
-
"version": "9.
|
3
|
+
"version": "9.6.1",
|
4
4
|
"description": "An Editor for flozy app brain",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -69,7 +69,7 @@
|
|
69
69
|
"storybook": "storybook dev -p 6006",
|
70
70
|
"build-storybook": "NODE_OPTIONS='--max_old_space_size=4096' storybook build",
|
71
71
|
"publish:npm": "rm -rf dist && mkdir dist && babel src/components -d dist --copy-files",
|
72
|
-
"publish:local": "rm -rf /Users/
|
72
|
+
"publish:local": "rm -rf /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist --copy-files",
|
73
73
|
"publish:flozy": "./publish-flozy.sh",
|
74
74
|
"publish:flozy2": "./publish-flozy2.sh",
|
75
75
|
"publish:permission": "chmod +x publish-flozy.sh && chmod +x publish-flozy2.sh"
|