@flozy/editor 3.9.8 → 4.0.0
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 +55 -45
- package/dist/Editor/CommonEditor.js +180 -111
- package/dist/Editor/Editor.css +9 -3
- 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/Accordion/Accordion.js +74 -7
- package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +3 -2
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +4 -60
- 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/Embed/Image.js +29 -21
- package/dist/Editor/Elements/Embed/Video.js +15 -11
- package/dist/Editor/Elements/Emoji/EmojiPicker.js +4 -2
- package/dist/Editor/Elements/Form/Form.js +1 -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 +33 -16
- 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 +8 -4
- 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 +3 -2
- package/dist/Editor/Elements/Table/TableCell.js +70 -8
- 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 +29 -18
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +29 -3
- 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 +7 -6
- 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/EditorCmds.js +35 -0
- 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/MentionsPopup/MentionsListCard.js +6 -1
- package/dist/Editor/common/MentionsPopup/Styles.js +5 -2
- 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/accordionTitleBtnStyle.js +7 -7
- package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +16 -16
- 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/selectBox.js +14 -3
- 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/deserialize/index.js +14 -9
- package/dist/Editor/helper/theme.js +190 -4
- package/dist/Editor/hooks/useEditorTheme.js +139 -0
- package/dist/Editor/hooks/useMouseMove.js +4 -2
- package/dist/Editor/hooks/useWindowMessage.js +10 -7
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +47 -5
- package/dist/Editor/plugins/withLayout.js +15 -10
- package/dist/Editor/plugins/withTable.js +2 -2
- 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/draftToSlate.js +1 -1
- package/dist/Editor/utils/events.js +65 -6
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +74 -14
- package/dist/Editor/utils/table.js +51 -43
- package/package.json +3 -2
|
@@ -95,16 +95,20 @@ const Video = ({
|
|
|
95
95
|
setOpenSettings(true);
|
|
96
96
|
};
|
|
97
97
|
const onSave = data => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
98
|
+
try {
|
|
99
|
+
const updateData = {
|
|
100
|
+
...data
|
|
101
|
+
};
|
|
102
|
+
delete updateData.children;
|
|
103
|
+
Transforms.setNodes(editor, {
|
|
104
|
+
...updateData
|
|
105
|
+
}, {
|
|
106
|
+
at: path
|
|
107
|
+
});
|
|
108
|
+
onClose();
|
|
109
|
+
} catch (err) {
|
|
110
|
+
console.log(err);
|
|
111
|
+
}
|
|
108
112
|
};
|
|
109
113
|
const onClose = () => {
|
|
110
114
|
setOpenSettings(false);
|
|
@@ -187,7 +191,7 @@ const Video = ({
|
|
|
187
191
|
flexDirection: "row",
|
|
188
192
|
flexWrap: "wrap",
|
|
189
193
|
// to support oldWidth with link
|
|
190
|
-
width: `100
|
|
194
|
+
width: `100%`,
|
|
191
195
|
justifyContent: horizantal,
|
|
192
196
|
alignContent: vertical
|
|
193
197
|
},
|
|
@@ -4,12 +4,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
5
|
const EmojiPicker = props => {
|
|
6
6
|
const {
|
|
7
|
-
onEmojiSelect
|
|
7
|
+
onEmojiSelect,
|
|
8
|
+
onClose
|
|
8
9
|
} = props;
|
|
9
10
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
10
11
|
children: /*#__PURE__*/_jsx(Picker, {
|
|
11
12
|
data: data,
|
|
12
|
-
onEmojiSelect: onEmojiSelect
|
|
13
|
+
onEmojiSelect: onEmojiSelect,
|
|
14
|
+
onClickOutside: onClose
|
|
13
15
|
})
|
|
14
16
|
});
|
|
15
17
|
};
|
|
@@ -119,7 +119,7 @@ const Form = props => {
|
|
|
119
119
|
if (fieldData?.element === "email") {
|
|
120
120
|
rule.push(`isEmail`);
|
|
121
121
|
}
|
|
122
|
-
if (fieldData?.required
|
|
122
|
+
if (fieldData?.required && fieldData?.element === "email") {
|
|
123
123
|
validations.push({
|
|
124
124
|
name: pair[0],
|
|
125
125
|
value: pair[1],
|
|
@@ -71,11 +71,11 @@ const FormWorkflow = props => {
|
|
|
71
71
|
children: [/*#__PURE__*/_jsx(Grid, {
|
|
72
72
|
item: true,
|
|
73
73
|
sx: classes.radioBtn,
|
|
74
|
-
children: /*#__PURE__*/
|
|
74
|
+
children: /*#__PURE__*/_jsxs(RadioGroup, {
|
|
75
75
|
name: "set timing",
|
|
76
76
|
value: schedule,
|
|
77
77
|
defaultValue: 1,
|
|
78
|
-
children: /*#__PURE__*/_jsx(FormControlLabel, {
|
|
78
|
+
children: [/*#__PURE__*/_jsx(FormControlLabel, {
|
|
79
79
|
value: "immediately",
|
|
80
80
|
label: "Immediately",
|
|
81
81
|
onChange: () => {
|
|
@@ -84,7 +84,16 @@ const FormWorkflow = props => {
|
|
|
84
84
|
control: /*#__PURE__*/_jsx(Radio, {
|
|
85
85
|
size: "small"
|
|
86
86
|
})
|
|
87
|
-
})
|
|
87
|
+
}), /*#__PURE__*/_jsx(FormControlLabel, {
|
|
88
|
+
value: "after",
|
|
89
|
+
label: "After",
|
|
90
|
+
onChange: () => {
|
|
91
|
+
setSchedule("after");
|
|
92
|
+
},
|
|
93
|
+
control: /*#__PURE__*/_jsx(Radio, {
|
|
94
|
+
size: "small"
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
88
97
|
})
|
|
89
98
|
}), schedule === "after" && /*#__PURE__*/_jsx(Grid, {
|
|
90
99
|
item: true,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
|
2
2
|
import React, { useState } from "react";
|
|
3
|
-
import { Transforms, Path } from "slate";
|
|
3
|
+
import { Transforms, Path, Node } from "slate";
|
|
4
4
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
|
5
5
|
import { IconButton, Tooltip, Grid as GridContainer } from "@mui/material";
|
|
6
6
|
import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
|
|
@@ -15,6 +15,7 @@ import { gridItem } from "../../utils/gridItem";
|
|
|
15
15
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
16
16
|
import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
|
|
17
17
|
import useWindowResize from "../../hooks/useWindowResize";
|
|
18
|
+
import { useTheme } from "@emotion/react";
|
|
18
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
20
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
21
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -29,11 +30,16 @@ const GridToolBar = ({
|
|
|
29
30
|
onAddGridItem,
|
|
30
31
|
onAddSection,
|
|
31
32
|
onMoveSection,
|
|
32
|
-
path
|
|
33
|
+
path,
|
|
34
|
+
isSectionFullWidth
|
|
33
35
|
}) => {
|
|
34
36
|
return selected && !showTool ? /*#__PURE__*/_jsxs("div", {
|
|
35
37
|
className: "grid-container-toolbar",
|
|
36
38
|
contentEditable: false,
|
|
39
|
+
style: isSectionFullWidth ? {
|
|
40
|
+
right: "4px",
|
|
41
|
+
top: "4px"
|
|
42
|
+
} : {},
|
|
37
43
|
children: [/*#__PURE__*/_jsx(Tooltip, {
|
|
38
44
|
title: "Grid Settings",
|
|
39
45
|
arrow: true,
|
|
@@ -74,7 +80,19 @@ const GridToolBar = ({
|
|
|
74
80
|
}) : null]
|
|
75
81
|
}) : null;
|
|
76
82
|
};
|
|
83
|
+
const getParentEl = (editor, path) => {
|
|
84
|
+
try {
|
|
85
|
+
if (path?.length) {
|
|
86
|
+
return Node.parent(editor, path);
|
|
87
|
+
} else {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
} catch (err) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
77
94
|
const Grid = props => {
|
|
95
|
+
const theme = useTheme();
|
|
78
96
|
const {
|
|
79
97
|
attributes,
|
|
80
98
|
children,
|
|
@@ -113,6 +131,11 @@ const Grid = props => {
|
|
|
113
131
|
const selected = hoverPath === path.join(",");
|
|
114
132
|
const [showTool] = useEditorSelection(editor);
|
|
115
133
|
const [size] = useWindowResize();
|
|
134
|
+
const parentElement = getParentEl(editor, path);
|
|
135
|
+
const {
|
|
136
|
+
sectionGridSize
|
|
137
|
+
} = parentElement || {};
|
|
138
|
+
const isSectionFullWidth = sectionGridSize && sectionGridSize[size?.device] >= 12;
|
|
116
139
|
const onAddGridItem = () => {
|
|
117
140
|
const currentPath = editor.selection?.anchor?.path;
|
|
118
141
|
const ancestorsPath = Path.ancestors(currentPath, {
|
|
@@ -270,10 +293,10 @@ const Grid = props => {
|
|
|
270
293
|
backgroundImage: `url(${backgroundImage})`
|
|
271
294
|
} : {};
|
|
272
295
|
const {
|
|
273
|
-
topLeft
|
|
274
|
-
topRight
|
|
275
|
-
bottomLeft
|
|
276
|
-
bottomRight
|
|
296
|
+
topLeft,
|
|
297
|
+
topRight,
|
|
298
|
+
bottomLeft,
|
|
299
|
+
bottomRight
|
|
277
300
|
} = getBreakPointsValue(borderRadius, size?.device) || {};
|
|
278
301
|
return /*#__PURE__*/_jsxs(GridContainer, {
|
|
279
302
|
container: true,
|
|
@@ -285,22 +308,15 @@ const Grid = props => {
|
|
|
285
308
|
lg: "flex",
|
|
286
309
|
xs: xsHidden ? "none" : "flex"
|
|
287
310
|
},
|
|
288
|
-
background: bgColor
|
|
311
|
+
background: bgColor,
|
|
289
312
|
alignContent: vertical,
|
|
290
313
|
...bgImage,
|
|
291
314
|
borderColor: borderColor || "transparent",
|
|
292
315
|
borderWidth: borderWidth || "1px",
|
|
293
316
|
borderRadius: `${topLeft}px ${topRight}px ${bottomRight}px ${bottomLeft}px`,
|
|
294
317
|
borderStyle: borderStyle || "solid",
|
|
295
|
-
height: "auto"
|
|
296
|
-
backgroundRepeat: 'no-repeat',
|
|
297
|
-
backgroundSize: 'cover',
|
|
298
|
-
position: 'relative',
|
|
299
|
-
flexWrap: 'wrap',
|
|
300
|
-
padding: '0px'
|
|
301
|
-
// border: 0px solid #e5eaf2;
|
|
318
|
+
height: "auto"
|
|
302
319
|
},
|
|
303
|
-
|
|
304
320
|
"data-path": path.join(","),
|
|
305
321
|
children: [fgColor && /*#__PURE__*/_jsx("div", {
|
|
306
322
|
style: {
|
|
@@ -334,7 +350,8 @@ const Grid = props => {
|
|
|
334
350
|
onAddGridItem: onAddGridItem,
|
|
335
351
|
onAddSection: onAddSection,
|
|
336
352
|
onMoveSection: onMoveSection,
|
|
337
|
-
path: path
|
|
353
|
+
path: path,
|
|
354
|
+
isSectionFullWidth: isSectionFullWidth
|
|
338
355
|
})]
|
|
339
356
|
}), openSetttings ? /*#__PURE__*/_jsx(PoupComp, {
|
|
340
357
|
element: element,
|
|
@@ -8,6 +8,7 @@ import { GridSettingsIcon } from "../../common/iconslist";
|
|
|
8
8
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
|
9
9
|
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
|
10
10
|
import { isEmptyNode } from "../../utils/helper";
|
|
11
|
+
import { useTheme } from "@emotion/react";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
const GridItemToolbar = ({
|
|
@@ -34,6 +35,7 @@ const GridItemToolbar = ({
|
|
|
34
35
|
}) : null;
|
|
35
36
|
};
|
|
36
37
|
const GridItem = props => {
|
|
38
|
+
const theme = useTheme();
|
|
37
39
|
const {
|
|
38
40
|
attributes,
|
|
39
41
|
children,
|
|
@@ -119,7 +121,7 @@ const GridItem = props => {
|
|
|
119
121
|
xs: xsHidden ? "none" : "flex"
|
|
120
122
|
},
|
|
121
123
|
flexDirection: flexDirection || "column",
|
|
122
|
-
background: bgColor
|
|
124
|
+
background: bgColor,
|
|
123
125
|
borderColor: getBorderColor(),
|
|
124
126
|
borderWidth: borderWidth || "1px",
|
|
125
127
|
borderRadius: {
|
|
@@ -9,6 +9,7 @@ import { removeLink } from "../../utils/link";
|
|
|
9
9
|
import LinkPopup from "./LinkPopup";
|
|
10
10
|
import "./styles.css";
|
|
11
11
|
import { absoluteLink } from "../../utils/helper";
|
|
12
|
+
import { useEditorContext } from "../../hooks/useMouseMove";
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
const Link = props => {
|
|
@@ -29,6 +30,9 @@ const Link = props => {
|
|
|
29
30
|
const path = ReactEditor.findPath(editor, element);
|
|
30
31
|
const urlPath = element.url || element.href;
|
|
31
32
|
const absLink = absoluteLink(urlPath);
|
|
33
|
+
const {
|
|
34
|
+
theme
|
|
35
|
+
} = useEditorContext();
|
|
32
36
|
const updateLink = () => {
|
|
33
37
|
Transforms.setNodes(editor, {
|
|
34
38
|
href: linkData?.url,
|
|
@@ -107,7 +111,8 @@ const Link = props => {
|
|
|
107
111
|
linkData: linkData,
|
|
108
112
|
handleClose: handleClose,
|
|
109
113
|
handleInputChange: handleInputChange,
|
|
110
|
-
handleInsertLink: updateLink
|
|
114
|
+
handleInsertLink: updateLink,
|
|
115
|
+
theme: theme
|
|
111
116
|
})]
|
|
112
117
|
});
|
|
113
118
|
};
|
|
@@ -9,7 +9,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const LinkButton = props => {
|
|
11
11
|
const {
|
|
12
|
-
editor
|
|
12
|
+
editor,
|
|
13
|
+
theme
|
|
13
14
|
} = props;
|
|
14
15
|
const linkInputRef = useRef(null);
|
|
15
16
|
const [showInput, setShowInput] = useState(false);
|
|
@@ -77,7 +78,8 @@ const LinkButton = props => {
|
|
|
77
78
|
linkData: linkData,
|
|
78
79
|
handleClose: handleClose,
|
|
79
80
|
handleInputChange: handleInputChange,
|
|
80
|
-
handleInsertLink: handleInsertLink
|
|
81
|
+
handleInsertLink: handleInsertLink,
|
|
82
|
+
theme: theme
|
|
81
83
|
})]
|
|
82
84
|
});
|
|
83
85
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Dialog, DialogActions, DialogContent, DialogTitle, FormControl, FormControlLabel, Grid, TextField, Button, IconButton, Typography, Checkbox } from "@mui/material";
|
|
3
3
|
import CloseIcon from "@mui/icons-material/Close";
|
|
4
|
+
import LinkPopupStyles from "./LinkPopupStyles";
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
7
|
const LinkPopup = props => {
|
|
@@ -9,8 +10,11 @@ const LinkPopup = props => {
|
|
|
9
10
|
handleClose,
|
|
10
11
|
linkData,
|
|
11
12
|
handleInputChange,
|
|
12
|
-
handleInsertLink
|
|
13
|
+
handleInsertLink,
|
|
14
|
+
theme
|
|
13
15
|
} = props;
|
|
16
|
+
const themeType = localStorage.getItem("themeType");
|
|
17
|
+
const classes = LinkPopupStyles(themeType);
|
|
14
18
|
return /*#__PURE__*/_jsxs(Dialog, {
|
|
15
19
|
fullWidth: true,
|
|
16
20
|
open: open,
|
|
@@ -44,13 +48,15 @@ const LinkPopup = props => {
|
|
|
44
48
|
style: {
|
|
45
49
|
paddingTop: "12px"
|
|
46
50
|
},
|
|
51
|
+
className: classes.titleTypo,
|
|
47
52
|
children: /*#__PURE__*/_jsx(TextField, {
|
|
48
53
|
size: "small",
|
|
49
54
|
fullWidth: true,
|
|
50
55
|
value: linkData?.name,
|
|
51
56
|
name: "name",
|
|
52
57
|
placeholder: "Link Title",
|
|
53
|
-
onChange: handleInputChange
|
|
58
|
+
onChange: handleInputChange,
|
|
59
|
+
sx: classes.addLinkField
|
|
54
60
|
})
|
|
55
61
|
}), /*#__PURE__*/_jsx(Grid, {
|
|
56
62
|
item: true,
|
|
@@ -64,7 +70,8 @@ const LinkPopup = props => {
|
|
|
64
70
|
name: "url",
|
|
65
71
|
value: linkData?.url,
|
|
66
72
|
placeholder: "https://google.com",
|
|
67
|
-
onChange: handleInputChange
|
|
73
|
+
onChange: handleInputChange,
|
|
74
|
+
sx: classes.addLinkField
|
|
68
75
|
})
|
|
69
76
|
}), /*#__PURE__*/_jsx(Grid, {
|
|
70
77
|
item: true,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const LinkPopupStyles = themeType => ({
|
|
2
|
+
addLinkField: {
|
|
3
|
+
"& .MuiOutlinedInput-input": {
|
|
4
|
+
fontSize: "12px",
|
|
5
|
+
fontWeight: 500,
|
|
6
|
+
color: themeType === "dark" ? "#FFFFFF !important" : "#000000 !important"
|
|
7
|
+
},
|
|
8
|
+
"& .MuiFormHelperText-root": {
|
|
9
|
+
color: themeType === "dark" ? "#FFFFFF !important" : "#000000 !important"
|
|
10
|
+
},
|
|
11
|
+
"& .MuiOutlinedInput-root": {
|
|
12
|
+
boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.16)",
|
|
13
|
+
color: themeType === "dark" ? "#FFFFFF !important" : "#000000 !important",
|
|
14
|
+
borderRadius: "7px",
|
|
15
|
+
"& fieldset": {
|
|
16
|
+
borderColor: "#D8DDE1"
|
|
17
|
+
},
|
|
18
|
+
"&:hover fieldset": {
|
|
19
|
+
borderColor: "#64748B"
|
|
20
|
+
},
|
|
21
|
+
"&.Mui-focused fieldset": {
|
|
22
|
+
borderColor: "#2563EB"
|
|
23
|
+
},
|
|
24
|
+
"& .MuiFormLabel-root": {}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export default LinkPopupStyles;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
2
|
import { useSlateStatic } from "slate-react";
|
|
3
3
|
import PageSettingsPopup from "./PageSettingsPopup";
|
|
4
|
-
import { PageSettings } from "../../common/iconslist";
|
|
5
4
|
import ToolbarIcon from "../../common/ToolbarIcon";
|
|
6
5
|
import { getPageSettings, updatePageSettings } from "../../utils/pageSettings";
|
|
6
|
+
import SettingsIcon from "../../assets/svg/SettingsIcon";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -11,7 +11,9 @@ const PageSettingsButton = props => {
|
|
|
11
11
|
const {
|
|
12
12
|
customProps,
|
|
13
13
|
icoBtnType,
|
|
14
|
-
from
|
|
14
|
+
from,
|
|
15
|
+
closePopper,
|
|
16
|
+
setToolTip
|
|
15
17
|
} = props;
|
|
16
18
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
17
19
|
const editor = useSlateStatic();
|
|
@@ -38,16 +40,18 @@ const PageSettingsButton = props => {
|
|
|
38
40
|
}
|
|
39
41
|
};
|
|
40
42
|
const onClose = () => {
|
|
43
|
+
closePopper(true);
|
|
44
|
+
setToolTip(false);
|
|
41
45
|
setOpenSettings(false);
|
|
42
46
|
};
|
|
43
47
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
44
|
-
children: [from === "miniToolBar" ? /*#__PURE__*/_jsx(
|
|
48
|
+
children: [from === "miniToolBar" ? /*#__PURE__*/_jsx(SettingsIcon, {
|
|
45
49
|
onClick: onSettings,
|
|
46
50
|
className: "removeDefaultSvgCls"
|
|
47
51
|
}) : /*#__PURE__*/_jsx(ToolbarIcon, {
|
|
48
52
|
title: "Page Settings",
|
|
49
53
|
onClick: onSettings,
|
|
50
|
-
icon: /*#__PURE__*/_jsx(
|
|
54
|
+
icon: /*#__PURE__*/_jsx(SettingsIcon, {}),
|
|
51
55
|
icoBtnType: icoBtnType
|
|
52
56
|
}), openSetttings !== false ? /*#__PURE__*/_jsx(PageSettingsPopup, {
|
|
53
57
|
element: openSetttings?.element || {},
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useSlateStatic } from "slate-react";
|
|
3
|
+
import RedoIcon from "../../assets/svg/RedoIcon";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
const RedoButton = () => {
|
|
6
|
+
const editor = useSlateStatic();
|
|
7
|
+
const onRedo = () => {
|
|
8
|
+
editor?.redo();
|
|
9
|
+
};
|
|
10
|
+
return /*#__PURE__*/_jsx(RedoIcon, {
|
|
11
|
+
onClick: onRedo
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
export default RedoButton;
|
|
@@ -32,12 +32,14 @@ const SignaturePopup = props => {
|
|
|
32
32
|
const [open, setOpen] = useState(false);
|
|
33
33
|
const [tab, setTab] = useState(0);
|
|
34
34
|
const SeletectedTab = SignatureOptions[tab];
|
|
35
|
+
const defaultName = metadata?.signatureDetails?.name;
|
|
36
|
+
const defaultEmail = metadata?.signatureDetails?.email;
|
|
35
37
|
const [signedData, setSignedData] = useState({
|
|
36
38
|
signedOn: new Date(),
|
|
37
39
|
signature: "",
|
|
38
40
|
signedText: "",
|
|
39
|
-
signedBy: "",
|
|
40
|
-
signedByEmail: ""
|
|
41
|
+
signedBy: defaultName || "",
|
|
42
|
+
signedByEmail: defaultEmail || ""
|
|
41
43
|
});
|
|
42
44
|
const [brush, setBrush] = useState({
|
|
43
45
|
size: 1,
|
|
@@ -262,8 +264,14 @@ const SignaturePopup = props => {
|
|
|
262
264
|
id: "signedBy",
|
|
263
265
|
name: "signedBy",
|
|
264
266
|
placeholder: "Enter Name",
|
|
267
|
+
defaultValue: defaultName || "",
|
|
265
268
|
size: "small",
|
|
266
|
-
onChange: onChange
|
|
269
|
+
onChange: onChange,
|
|
270
|
+
sx: {
|
|
271
|
+
'& .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline': {
|
|
272
|
+
borderColor: '#ccc'
|
|
273
|
+
}
|
|
274
|
+
}
|
|
267
275
|
})
|
|
268
276
|
})]
|
|
269
277
|
}), /*#__PURE__*/_jsxs(Grid, {
|
|
@@ -311,7 +319,8 @@ const SignaturePopup = props => {
|
|
|
311
319
|
},
|
|
312
320
|
children: [/*#__PURE__*/_jsx(Grid, {
|
|
313
321
|
style: {
|
|
314
|
-
marginRight: "8px"
|
|
322
|
+
marginRight: "8px",
|
|
323
|
+
minWidth: '44px'
|
|
315
324
|
},
|
|
316
325
|
children: /*#__PURE__*/_jsx("label", {
|
|
317
326
|
htmlFor: "signedByEmail",
|
|
@@ -326,7 +335,13 @@ const SignaturePopup = props => {
|
|
|
326
335
|
name: "signedByEmail",
|
|
327
336
|
placeholder: "Enter Email",
|
|
328
337
|
size: "small",
|
|
329
|
-
onChange: onChange
|
|
338
|
+
onChange: onChange,
|
|
339
|
+
sx: {
|
|
340
|
+
'& .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline': {
|
|
341
|
+
borderColor: '#ccc'
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
defaultValue: defaultEmail || ""
|
|
330
345
|
})
|
|
331
346
|
})]
|
|
332
347
|
})]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const TableStyles =
|
|
1
|
+
const TableStyles = themeType => ({
|
|
2
2
|
tableToolBar: {
|
|
3
3
|
position: "absolute",
|
|
4
4
|
top: "-34px",
|
|
@@ -61,6 +61,28 @@ const TableStyles = () => ({
|
|
|
61
61
|
"&:hover": {
|
|
62
62
|
background: "#ccc"
|
|
63
63
|
}
|
|
64
|
+
},
|
|
65
|
+
deleteCellsPopUp: {
|
|
66
|
+
backgroundColor: themeType === "dark" ? "#292C32" : "#FFFFFF",
|
|
67
|
+
borderRadius: "7px !important",
|
|
68
|
+
border: themeType === "dark" ? "1px solid #5B5E64" : "1px solid #E4E8EB",
|
|
69
|
+
zIndex: 100,
|
|
70
|
+
minWidth: "186px !important"
|
|
71
|
+
},
|
|
72
|
+
menuItemPopUp: {
|
|
73
|
+
padding: "5px 7px !important",
|
|
74
|
+
margin: "6px !important",
|
|
75
|
+
borderRadius: 1,
|
|
76
|
+
userSelect: "none",
|
|
77
|
+
color: themeType === "dark" ? "#2563EB" : "#0F172A",
|
|
78
|
+
"&:hover": {
|
|
79
|
+
// backgroundColor: "rgba(0, 123, 255, 0.1)",
|
|
80
|
+
backgroundColor: themeType === "dark" ? "#2563EB" : "#E9F3FE"
|
|
81
|
+
},
|
|
82
|
+
"&.Mui-selected": {
|
|
83
|
+
backgroundColor: themeType === "dark" ? "#2563EB" : "#E9F3FE",
|
|
84
|
+
color: themeType === "dark" ? "#F6F6F6" : "#0F172A"
|
|
85
|
+
}
|
|
64
86
|
}
|
|
65
87
|
});
|
|
66
88
|
export default TableStyles;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
2
|
import { Transforms } from "slate";
|
|
3
3
|
import { useSelected, useSlateStatic } from "slate-react";
|
|
4
|
-
import { Box, IconButton, Tooltip, Table as TableComp, TableBody } from "@mui/material";
|
|
4
|
+
import { Box, IconButton, Tooltip, Table as TableComp, TableBody, Popper, Typography } from "@mui/material";
|
|
5
5
|
import AlignHorizontalLeftIcon from "@mui/icons-material/AlignHorizontalLeft";
|
|
6
6
|
import AlignHorizontalRightIcon from "@mui/icons-material/AlignHorizontalRight";
|
|
7
7
|
import AlignVerticalTopIcon from "@mui/icons-material/AlignVerticalTop";
|
|
@@ -15,6 +15,7 @@ import { TableUtil } from "../../utils/table";
|
|
|
15
15
|
import TablePopup from "./TablePopup";
|
|
16
16
|
import { useEditorSelection } from "../../hooks/useMouseMove";
|
|
17
17
|
import TableStyles from "./Styles";
|
|
18
|
+
import useClickOutside from "../../hooks/useClickOutside";
|
|
18
19
|
import "./table.css";
|
|
19
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
21
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -183,7 +184,7 @@ const Table = props => {
|
|
|
183
184
|
children: [/*#__PURE__*/_jsx(TableComp, {
|
|
184
185
|
sx: classes.table,
|
|
185
186
|
style: {
|
|
186
|
-
|
|
187
|
+
background: bgColor,
|
|
187
188
|
border: `1px solid ${borderColor}`,
|
|
188
189
|
width: "auto"
|
|
189
190
|
},
|