@flozy/editor 10.6.5 → 10.6.7
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 +17 -1
- package/dist/Editor/Editor.css +26 -0
- package/dist/Editor/Elements/Accordion/Accordion.js +46 -9
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +2 -25
- package/dist/Editor/Elements/AppHeader/AppHeader.js +7 -2
- package/dist/Editor/Elements/Button/EditorButton.js +2 -2
- package/dist/Editor/Elements/Carousel/CarouselItem.js +2 -1
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +510 -0
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +10 -10
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +28 -9
- package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +12 -5
- package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +44 -18
- package/dist/Editor/Elements/Divider/Divider.js +1 -1
- package/dist/Editor/Elements/Embed/Embed.css +4 -0
- package/dist/Editor/Elements/Form/Form.js +3 -3
- package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +0 -1
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +4 -1
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -0
- package/dist/Editor/Elements/Grid/Grid.js +14 -2
- package/dist/Editor/Elements/Signature/Signature.css +2 -1
- package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +18 -5
- package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +16 -3
- package/dist/Editor/Elements/Table/AddRowCol.js +8 -2
- package/dist/Editor/Elements/Table/DragButton.js +0 -1
- package/dist/Editor/Elements/Table/Draggable.js +6 -2
- package/dist/Editor/Elements/Table/Styles.js +7 -0
- package/dist/Editor/Elements/Table/TableCell.js +24 -5
- package/dist/Editor/Elements/Title/title.js +2 -5
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +4 -4
- package/dist/Editor/Toolbar/PopupTool/index.js +7 -3
- package/dist/Editor/common/Checkbox/index.js +46 -0
- package/dist/Editor/common/Checkbox/styles.js +45 -0
- package/dist/Editor/common/ColorPickerButton.js +3 -0
- package/dist/Editor/common/LinkSettings/NavComponents.js +45 -65
- package/dist/Editor/common/LinkSettings/index.js +17 -28
- package/dist/Editor/common/LinkSettings/navOptions.js +2 -2
- package/dist/Editor/common/LinkSettings/style.js +164 -244
- package/dist/Editor/common/RadioGroup/index.js +48 -0
- package/dist/Editor/common/RadioGroup/styles.js +29 -0
- package/dist/Editor/common/RnD/ElementOptions/Actions.js +4 -5
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Signature.js +4 -3
- package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
- package/dist/Editor/common/RnD/OptionsPopup/style.js +0 -1
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +0 -1
- package/dist/Editor/common/RnD/Utils/index.js +55 -24
- package/dist/Editor/common/RnD/VirtualElement/helper.js +3 -2
- package/dist/Editor/common/RnD/index.js +30 -27
- package/dist/Editor/common/Select/index.js +44 -7
- package/dist/Editor/common/Select/styles.js +30 -2
- package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +2 -2
- package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +12 -9
- package/dist/Editor/common/SwipeableDrawer/style.js +14 -12
- package/dist/Editor/common/iconListV2.js +76 -0
- package/dist/Editor/commonStyle.js +12 -0
- package/dist/Editor/helper/deserialize/index.js +6 -4
- package/dist/Editor/helper/index.js +4 -0
- package/dist/Editor/hooks/useTable.js +5 -4
- package/dist/Editor/plugins/withCustomDeleteBackward.js +6 -1
- package/dist/Editor/plugins/withHTML.js +11 -4
- package/dist/Editor/utils/SlateUtilityFunctions.js +21 -32
- package/dist/Editor/utils/accordion.js +129 -39
- package/dist/Editor/utils/customHooks/useTableResize.js +49 -9
- package/dist/Editor/utils/events.js +17 -5
- package/dist/Editor/utils/formfield.js +1 -0
- package/dist/Editor/utils/helper.js +53 -9
- package/dist/Editor/utils/insertAppHeader.js +1 -1
- package/dist/Editor/utils/signature.js +2 -9
- package/dist/Editor/utils/updateFormName.js +22 -0
- package/package.json +1 -1
@@ -10,7 +10,7 @@ import { draftToSlate } from "./utils/draftToSlate";
|
|
10
10
|
import useMentions from "./hooks/useMentions";
|
11
11
|
import MentionsPopup from "./common/MentionsPopup";
|
12
12
|
import { RemoteCursorOverlay } from "./RemoteCursorOverlay/Overlay";
|
13
|
-
import { mentionsEvent, commands, indentation, escapeEvent, enterEvent, upDownArrowKeyEvents } from "./utils/events";
|
13
|
+
import { mentionsEvent, commands, indentation, escapeEvent, enterEvent, upDownArrowKeyEvents, handleAccordionOnBackspace } from "./utils/events";
|
14
14
|
import withCommon from "./hooks/withCommon";
|
15
15
|
import DialogWrapper from "./DialogWrapper";
|
16
16
|
import { serializeToText } from "./utils/serializeToText";
|
@@ -174,6 +174,17 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
174
174
|
ReactEditor.focus(editor);
|
175
175
|
}
|
176
176
|
}, [id, content]);
|
177
|
+
useEffect(() => {
|
178
|
+
if (isReadOnly) {
|
179
|
+
const sectionId = window.location.hash.substring(1);
|
180
|
+
const sectionEle = sectionId ? document.getElementById(decodeURIComponent(sectionId)) : null;
|
181
|
+
if (sectionEle) {
|
182
|
+
sectionEle.scrollIntoView({
|
183
|
+
behavior: "smooth"
|
184
|
+
});
|
185
|
+
}
|
186
|
+
}
|
187
|
+
}, []);
|
177
188
|
const debounced = useDebouncedCallback(
|
178
189
|
// function
|
179
190
|
value => {
|
@@ -428,6 +439,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
428
439
|
} else if (event.key === "ArrowDown" && otherProps?.tagName !== "Pages") {
|
429
440
|
upDownArrowKeyEvents(event, editor);
|
430
441
|
} else if (event.key === "Backspace") {
|
442
|
+
// const isAccordion = handleAccordionOnBackspace(event, editor);
|
443
|
+
// if (isAccordion) {
|
444
|
+
// return;
|
445
|
+
// }
|
446
|
+
|
431
447
|
const isNodeRestricted = isRestrictedNode(event, editor);
|
432
448
|
if (isNodeRestricted) {
|
433
449
|
return;
|
package/dist/Editor/Editor.css
CHANGED
@@ -426,6 +426,32 @@ blockquote {
|
|
426
426
|
|
427
427
|
.upload-sign-img-wrapper {
|
428
428
|
text-align: center;
|
429
|
+
position: relative;
|
430
|
+
}
|
431
|
+
|
432
|
+
.upload-sign-img {
|
433
|
+
max-width: 100%;
|
434
|
+
}
|
435
|
+
|
436
|
+
.remove-sign-img-btn {
|
437
|
+
padding: 8px 12px;
|
438
|
+
background-color: #ffffff68;
|
439
|
+
cursor: pointer;
|
440
|
+
width: fit-content;
|
441
|
+
border-radius: 8px;
|
442
|
+
position: absolute;
|
443
|
+
left: 50%;
|
444
|
+
top: 50%;
|
445
|
+
transform: translate(-50%, -50%);
|
446
|
+
display: none;
|
447
|
+
}
|
448
|
+
|
449
|
+
.remove-sign-img-btn:hover {
|
450
|
+
background-color: #ffffffa0;
|
451
|
+
}
|
452
|
+
|
453
|
+
.upload-sign-img-wrapper:hover .remove-sign-img-btn {
|
454
|
+
display: block;
|
429
455
|
}
|
430
456
|
|
431
457
|
.signature-tab img {
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import React, { useState } from "react";
|
2
|
-
import { Transforms } from "slate";
|
1
|
+
import React, { useEffect, useState } from "react";
|
2
|
+
import { Editor, Range, Transforms } from "slate";
|
3
3
|
import { useSelected, useSlateStatic, ReactEditor } from "slate-react";
|
4
4
|
import AccordionBtnPopup from "./AccordionBtnPopup";
|
5
5
|
import { IconButton, Tooltip, Box } from "@mui/material";
|
@@ -8,6 +8,8 @@ import { GridSettingsIcon } from "../../common/iconslist";
|
|
8
8
|
import Icon from "../../common/Icon";
|
9
9
|
import { useEditorContext, useEditorSelection } from "../../hooks/useMouseMove";
|
10
10
|
import useCommonStyle from "../../commonStyle";
|
11
|
+
import { getBorderColor, getTextColor } from "../../helper";
|
12
|
+
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
11
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
12
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
13
15
|
const accordionBtnStyleKeys = {
|
@@ -78,12 +80,34 @@ const Accordion = props => {
|
|
78
80
|
const path = ReactEditor.findPath(editor, element);
|
79
81
|
const {
|
80
82
|
textColor,
|
81
|
-
bgColor
|
83
|
+
bgColor,
|
84
|
+
borderColor
|
82
85
|
} = element;
|
86
|
+
const accordionSummary = element?.children?.find(c => c.type === "accordion-summary");
|
87
|
+
const {
|
88
|
+
textColor: childTextColor,
|
89
|
+
borderRadius,
|
90
|
+
bannerSpacing
|
91
|
+
} = accordionSummary || {};
|
92
|
+
const borderStyle = getBorderColor(borderColor);
|
83
93
|
const {
|
84
94
|
theme
|
85
95
|
} = useEditorContext();
|
86
96
|
const classes = useCommonStyle(theme);
|
97
|
+
useEffect(() => {
|
98
|
+
if (!editor.selection || !children[1]) return;
|
99
|
+
try {
|
100
|
+
const accordionDetailsElement = element.children?.[1];
|
101
|
+
const detailsPath = ReactEditor.findPath(editor, accordionDetailsElement);
|
102
|
+
const detailsRange = Editor.range(editor, detailsPath);
|
103
|
+
const isInside = Range.intersection(detailsRange, editor.selection);
|
104
|
+
if (isInside && !toggle) {
|
105
|
+
setToggle(true);
|
106
|
+
}
|
107
|
+
} catch (e) {
|
108
|
+
console.error(e);
|
109
|
+
}
|
110
|
+
}, [editor.selection, children]);
|
87
111
|
const onToggle = () => {
|
88
112
|
setToggle(!toggle);
|
89
113
|
};
|
@@ -159,17 +183,29 @@ const Accordion = props => {
|
|
159
183
|
const onClose = () => {
|
160
184
|
setOpenSettings(false);
|
161
185
|
};
|
162
|
-
|
186
|
+
const textStyles = getTextColor(childTextColor);
|
187
|
+
const borderRadiusStyles = {
|
188
|
+
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
189
|
+
};
|
190
|
+
const padding = getTRBLBreakPoints(bannerSpacing);
|
191
|
+
return /*#__PURE__*/_jsxs(Box, {
|
163
192
|
className: `accordion-container`,
|
164
193
|
...attributes,
|
165
194
|
style: {
|
166
195
|
position: "relative"
|
167
196
|
},
|
197
|
+
component: "div",
|
198
|
+
sx: {
|
199
|
+
background: bgColor,
|
200
|
+
...borderStyle,
|
201
|
+
borderRadius: borderRadiusStyles,
|
202
|
+
padding,
|
203
|
+
'& span[data-slate-string="true"]': textStyles
|
204
|
+
},
|
168
205
|
children: [/*#__PURE__*/_jsxs("div", {
|
169
|
-
className: "accordion-title"
|
170
|
-
style:
|
171
|
-
|
172
|
-
},
|
206
|
+
className: "accordion-title"
|
207
|
+
// style={{ background: bgColor, ...borderStyle }}
|
208
|
+
,
|
173
209
|
onClick: onToggle,
|
174
210
|
children: [/*#__PURE__*/_jsx(Box, {
|
175
211
|
role: "button",
|
@@ -191,7 +227,8 @@ const Accordion = props => {
|
|
191
227
|
icon: "accordionArrowDown"
|
192
228
|
})
|
193
229
|
}), children[0]]
|
194
|
-
}), /*#__PURE__*/_jsx(
|
230
|
+
}), /*#__PURE__*/_jsx(Box, {
|
231
|
+
component: "div",
|
195
232
|
className: "accordion-content",
|
196
233
|
style: {
|
197
234
|
display: toggle ? "block" : "none"
|
@@ -1,40 +1,17 @@
|
|
1
1
|
import React from "react";
|
2
|
-
import { getBorderColor, getTextColor } from "../../helper";
|
3
2
|
import { Box } from "@mui/material";
|
4
|
-
import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
|
5
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
4
|
const AccordionSummary = props => {
|
7
5
|
const {
|
8
6
|
attributes,
|
9
|
-
children
|
10
|
-
element
|
7
|
+
children
|
11
8
|
} = props;
|
12
|
-
const {
|
13
|
-
textColor,
|
14
|
-
bgColor,
|
15
|
-
borderColor,
|
16
|
-
borderRadius,
|
17
|
-
bannerSpacing
|
18
|
-
} = element;
|
19
|
-
const textStyles = getTextColor(textColor);
|
20
|
-
const borderStyle = getBorderColor(borderColor);
|
21
9
|
return /*#__PURE__*/_jsx(Box, {
|
22
10
|
className: `accordion-summary-container`,
|
23
11
|
...attributes,
|
24
12
|
style: {
|
25
13
|
width: "100%",
|
26
|
-
position: "relative"
|
27
|
-
background: bgColor,
|
28
|
-
...borderStyle
|
29
|
-
},
|
30
|
-
sx: {
|
31
|
-
borderRadius: {
|
32
|
-
...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
|
33
|
-
},
|
34
|
-
padding: {
|
35
|
-
...getTRBLBreakPoints(bannerSpacing)
|
36
|
-
},
|
37
|
-
'& span[data-slate-string="true"]': textStyles
|
14
|
+
position: "relative"
|
38
15
|
},
|
39
16
|
component: "div",
|
40
17
|
children: children
|
@@ -18,7 +18,7 @@ import Typography from "@mui/material/Typography";
|
|
18
18
|
import Button from "@mui/material/Button";
|
19
19
|
import AppHeaderPopup from "./AppHeaderPopup";
|
20
20
|
import { getTRBLBreakPoints, groupByBreakpoint } from "../../helper/theme";
|
21
|
-
import { handleLinkType } from "../../utils/helper";
|
21
|
+
import { handleLinkType, isHavingColor } from "../../utils/helper";
|
22
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
23
23
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
24
24
|
import { createElement as _createElement } from "react";
|
@@ -45,6 +45,8 @@ function AppHeader(props) {
|
|
45
45
|
bgColorHover,
|
46
46
|
textColor,
|
47
47
|
textColorHover,
|
48
|
+
borderColor,
|
49
|
+
borderColorHover,
|
48
50
|
menuStyle,
|
49
51
|
bannerSpacing,
|
50
52
|
fontSize,
|
@@ -149,7 +151,7 @@ function AppHeader(props) {
|
|
149
151
|
}) : appTitle
|
150
152
|
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(List, {
|
151
153
|
children: menus.map((item, i) => {
|
152
|
-
const buttonProps = handleLinkType(item.url, item.linkType, true, item.target === "_blank");
|
154
|
+
const buttonProps = handleLinkType(item.url, item.linkType, true, item.target === "_blank", () => {}, !readOnly, true);
|
153
155
|
const onButtonClick = e => {
|
154
156
|
closeDrawer();
|
155
157
|
setTimeout(() => {
|
@@ -225,6 +227,7 @@ function AppHeader(props) {
|
|
225
227
|
sx: {
|
226
228
|
...elevateStyle,
|
227
229
|
background: bgColor,
|
230
|
+
border: isHavingColor(borderColor) ? `1px solid ${borderColor}` : "none",
|
228
231
|
boxShadow: "none",
|
229
232
|
...appbarSp,
|
230
233
|
zIndex: 999
|
@@ -322,6 +325,7 @@ function AppHeader(props) {
|
|
322
325
|
fontSize: fontSize || "16px",
|
323
326
|
color: textColor || "#FFF",
|
324
327
|
background: bgColor || "none",
|
328
|
+
border: borderColorHover ? `1px solid transparent` : "none",
|
325
329
|
"& .m-settings": {
|
326
330
|
display: "none",
|
327
331
|
position: "absolute",
|
@@ -337,6 +341,7 @@ function AppHeader(props) {
|
|
337
341
|
"&:hover": {
|
338
342
|
color: textColorHover || textColor || "#FFF",
|
339
343
|
background: bgColorHover || bgColor || "none",
|
344
|
+
border: borderColorHover ? `1px solid ${borderColorHover}` : "none",
|
340
345
|
"& .m-settings": {
|
341
346
|
display: "block"
|
342
347
|
}
|
@@ -97,7 +97,7 @@ const EditorButton = props => {
|
|
97
97
|
};
|
98
98
|
const buttonProps = handleLinkType(refURl, linkType, true,
|
99
99
|
// button functionalities have to work on both edit mode and normal mode
|
100
|
-
openInNewTab, handleTrigger, metadata);
|
100
|
+
openInNewTab, handleTrigger, !readOnly, false, metadata);
|
101
101
|
const onMenuClick = val => () => {
|
102
102
|
switch (val) {
|
103
103
|
case "edit":
|
@@ -272,7 +272,7 @@ const EditorButton = props => {
|
|
272
272
|
background: bgColor || "rgb(30, 75, 122)",
|
273
273
|
borderBlockStyle: "solid",
|
274
274
|
borderColor: borderColor || "transparent",
|
275
|
-
borderWidth: borderWidth !== undefined ? borderWidth : borderColor ? "1px" : "0px",
|
275
|
+
borderWidth: borderWidth !== undefined ? borderWidth : borderColor || borderColorHover ? "1px" : "0px",
|
276
276
|
...btnSp,
|
277
277
|
borderStyle: borderStyle || "solid",
|
278
278
|
color: `${textColor || "#FFFFFF"}`,
|