@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
@@ -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",
|
@@ -100,14 +100,6 @@ export const getSelectedText = editor => {
|
|
100
100
|
return "";
|
101
101
|
}
|
102
102
|
};
|
103
|
-
export const getNodeText = node => {
|
104
|
-
try {
|
105
|
-
return Node.string(node);
|
106
|
-
} catch (err) {
|
107
|
-
console.log(err);
|
108
|
-
return "";
|
109
|
-
}
|
110
|
-
};
|
111
103
|
export const isEmptyNode = (editor, children, path) => {
|
112
104
|
try {
|
113
105
|
const isEmptyText = Node.string(Node.get(editor, path))?.length === 0;
|
@@ -472,6 +464,34 @@ export const decodeString = str => {
|
|
472
464
|
console.log(err);
|
473
465
|
}
|
474
466
|
};
|
467
|
+
export const getContrastColor = color => {
|
468
|
+
let r, g, b;
|
469
|
+
|
470
|
+
// Check if the color is in hex format
|
471
|
+
if (color.startsWith("#")) {
|
472
|
+
r = parseInt(color.substring(1, 3), 16);
|
473
|
+
g = parseInt(color.substring(3, 5), 16);
|
474
|
+
b = parseInt(color.substring(5, 7), 16);
|
475
|
+
}
|
476
|
+
// Check if the color is in RGB/RGBA format
|
477
|
+
else if (color.startsWith("rgb")) {
|
478
|
+
const rgbValues = color.replace(/^rgba?\(|\s+|\)$/g, "") // Remove the rgb/rgba and spaces
|
479
|
+
.split(","); // Split the values into an array
|
480
|
+
|
481
|
+
r = parseInt(rgbValues[0]);
|
482
|
+
g = parseInt(rgbValues[1]);
|
483
|
+
b = parseInt(rgbValues[2]);
|
484
|
+
} else {
|
485
|
+
// If the format is not recognized, default to black text
|
486
|
+
return "#000000";
|
487
|
+
}
|
488
|
+
|
489
|
+
// Calculate relative luminance
|
490
|
+
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
491
|
+
|
492
|
+
// Return black for light colors, white for dark colors
|
493
|
+
return luminance > 0.5 ? "#000000" : "#FFFFFF";
|
494
|
+
};
|
475
495
|
export const onDeleteKey = (event, {
|
476
496
|
editor
|
477
497
|
}) => {
|
@@ -633,6 +653,10 @@ export const isRestrictedNode = (event, editor) => {
|
|
633
653
|
return isNodeRestricted;
|
634
654
|
}
|
635
655
|
};
|
656
|
+
export function capitalizeFirstLetter(str) {
|
657
|
+
if (!str) return str;
|
658
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
659
|
+
}
|
636
660
|
export const insertLineBreakAtEndOfPath = (editor, path) => {
|
637
661
|
try {
|
638
662
|
const [node, nodePath] = Editor.node(editor, path); // Get the node at the specified path
|
@@ -651,6 +675,13 @@ export const insertLineBreakAtEndOfPath = (editor, path) => {
|
|
651
675
|
console.log(err);
|
652
676
|
}
|
653
677
|
};
|
678
|
+
export function isHavingSelection(editor) {
|
679
|
+
try {
|
680
|
+
return editor?.selection && !Range.isCollapsed(editor.selection);
|
681
|
+
} catch (err) {
|
682
|
+
console.log(err);
|
683
|
+
}
|
684
|
+
}
|
654
685
|
const omitNodes = ["site-settings", "page-settings"];
|
655
686
|
export function getInitialValue(value = [], readOnly) {
|
656
687
|
if (readOnly === "readonly" && value?.length) {
|
@@ -681,20 +712,17 @@ export function getInitialValue(value = [], readOnly) {
|
|
681
712
|
}
|
682
713
|
return value;
|
683
714
|
}
|
684
|
-
export function capitalizeFirstLetter(str) {
|
685
|
-
if (!str) return str;
|
686
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
687
|
-
}
|
688
|
-
export function isHavingSelection(editor) {
|
689
|
-
try {
|
690
|
-
return editor?.selection && !Range.isCollapsed(editor.selection);
|
691
|
-
} catch (err) {
|
692
|
-
console.log(err);
|
693
|
-
}
|
694
|
-
}
|
695
715
|
export function getSelectedCls(defaultCls = "", selected, selectedClsName = "selected") {
|
696
716
|
return `${defaultCls} ${selected ? selectedClsName : ""}`;
|
697
717
|
}
|
718
|
+
export function handleNegativeInteger(val) {
|
719
|
+
return val < 0 ? 0 : val;
|
720
|
+
}
|
721
|
+
export const containsSurrogatePair = text => {
|
722
|
+
// Match surrogate pairs (high and low surrogate)
|
723
|
+
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
724
|
+
return surrogatePairRegex.test(text);
|
725
|
+
};
|
698
726
|
export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
699
727
|
try {
|
700
728
|
const options = {
|
@@ -708,11 +736,6 @@ export const getNodeWithType = (editor, nodeType = "", otherOptions) => {
|
|
708
736
|
return [];
|
709
737
|
}
|
710
738
|
};
|
711
|
-
export const containsSurrogatePair = text => {
|
712
|
-
// Match surrogate pairs (high and low surrogate)
|
713
|
-
const surrogatePairRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
|
714
|
-
return surrogatePairRegex.test(text);
|
715
|
-
};
|
716
739
|
export const getSlateDom = (editor, range) => {
|
717
740
|
try {
|
718
741
|
const slateDom = ReactEditor.toDOMRange(editor, range);
|
@@ -762,6 +785,15 @@ export const hideSlateSelection = () => {
|
|
762
785
|
const root = document.documentElement;
|
763
786
|
root.style.setProperty("--slate-highlight-bg", "none");
|
764
787
|
};
|
765
|
-
export
|
766
|
-
|
767
|
-
|
788
|
+
export const isEverythingSelected = editor => {
|
789
|
+
const {
|
790
|
+
selection
|
791
|
+
} = editor;
|
792
|
+
if (selection && Range.isExpanded(selection)) {
|
793
|
+
if (Range.includes(selection, Editor.start(editor, [])) && Range.includes(selection, Editor.end(editor, []))) {
|
794
|
+
return true;
|
795
|
+
} else {
|
796
|
+
return false;
|
797
|
+
}
|
798
|
+
}
|
799
|
+
};
|
@@ -3,7 +3,7 @@ import { isBlockActive } from "./SlateUtilityFunctions";
|
|
3
3
|
export const createLinkNode = (href, showInNewTab, text, linkType) => ({
|
4
4
|
type: "link",
|
5
5
|
href,
|
6
|
-
target: showInNewTab ? "_blank" : "_self",
|
6
|
+
target: showInNewTab === "_blank" ? "_blank" : "_self",
|
7
7
|
linkType,
|
8
8
|
children: [{
|
9
9
|
text
|
@@ -174,6 +174,14 @@ export class TableUtil {
|
|
174
174
|
Transforms.removeNodes(this.editor, {
|
175
175
|
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
|
176
176
|
});
|
177
|
+
if (this.editor.children.length === 0) {
|
178
|
+
Transforms.insertNodes(this.editor, {
|
179
|
+
type: "paragraph",
|
180
|
+
children: [{
|
181
|
+
text: ""
|
182
|
+
}]
|
183
|
+
});
|
184
|
+
}
|
177
185
|
}
|
178
186
|
};
|
179
187
|
duplicateTable = () => {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@flozy/editor",
|
3
|
-
"version": "9.1.
|
3
|
+
"version": "9.1.3",
|
4
4
|
"description": "An Editor for flozy app brain",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -61,7 +61,7 @@
|
|
61
61
|
"scripts": {
|
62
62
|
"prepare": "husky install .husky",
|
63
63
|
"analyze": "source-map-explorer build/static/js/*.js",
|
64
|
-
"lint": "./node_modules/.
|
64
|
+
"lint": "./node_modules/.bin/eslint --ignore-path .gitignore .",
|
65
65
|
"start": "craco start",
|
66
66
|
"build": "NODE_OPTIONS='--max_old_space_size=4096' craco build",
|
67
67
|
"test": "craco test --passWithNoTests",
|
@@ -69,7 +69,10 @@
|
|
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/agmac03/flozy/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agmac03/flozy/client/node_modules/@flozy/editor/dist --copy-files"
|
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
|
+
"publish:flozy": "./publish-flozy.sh",
|
74
|
+
"publish:flozy2": "./publish-flozy2.sh",
|
75
|
+
"publish:permission": "chmod +x publish-flozy.sh && chmod +x publish-flozy2.sh"
|
73
76
|
},
|
74
77
|
"eslintConfig": {
|
75
78
|
"extends": [
|