@flozy/editor 3.9.7 → 3.9.9
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/CommonEditor.js +177 -109
- package/dist/Editor/Editor.css +7 -0
- package/dist/Editor/Elements/AI/AIInput.js +18 -24
- package/dist/Editor/Elements/AI/CustomSelect.js +19 -12
- package/dist/Editor/Elements/AI/PopoverAIInput.js +66 -89
- package/dist/Editor/Elements/AI/Styles.js +2 -1
- package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +73 -0
- package/dist/Editor/Elements/AI/VoiceToText/index.js +184 -0
- package/dist/Editor/Elements/AI/VoiceToText/style.js +40 -0
- package/dist/Editor/Elements/AI/helper.js +5 -3
- package/dist/Editor/Elements/AppHeader/AppHeader.js +26 -4
- package/dist/Editor/Elements/Button/EditorButton.js +28 -16
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +60 -17
- 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 +2 -1
- package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +12 -3
- package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -1
- package/dist/Editor/Elements/Grid/Grid.js +27 -3
- package/dist/Editor/Elements/Grid/GridItem.js +3 -1
- package/dist/Editor/Elements/Link/Link.js +6 -1
- package/dist/Editor/Elements/Link/LinkButton.js +4 -2
- package/dist/Editor/Elements/Link/LinkPopup.js +10 -3
- package/dist/Editor/Elements/Link/LinkPopupStyles.js +28 -0
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +3 -3
- package/dist/Editor/Elements/Redo/RedoButton.js +14 -0
- package/dist/Editor/Elements/Signature/SignaturePopup.js +20 -5
- package/dist/Editor/Elements/Table/Styles.js +23 -1
- package/dist/Editor/Elements/Table/Table.js +2 -1
- package/dist/Editor/Elements/Table/TableCell.js +69 -7
- package/dist/Editor/Elements/TableContextMenu/TableContextMenu.js +1 -0
- package/dist/Editor/Elements/Undo/UndoButton.js +14 -0
- package/dist/Editor/MiniEditor.js +3 -1
- package/dist/Editor/Styles/EditorStyles.js +1 -1
- package/dist/Editor/Toolbar/Basic/index.js +4 -2
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +26 -2
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -11
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +4 -2
- package/dist/Editor/Toolbar/Mini/Options/Options.js +10 -0
- package/dist/Editor/Toolbar/Mini/Styles.js +7 -0
- package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +12 -13
- package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +12 -13
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +4 -11
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +213 -86
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +40 -33
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +52 -7
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +2 -2
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/AIIcons.js +153 -1
- package/dist/Editor/assets/svg/AddTemplateIcon.js +13 -10
- package/dist/Editor/assets/svg/RedoIcon.js +27 -0
- package/dist/Editor/assets/svg/SettingsIcon.js +28 -0
- package/dist/Editor/assets/svg/TextIcon.js +8 -5
- package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
- package/dist/Editor/assets/svg/UndoIcon.js +27 -0
- package/dist/Editor/common/ColorPickerButton.js +25 -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 +94 -0
- package/dist/Editor/common/CustomDialog/style.js +67 -0
- package/dist/Editor/common/CustomSelect.js +33 -0
- package/dist/Editor/common/DnD/DragHandleButton.js +56 -47
- package/dist/Editor/common/Icon.js +43 -3
- package/dist/Editor/common/LinkSettings/NavComponents.js +5 -2
- package/dist/Editor/common/LinkSettings/index.js +4 -2
- package/dist/Editor/common/LinkSettings/navOptions.js +7 -2
- package/dist/Editor/common/LinkSettings/style.js +11 -8
- package/dist/Editor/common/Section/index.js +57 -7
- package/dist/Editor/common/Section/styles.js +11 -0
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +13 -3
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +1 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +31 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +14 -4
- package/dist/Editor/common/StyleBuilder/index.js +1 -1
- package/dist/Editor/common/iconslist.js +0 -31
- package/dist/Editor/helper/theme.js +190 -4
- package/dist/Editor/hooks/useEditorTheme.js +139 -0
- package/dist/Editor/hooks/useMouseMove.js +4 -1
- package/dist/Editor/hooks/useWindowMessage.js +10 -7
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.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 +290 -0
- package/dist/Editor/themeSettings/buttons/style.js +21 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +290 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +123 -0
- package/dist/Editor/themeSettings/fonts/index.js +213 -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 +190 -0
- package/dist/Editor/themeSettingsAI/style.js +247 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +161 -25
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/events.js +54 -2
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +31 -2
- package/dist/Editor/utils/table.js +51 -43
- package/package.json +3 -2
|
@@ -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,5 +62,8 @@ 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
|
};
|
|
@@ -146,7 +146,7 @@ export const handleInsertLastElement = (event, editor) => {
|
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
148
|
export const isListItem = editor => {
|
|
149
|
-
const format = ["list-item", "check-list-item", "accordion-summary"];
|
|
149
|
+
const format = ["list-item", "check-list-item", "accordion-summary", "headingOne", "headingTwo", "headingThree"];
|
|
150
150
|
const [node] = Editor.nodes(editor, {
|
|
151
151
|
match: n => !Editor.isEditor(n) && Element.isElement(n) && format.indexOf(n.type) > -1
|
|
152
152
|
});
|
|
@@ -246,7 +246,8 @@ export const handleLinkType = (url, linkType, readOnly, openInNewTab, onClick =
|
|
|
246
246
|
props.target = "_blank";
|
|
247
247
|
}
|
|
248
248
|
break;
|
|
249
|
-
case "
|
|
249
|
+
case "nextTrigger":
|
|
250
|
+
case "prevTrigger":
|
|
250
251
|
if (!readOnly) {
|
|
251
252
|
props.component = "button";
|
|
252
253
|
props.onClick = () => {};
|
|
@@ -378,6 +379,34 @@ export const decodeString = str => {
|
|
|
378
379
|
console.log(err);
|
|
379
380
|
}
|
|
380
381
|
};
|
|
382
|
+
export const getContrastColor = color => {
|
|
383
|
+
let r, g, b;
|
|
384
|
+
|
|
385
|
+
// Check if the color is in hex format
|
|
386
|
+
if (color.startsWith("#")) {
|
|
387
|
+
r = parseInt(color.substring(1, 3), 16);
|
|
388
|
+
g = parseInt(color.substring(3, 5), 16);
|
|
389
|
+
b = parseInt(color.substring(5, 7), 16);
|
|
390
|
+
}
|
|
391
|
+
// Check if the color is in RGB/RGBA format
|
|
392
|
+
else if (color.startsWith("rgb")) {
|
|
393
|
+
const rgbValues = color.replace(/^rgba?\(|\s+|\)$/g, "") // Remove the rgb/rgba and spaces
|
|
394
|
+
.split(","); // Split the values into an array
|
|
395
|
+
|
|
396
|
+
r = parseInt(rgbValues[0]);
|
|
397
|
+
g = parseInt(rgbValues[1]);
|
|
398
|
+
b = parseInt(rgbValues[2]);
|
|
399
|
+
} else {
|
|
400
|
+
// If the format is not recognized, default to black text
|
|
401
|
+
return "#000000";
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// Calculate relative luminance
|
|
405
|
+
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
406
|
+
|
|
407
|
+
// Return black for light colors, white for dark colors
|
|
408
|
+
return luminance > 0.5 ? "#000000" : "#FFFFFF";
|
|
409
|
+
};
|
|
381
410
|
export const onDeleteKey = (event, {
|
|
382
411
|
editor
|
|
383
412
|
}) => {
|
|
@@ -95,28 +95,32 @@ export class TableUtil {
|
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
deleteRow = () => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (tableNode) {
|
|
106
|
-
const [[table, tablePath]] = Editor.nodes(this.editor, {
|
|
107
|
-
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
|
|
108
|
-
});
|
|
109
|
-
const [, currentRow] = tableNode;
|
|
110
|
-
const path = currentRow;
|
|
111
|
-
Transforms.removeNodes(this.editor, {
|
|
112
|
-
at: path
|
|
113
|
-
});
|
|
114
|
-
Transforms.setNodes(this.editor, {
|
|
115
|
-
rows: table.rows - 1
|
|
116
|
-
}, {
|
|
117
|
-
at: tablePath
|
|
98
|
+
try {
|
|
99
|
+
const {
|
|
100
|
+
selection
|
|
101
|
+
} = this.editor;
|
|
102
|
+
if (!!selection && Range.isCollapsed(selection)) {
|
|
103
|
+
const [tableNode] = Editor.nodes(this.editor, {
|
|
104
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table-row"
|
|
118
105
|
});
|
|
106
|
+
if (tableNode) {
|
|
107
|
+
const [[table, tablePath]] = Editor.nodes(this.editor, {
|
|
108
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
|
|
109
|
+
});
|
|
110
|
+
const [, currentRow] = tableNode;
|
|
111
|
+
const path = currentRow;
|
|
112
|
+
Transforms.removeNodes(this.editor, {
|
|
113
|
+
at: path
|
|
114
|
+
});
|
|
115
|
+
Transforms.setNodes(this.editor, {
|
|
116
|
+
rows: table.rows - 1
|
|
117
|
+
}, {
|
|
118
|
+
at: tablePath
|
|
119
|
+
});
|
|
120
|
+
}
|
|
119
121
|
}
|
|
122
|
+
} catch (error) {
|
|
123
|
+
console.log("Error", error);
|
|
120
124
|
}
|
|
121
125
|
};
|
|
122
126
|
insertColumn = action => {
|
|
@@ -151,34 +155,38 @@ export class TableUtil {
|
|
|
151
155
|
}
|
|
152
156
|
};
|
|
153
157
|
deleteColumn = () => {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (tableNode) {
|
|
162
|
-
const [[table, tablePath]] = Editor.nodes(this.editor, {
|
|
163
|
-
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
|
|
158
|
+
try {
|
|
159
|
+
const {
|
|
160
|
+
selection
|
|
161
|
+
} = this.editor;
|
|
162
|
+
if (!!selection && Range.isCollapsed(selection)) {
|
|
163
|
+
const [tableNode] = Editor.nodes(this.editor, {
|
|
164
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table-cell"
|
|
164
165
|
});
|
|
165
|
-
|
|
166
|
-
|
|
166
|
+
if (tableNode) {
|
|
167
|
+
const [[table, tablePath]] = Editor.nodes(this.editor, {
|
|
168
|
+
match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "table"
|
|
169
|
+
});
|
|
170
|
+
const [, currentCell] = tableNode;
|
|
171
|
+
const startPath = currentCell;
|
|
167
172
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
+
// The last two indices of the path represents the row and column. We need to add one cell to each row starting from the first row
|
|
174
|
+
startPath[startPath.length - 2] = 0;
|
|
175
|
+
for (let row = 0; row < table.rows; row++) {
|
|
176
|
+
Transforms.removeNodes(this.editor, {
|
|
177
|
+
at: startPath
|
|
178
|
+
});
|
|
179
|
+
startPath[startPath.length - 2]++;
|
|
180
|
+
}
|
|
181
|
+
Transforms.setNodes(this.editor, {
|
|
182
|
+
columns: table.columns - 1
|
|
183
|
+
}, {
|
|
184
|
+
at: tablePath
|
|
173
185
|
});
|
|
174
|
-
startPath[startPath.length - 2]++;
|
|
175
186
|
}
|
|
176
|
-
Transforms.setNodes(this.editor, {
|
|
177
|
-
columns: table.columns - 1
|
|
178
|
-
}, {
|
|
179
|
-
at: tablePath
|
|
180
|
-
});
|
|
181
187
|
}
|
|
188
|
+
} catch (error) {
|
|
189
|
+
console.log("Error ", error);
|
|
182
190
|
}
|
|
183
191
|
};
|
|
184
192
|
updateTableStyle = (styleProps, paths) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flozy/editor",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.9",
|
|
4
4
|
"description": "An Editor for flozy app brain",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"slate-react": "^0.98.3",
|
|
47
47
|
"styled-components": "^5.3.11",
|
|
48
48
|
"use-debounce": "^10.0.0",
|
|
49
|
+
"wavesurfer.js": "^7.8.6",
|
|
49
50
|
"web-vitals": "^2.1.4",
|
|
50
51
|
"y-websocket": "^1.5.0",
|
|
51
52
|
"yjs": "^13.6.8"
|
|
@@ -61,7 +62,7 @@
|
|
|
61
62
|
"build": "NODE_OPTIONS='--max_old_space_size=4096' craco build",
|
|
62
63
|
"test": "craco test --passWithNoTests",
|
|
63
64
|
"eject": "react-scripts eject",
|
|
64
|
-
"storybook": "
|
|
65
|
+
"storybook": "storybook dev -p 6006",
|
|
65
66
|
"build-storybook": "NODE_OPTIONS='--max_old_space_size=4096' storybook build",
|
|
66
67
|
"publish:npm": "rm -rf dist && mkdir dist && babel src/components -d dist --copy-files",
|
|
67
68
|
"publish:local": "rm -rf /Users/agenciflow08/Documents/flozyapp/client/node_modules/@flozy/editor/dist && babel src/components -d /Users/agenciflow08/Documents/flozyapp/client/node_modules/@flozy/editor/dist --copy-files"
|