@flozy/editor 5.8.9 → 5.9.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/CommonEditor.js +15 -22
- package/dist/Editor/Editor.css +16 -22
- package/dist/Editor/Elements/AI/PopoverAIInput.js +12 -2
- package/dist/Editor/Elements/Button/EditorButton.js +1 -3
- package/dist/Editor/Elements/DataView/DataView.js +3 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +14 -8
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +1 -5
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +1 -5
- package/dist/Editor/Elements/DataView/Layouts/FilterView.js +19 -23
- package/dist/Editor/Elements/Form/Form.js +0 -1
- package/dist/Editor/Elements/FreeGrid/styles.js +0 -1
- package/dist/Editor/Elements/Grid/GridItem.js +2 -1
- package/dist/Editor/Elements/Link/Link.js +31 -42
- package/dist/Editor/Elements/List/CheckList.js +1 -2
- package/dist/Editor/Elements/Search/SearchAttachment.js +0 -1
- package/dist/Editor/Elements/Search/SearchList.js +1 -8
- package/dist/Editor/Elements/SimpleText/index.js +11 -13
- package/dist/Editor/Elements/SimpleText/style.js +1 -5
- package/dist/Editor/Elements/Table/Table.js +3 -3
- package/dist/Editor/Elements/Table/TableCell.js +9 -14
- package/dist/Editor/Elements/Title/title.js +1 -13
- package/dist/Editor/Elements/Variables/Style.js +2 -28
- package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
- package/dist/Editor/MiniEditor.js +2 -4
- package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +28 -37
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +1 -3
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +1 -3
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +3 -9
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +0 -5
- package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +0 -45
- package/dist/Editor/Toolbar/PopupTool/index.js +31 -30
- package/dist/Editor/common/FontLoader/FontList.js +11 -3
- package/dist/Editor/common/FontLoader/FontLoader.js +11 -28
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +0 -1
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -14
- package/dist/Editor/common/Section/index.js +97 -78
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +0 -4
- package/dist/Editor/common/Uploader.js +0 -8
- package/dist/Editor/common/iconslist.js +2 -1
- package/dist/Editor/commonStyle.js +57 -58
- package/dist/Editor/helper/index.js +2 -2
- package/dist/Editor/helper/theme.js +1 -24
- package/dist/Editor/hooks/useEditorScroll.js +1 -1
- package/dist/Editor/hooks/useMouseMove.js +2 -5
- package/dist/Editor/plugins/withLayout.js +1 -1
- package/dist/Editor/utils/SlateUtilityFunctions.js +4 -15
- package/dist/Editor/utils/button.js +4 -4
- package/dist/Editor/utils/customHooks/useTableResize.js +1 -2
- package/dist/Editor/utils/draftToSlate.js +2 -3
- package/dist/Editor/utils/helper.js +19 -60
- package/dist/Editor/utils/pageSettings.js +2 -14
- package/dist/Editor/utils/table.js +0 -21
- package/package.json +2 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +0 -79
- package/dist/Editor/helper/ensureWrappedVariables.js +0 -28
@@ -26,7 +26,7 @@ import editorStyles from "./Styles/EditorStyles";
|
|
26
26
|
import DragAndDrop from "./common/DnD";
|
27
27
|
import Section from "./common/Section";
|
28
28
|
import decorators from "./utils/Decorators";
|
29
|
-
import {
|
29
|
+
import { getTRBLBreakPoints } from "./helper/theme";
|
30
30
|
import { getInitialValue, handleInsertLastElement, isFreeGrid, isFreeGridFragment, isRestrictedNode, outsideEditorClickLabel } from "./utils/helper";
|
31
31
|
import useWindowResize from "./hooks/useWindowResize";
|
32
32
|
import PopoverAIInput from "./Elements/AI/PopoverAIInput";
|
@@ -54,14 +54,13 @@ const Item = /*#__PURE__*/forwardRef(({
|
|
54
54
|
});
|
55
55
|
});
|
56
56
|
Item.displayName = "Item";
|
57
|
-
const Element =
|
57
|
+
const Element = props => {
|
58
58
|
return /*#__PURE__*/_jsx(Section, {
|
59
59
|
...props,
|
60
60
|
children: getBlock(props)
|
61
61
|
});
|
62
|
-
}
|
63
|
-
|
64
|
-
const Leaf = /*#__PURE__*/React.memo(({
|
62
|
+
};
|
63
|
+
const Leaf = ({
|
65
64
|
attributes,
|
66
65
|
children,
|
67
66
|
leaf
|
@@ -72,13 +71,12 @@ const Leaf = /*#__PURE__*/React.memo(({
|
|
72
71
|
...attributes,
|
73
72
|
children: children
|
74
73
|
});
|
75
|
-
}
|
76
|
-
Leaf.displayName = "Leaf";
|
74
|
+
};
|
77
75
|
const updateTopBanner = (content = [], setTopBanner) => {
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
76
|
+
setTopBanner(() => {
|
77
|
+
const firstNode = content ? content[0] : {};
|
78
|
+
return firstNode?.type === "topbanner" ? firstNode : null;
|
79
|
+
});
|
82
80
|
};
|
83
81
|
const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
84
82
|
const {
|
@@ -98,8 +96,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
98
96
|
const editorWrapper = useRef();
|
99
97
|
const mentionsRef = useRef();
|
100
98
|
const convertedContent = draftToSlate({
|
101
|
-
data: content
|
102
|
-
needLayout: otherProps?.needLayout
|
99
|
+
data: content
|
103
100
|
});
|
104
101
|
const [value, setValue] = useState(convertedContent);
|
105
102
|
const [isInteracted, setIsInteracted] = useState(false);
|
@@ -142,8 +139,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
142
139
|
pageColor,
|
143
140
|
color: pageTextColor,
|
144
141
|
pageWidth,
|
145
|
-
maxWidth: pageMaxWidth
|
146
|
-
lineHeight
|
142
|
+
maxWidth: pageMaxWidth
|
147
143
|
} = pageSt?.pageProps || {
|
148
144
|
bannerSpacing: {
|
149
145
|
left: 0,
|
@@ -170,11 +166,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
170
166
|
const debounced = useDebouncedCallback(
|
171
167
|
// function
|
172
168
|
value => {
|
173
|
-
debouncedValue.current = value;
|
174
169
|
const {
|
175
170
|
value: strVal,
|
176
171
|
...restVal
|
177
172
|
} = getOnSaveData(value);
|
173
|
+
debouncedValue.current = value;
|
178
174
|
onSave(strVal, restVal);
|
179
175
|
},
|
180
176
|
// delay in ms
|
@@ -185,7 +181,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
185
181
|
return {
|
186
182
|
value: JSON.stringify(val),
|
187
183
|
text: text,
|
188
|
-
title: serializeToText(title?.children) || ""
|
184
|
+
title: serializeToText(title?.children) || "Untitled"
|
189
185
|
};
|
190
186
|
};
|
191
187
|
const getPreviewImage = async (needBackground = false, options = {}) => {
|
@@ -315,7 +311,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
315
311
|
updateTopBanner(newValue, setTopBanner);
|
316
312
|
debounced(newValue);
|
317
313
|
if (!isInteracted) {
|
318
|
-
|
314
|
+
setIsInteracted(true);
|
319
315
|
}
|
320
316
|
}
|
321
317
|
};
|
@@ -334,7 +330,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
334
330
|
onDrawerOpen: onDrawerOpen,
|
335
331
|
ICON_API: "https://assets.agenciflow.com"
|
336
332
|
};
|
337
|
-
const lineH = getBreakpointLineSpacing(lineHeight, breakpoint);
|
338
333
|
const renderElement = useCallback(props => {
|
339
334
|
return /*#__PURE__*/_jsx(Element, {
|
340
335
|
...props,
|
@@ -537,7 +532,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
537
532
|
padding: {
|
538
533
|
...getTRBLBreakPoints(bannerSpacing)
|
539
534
|
},
|
540
|
-
lineHeight: lineH,
|
541
535
|
width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
|
542
536
|
height: viewport.h ? `${viewport.h}px` : `100%`,
|
543
537
|
alignSelf: "center",
|
@@ -599,9 +593,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
599
593
|
setIsTextSelected: setIsTextSelected,
|
600
594
|
customProps: customProps,
|
601
595
|
editorWrapper: editorWrapper
|
602
|
-
}) : null, !readOnly ? /*#__PURE__*/_jsx(SwitchViewport, {
|
596
|
+
}) : null, !readOnly && showViewport ? /*#__PURE__*/_jsx(SwitchViewport, {
|
603
597
|
breakpoint: breakpoint,
|
604
|
-
show: showViewport,
|
605
598
|
onChange: b => onSwitchBreakpoint(b)
|
606
599
|
}) : null]
|
607
600
|
})
|
package/dist/Editor/Editor.css
CHANGED
@@ -995,7 +995,7 @@ blockquote {
|
|
995
995
|
|
996
996
|
.sliderInput {
|
997
997
|
width: 66px !important;
|
998
|
-
padding: 2px
|
998
|
+
padding: 2px 10px;
|
999
999
|
margin-left: 18px;
|
1000
1000
|
box-shadow: 0px 4px 16px 0px #0000000d;
|
1001
1001
|
border: 1px solid #6f6f6f33;
|
@@ -1263,19 +1263,6 @@ blockquote {
|
|
1263
1263
|
pointer-events: auto;
|
1264
1264
|
}
|
1265
1265
|
|
1266
|
-
@media (max-width: 899px) {
|
1267
|
-
.MuiPopover-root {
|
1268
|
-
z-index: 1302 !important;
|
1269
|
-
}
|
1270
|
-
canvas {
|
1271
|
-
max-width: 100% !important;
|
1272
|
-
}
|
1273
|
-
}
|
1274
|
-
|
1275
|
-
.settingsHeader {
|
1276
|
-
font-size: 14px !important;
|
1277
|
-
font-weight: 500 !important;
|
1278
|
-
}
|
1279
1266
|
.hideScroll {
|
1280
1267
|
overflow-anchor: none;
|
1281
1268
|
}
|
@@ -1291,6 +1278,20 @@ blockquote {
|
|
1291
1278
|
.hideScroll::-webkit-scrollbar-thumb:hover {
|
1292
1279
|
background: none !important;
|
1293
1280
|
}
|
1281
|
+
@media (max-width: 899px) {
|
1282
|
+
.MuiPopover-root {
|
1283
|
+
z-index: 1302 !important;
|
1284
|
+
}
|
1285
|
+
|
1286
|
+
canvas {
|
1287
|
+
max-width: 100% !important;
|
1288
|
+
}
|
1289
|
+
}
|
1290
|
+
|
1291
|
+
.settingsHeader {
|
1292
|
+
font-size: 14px !important;
|
1293
|
+
font-weight: 500 !important;
|
1294
|
+
}
|
1294
1295
|
|
1295
1296
|
.custom-scroll::-webkit-scrollbar {
|
1296
1297
|
height: .6rem;
|
@@ -1337,11 +1338,4 @@ code.markcode {
|
|
1337
1338
|
display: block;
|
1338
1339
|
background-color: #f3f3f3;
|
1339
1340
|
font-family: 'Source Code Pro' !important;
|
1340
|
-
}
|
1341
|
-
|
1342
|
-
/* Hide the popper when the reference is hidden */
|
1343
|
-
.hide-popper-on-overlap[data-popper-escaped],
|
1344
|
-
.hide-popper-on-overlap[data-popper-reference-hidden] {
|
1345
|
-
visibility: hidden;
|
1346
|
-
pointer-events: none;
|
1347
|
-
}
|
1341
|
+
}
|
@@ -6,7 +6,7 @@ import AIInput from "./AIInput";
|
|
6
6
|
import { ReactEditor, useSlate } from "slate-react";
|
7
7
|
import { Node, Range, Transforms } from "slate";
|
8
8
|
import { MODES } from "./helper";
|
9
|
-
import { getSelectedText, getSlateDom
|
9
|
+
import { getSelectedText, getSlateDom } from "../../utils/helper";
|
10
10
|
import { VoiceToText } from "./VoiceToText";
|
11
11
|
import deserialize from "../../helper/deserialize";
|
12
12
|
import useEditorScroll from "../../hooks/useEditorScroll";
|
@@ -286,7 +286,17 @@ function PopoverAIInput({
|
|
286
286
|
};
|
287
287
|
useEffect(() => {
|
288
288
|
if (openAI && getSelectedText(editor).trim()) {
|
289
|
-
|
289
|
+
const customSelection = document.querySelectorAll(".slate-highlight");
|
290
|
+
const selectionBg = "rgba(35, 131, 226, 0.35)";
|
291
|
+
if (customSelection?.length) {
|
292
|
+
customSelection?.forEach(el => el.style.background = selectionBg);
|
293
|
+
|
294
|
+
// if ai is opened, remove the window selection class and open then slate selection, To resolve: focussing on the ai input removes window selection automatically
|
295
|
+
const selection = window.getSelection();
|
296
|
+
if (selection) {
|
297
|
+
selection.removeAllRanges(); // Clears the selection
|
298
|
+
}
|
299
|
+
}
|
290
300
|
}
|
291
301
|
}, [editor.selection, openAI]);
|
292
302
|
return /*#__PURE__*/_jsxs("div", {
|
@@ -162,7 +162,6 @@ const EditorButton = props => {
|
|
162
162
|
display: "inline-flex",
|
163
163
|
color: "rgba(0, 0, 0, 0.54)",
|
164
164
|
marginBottom: "0px !important",
|
165
|
-
...classes.buttonMoreOption,
|
166
165
|
...classes.buttonMoreOption3
|
167
166
|
},
|
168
167
|
...btnProps,
|
@@ -265,12 +264,11 @@ const EditorButton = props => {
|
|
265
264
|
...btnSp,
|
266
265
|
borderStyle: borderStyle || "solid",
|
267
266
|
color: `${textColor || "#FFFFFF"}`,
|
268
|
-
fontSize: textSize || "
|
267
|
+
fontSize: textSize || "inherit",
|
269
268
|
fontFamily: fontFamily || "PoppinsRegular",
|
270
269
|
display: "inline-flex",
|
271
270
|
alignItems: "center",
|
272
271
|
position: "relative",
|
273
|
-
lineHeight: 1.43,
|
274
272
|
"& .element-toolbar": {
|
275
273
|
display: "none"
|
276
274
|
},
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Node, Path, Transforms } from "slate";
|
3
|
-
import { ReactEditor,
|
3
|
+
import { ReactEditor, useSlateStatic } from "slate-react";
|
4
4
|
import { Box, useTheme } from "@mui/material";
|
5
5
|
import { DataViewProvider } from "./Providers/DataViewProvider";
|
6
6
|
import useDataViewStyles from "./styles";
|
@@ -15,7 +15,7 @@ const DataView = props => {
|
|
15
15
|
theme: appTheme
|
16
16
|
} = useEditorContext();
|
17
17
|
const theme = useTheme();
|
18
|
-
const editor =
|
18
|
+
const editor = useSlateStatic();
|
19
19
|
const {
|
20
20
|
attributes,
|
21
21
|
children,
|
@@ -113,8 +113,7 @@ const DataView = props => {
|
|
113
113
|
onDuplicate: onDuplicate,
|
114
114
|
readOnly: readOnly,
|
115
115
|
title: title,
|
116
|
-
onTitleChange: onTitleChange
|
117
|
-
path: path
|
116
|
+
onTitleChange: onTitleChange
|
118
117
|
}), /*#__PURE__*/_jsx(LayoutView, {
|
119
118
|
readOnly: readOnly,
|
120
119
|
children: children
|
@@ -104,9 +104,9 @@ export default function Select(props) {
|
|
104
104
|
return /*#__PURE__*/_jsx(Box, {
|
105
105
|
className: "tv-ms-tag-wrpr",
|
106
106
|
sx: {
|
107
|
-
|
108
|
-
marginRight:
|
109
|
-
|
107
|
+
"& svg": {
|
108
|
+
marginRight: "5px",
|
109
|
+
"& path": {
|
110
110
|
stroke: "#000"
|
111
111
|
}
|
112
112
|
}
|
@@ -125,15 +125,21 @@ export default function Select(props) {
|
|
125
125
|
sx: {
|
126
126
|
background: option?.color || appTheme?.palette?.editor?.tv_border1,
|
127
127
|
border: "none",
|
128
|
-
|
129
|
-
paddingLeft:
|
128
|
+
"& .MuiChip-label": {
|
129
|
+
paddingLeft: "12px !important",
|
130
|
+
paddingRight: disabled ? "12px !important" : ""
|
130
131
|
}
|
131
132
|
},
|
132
133
|
avatar: /*#__PURE__*/_jsx(AvatarIcon, {
|
133
134
|
option: option,
|
134
135
|
avatar: optionAvatar
|
135
136
|
}),
|
136
|
-
deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {
|
137
|
+
deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {
|
138
|
+
style: {
|
139
|
+
cursor: "pointer",
|
140
|
+
display: disabled ? "none" : ""
|
141
|
+
}
|
142
|
+
})
|
137
143
|
}, key) : null;
|
138
144
|
})
|
139
145
|
});
|
@@ -149,8 +155,8 @@ export default function Select(props) {
|
|
149
155
|
label: option.label || option.value || "",
|
150
156
|
sx: {
|
151
157
|
background: option.color || appTheme?.palette?.editor?.tv_border1,
|
152
|
-
|
153
|
-
paddingLeft:
|
158
|
+
"& .MuiChip-label": {
|
159
|
+
paddingLeft: "12px !important"
|
154
160
|
}
|
155
161
|
},
|
156
162
|
avatar: /*#__PURE__*/_jsx(AvatarIcon, {
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { TextField } from "@mui/material";
|
3
3
|
import { useDataView } from "../../Providers/DataViewProvider";
|
4
|
-
import { focusDynamicTableInput } from "../../../../utils/helper";
|
5
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
5
|
const NumberType = props => {
|
7
6
|
const {
|
@@ -17,7 +16,6 @@ const NumberType = props => {
|
|
17
16
|
onChange(rowIndex, {
|
18
17
|
[property]: e?.target?.value
|
19
18
|
});
|
20
|
-
focusDynamicTableInput(e);
|
21
19
|
};
|
22
20
|
return /*#__PURE__*/_jsx(TextField, {
|
23
21
|
type: "number",
|
@@ -26,9 +24,7 @@ const NumberType = props => {
|
|
26
24
|
value: value,
|
27
25
|
size: "small",
|
28
26
|
onChange: handleChange,
|
29
|
-
disabled: readOnly
|
30
|
-
id: `tv-number-input-${rowIndex}-${property}` // * should be unique
|
27
|
+
disabled: readOnly
|
31
28
|
});
|
32
29
|
};
|
33
|
-
|
34
30
|
export default NumberType;
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { TextField } from "@mui/material";
|
3
3
|
import { useDataView } from "../../Providers/DataViewProvider";
|
4
|
-
import { focusDynamicTableInput } from "../../../../utils/helper";
|
5
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
6
5
|
const TextType = props => {
|
7
6
|
const {
|
@@ -17,7 +16,6 @@ const TextType = props => {
|
|
17
16
|
onChange(rowIndex, {
|
18
17
|
[property]: e?.target?.value
|
19
18
|
});
|
20
|
-
focusDynamicTableInput(e);
|
21
19
|
};
|
22
20
|
const formatValue = () => {
|
23
21
|
if (typeof value === "string") {
|
@@ -32,9 +30,7 @@ const TextType = props => {
|
|
32
30
|
value: formatValue(value),
|
33
31
|
size: "small",
|
34
32
|
onChange: handleChange,
|
35
|
-
disabled: readOnly
|
36
|
-
id: `tv-text-input-${rowIndex}-${property}` // * should be unique
|
33
|
+
disabled: readOnly
|
37
34
|
});
|
38
35
|
};
|
39
|
-
|
40
36
|
export default TextType;
|
@@ -5,7 +5,6 @@ import FilterSort from "./FilterSort";
|
|
5
5
|
import MoreHorizIcon from "@mui/icons-material/MoreHoriz";
|
6
6
|
import Icon from "../../../common/Icon";
|
7
7
|
import { useEditorContext } from "../../../hooks/useMouseMove";
|
8
|
-
import { focusDynamicTableInput } from "../../../utils/helper";
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
10
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
11
10
|
const FilterView = props => {
|
@@ -16,8 +15,7 @@ const FilterView = props => {
|
|
16
15
|
onEnter,
|
17
16
|
readOnly,
|
18
17
|
title,
|
19
|
-
onTitleChange
|
20
|
-
path
|
18
|
+
onTitleChange
|
21
19
|
} = props;
|
22
20
|
const {
|
23
21
|
sort,
|
@@ -72,7 +70,6 @@ const FilterView = props => {
|
|
72
70
|
};
|
73
71
|
const handleTitleChange = e => {
|
74
72
|
onTitleChange(e?.target?.value);
|
75
|
-
focusDynamicTableInput(e);
|
76
73
|
};
|
77
74
|
const handleEnter = e => {
|
78
75
|
if (e?.key === "Enter") {
|
@@ -99,25 +96,24 @@ const FilterView = props => {
|
|
99
96
|
},
|
100
97
|
value: title,
|
101
98
|
onChange: handleTitleChange,
|
102
|
-
onKeyUp: handleEnter
|
103
|
-
id: `tv-title-input-${path.join("|")}`
|
99
|
+
onKeyUp: handleEnter
|
104
100
|
}) : title || "Untitled"
|
105
101
|
}), /*#__PURE__*/_jsxs(Box, {
|
106
102
|
className: "tv-fi-wrpr",
|
107
103
|
sx: {
|
108
|
-
alignItems:
|
104
|
+
alignItems: 'center'
|
109
105
|
},
|
110
106
|
children: [/*#__PURE__*/_jsxs(Box, {
|
111
107
|
className: `tv-sb mr ${toggle ? "open" : ""}`,
|
112
108
|
sx: {
|
113
|
-
minHeight:
|
109
|
+
minHeight: '32px'
|
114
110
|
},
|
115
111
|
children: [/*#__PURE__*/_jsx(IconButton, {
|
116
112
|
type: "button",
|
117
113
|
sx: {
|
118
|
-
|
119
|
-
width:
|
120
|
-
height:
|
114
|
+
'& svg': {
|
115
|
+
width: '14px',
|
116
|
+
height: '14px'
|
121
117
|
}
|
122
118
|
},
|
123
119
|
"aria-label": "search",
|
@@ -141,12 +137,12 @@ const FilterView = props => {
|
|
141
137
|
className: ` ${sort?.length > 0 ? "active" : ""}`,
|
142
138
|
onClick: handleSortClick,
|
143
139
|
sx: {
|
144
|
-
|
140
|
+
'& svg': {
|
145
141
|
strokeWidth: 1.2
|
146
142
|
}
|
147
143
|
},
|
148
144
|
children: /*#__PURE__*/_jsx(Icon, {
|
149
|
-
icon:
|
145
|
+
icon: 'sortBy'
|
150
146
|
})
|
151
147
|
}), /*#__PURE__*/_jsx(FilterSort, {
|
152
148
|
open: open,
|
@@ -156,7 +152,7 @@ const FilterView = props => {
|
|
156
152
|
}), !readOnly ? /*#__PURE__*/_jsx(IconButton, {
|
157
153
|
className: "mr",
|
158
154
|
sx: {
|
159
|
-
|
155
|
+
'& svg': {
|
160
156
|
fill: theme?.palette?.editor?.tv_stroke
|
161
157
|
}
|
162
158
|
},
|
@@ -166,7 +162,7 @@ const FilterView = props => {
|
|
166
162
|
className: "mr",
|
167
163
|
onClick: handleDeleteRow,
|
168
164
|
children: /*#__PURE__*/_jsx(Icon, {
|
169
|
-
icon:
|
165
|
+
icon: 'trashIcon'
|
170
166
|
})
|
171
167
|
}) : null, !readOnly ? /*#__PURE__*/_jsxs(Menu, {
|
172
168
|
sx: classes.basicMenu,
|
@@ -189,24 +185,24 @@ const FilterView = props => {
|
|
189
185
|
onClick: onMenuClick("Duplicate"),
|
190
186
|
children: [" ", /*#__PURE__*/_jsx(Box, {
|
191
187
|
sx: {
|
192
|
-
marginRight:
|
193
|
-
display:
|
194
|
-
alignItems:
|
188
|
+
marginRight: '5px',
|
189
|
+
display: ' flex',
|
190
|
+
alignItems: 'center'
|
195
191
|
},
|
196
192
|
children: /*#__PURE__*/_jsx(Icon, {
|
197
|
-
icon:
|
193
|
+
icon: 'duplicateIcon'
|
198
194
|
})
|
199
195
|
}), "Duplicate"]
|
200
196
|
}), /*#__PURE__*/_jsxs(MenuItem, {
|
201
197
|
onClick: onMenuClick("Delete"),
|
202
198
|
children: [" ", /*#__PURE__*/_jsx(Box, {
|
203
199
|
sx: {
|
204
|
-
marginRight:
|
205
|
-
display:
|
206
|
-
alignItems:
|
200
|
+
marginRight: '5px',
|
201
|
+
display: ' flex',
|
202
|
+
alignItems: 'center'
|
207
203
|
},
|
208
204
|
children: /*#__PURE__*/_jsx(Icon, {
|
209
|
-
icon:
|
205
|
+
icon: 'trashIcon'
|
210
206
|
})
|
211
207
|
}), "Delete"]
|
212
208
|
})]
|
@@ -50,7 +50,8 @@ const GridItemToolbar = props => {
|
|
50
50
|
open: true,
|
51
51
|
placement: "top-end",
|
52
52
|
sx: classes.popTools,
|
53
|
-
className: "gi-tool-pp
|
53
|
+
className: "gi-tool-pp",
|
54
|
+
disablePortal: true,
|
54
55
|
contentEditable: false,
|
55
56
|
children: /*#__PURE__*/_jsxs(Box, {
|
56
57
|
className: "ico-grp-ss",
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import React, {
|
1
|
+
import React, { useState } from "react";
|
2
2
|
import { Node, Transforms } from "slate";
|
3
3
|
import { ReactEditor, useFocused, useSelected, useSlateStatic } from "slate-react";
|
4
|
-
import { Box, IconButton,
|
4
|
+
import { Box, IconButton, Tooltip } from "@mui/material";
|
5
5
|
import OpenInNewIcon from "@mui/icons-material/OpenInNew";
|
6
6
|
import EditIcon from "@mui/icons-material/Edit";
|
7
7
|
import LinkOffIcon from "@mui/icons-material/LinkOff";
|
@@ -53,7 +53,6 @@ const Link = props => {
|
|
53
53
|
const showInNewTab = element?.showInNewTab || element?.target;
|
54
54
|
const linkType = element?.linkType;
|
55
55
|
const classes = linkStyles();
|
56
|
-
const linkRef = useRef(null);
|
57
56
|
const updateLink = data => {
|
58
57
|
Transforms.setNodes(editor, data, {
|
59
58
|
at: path
|
@@ -82,53 +81,43 @@ const Link = props => {
|
|
82
81
|
const btnProps = handleLinkType(urlPath, linkType, true, showInNewTab === "_blank");
|
83
82
|
const navType = getLinkType(linkType, urlPath);
|
84
83
|
const hideOpenLink = navType === "page" || !navType;
|
85
|
-
return selected && focused ? /*#__PURE__*/
|
86
|
-
|
87
|
-
open: true,
|
88
|
-
placement: "top-start",
|
89
|
-
className: "hide-popper-on-overlap",
|
84
|
+
return selected && focused ? /*#__PURE__*/_jsxs("div", {
|
85
|
+
className: "element-toolbar hr",
|
90
86
|
contentEditable: false,
|
91
87
|
style: {
|
92
|
-
|
88
|
+
width: "150px",
|
89
|
+
top: "100%",
|
90
|
+
left: "0px",
|
91
|
+
display: "flex"
|
93
92
|
},
|
94
|
-
children: /*#__PURE__*/
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
children: /*#__PURE__*/_jsx(
|
115
|
-
|
116
|
-
|
117
|
-
})
|
118
|
-
}), /*#__PURE__*/_jsx(Tooltip, {
|
119
|
-
title: "Remove",
|
120
|
-
children: /*#__PURE__*/_jsx(IconButton, {
|
121
|
-
onClick: () => removeLink(editor),
|
122
|
-
children: /*#__PURE__*/_jsx(LinkOffIcon, {})
|
123
|
-
})
|
124
|
-
})]
|
125
|
-
})
|
93
|
+
children: [hideOpenLink ? null : /*#__PURE__*/_jsx(Tooltip, {
|
94
|
+
title: "Open",
|
95
|
+
children: /*#__PURE__*/_jsx(Box, {
|
96
|
+
sx: {
|
97
|
+
display: "inline-flex",
|
98
|
+
color: "rgba(0, 0, 0, 0.54)"
|
99
|
+
},
|
100
|
+
...btnProps,
|
101
|
+
children: /*#__PURE__*/_jsx(OpenInNewIcon, {})
|
102
|
+
})
|
103
|
+
}), /*#__PURE__*/_jsx(Tooltip, {
|
104
|
+
title: "Edit",
|
105
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
106
|
+
onClick: onEditLink,
|
107
|
+
children: /*#__PURE__*/_jsx(EditIcon, {})
|
108
|
+
})
|
109
|
+
}), /*#__PURE__*/_jsx(Tooltip, {
|
110
|
+
title: "Remove",
|
111
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
112
|
+
onClick: () => removeLink(editor),
|
113
|
+
children: /*#__PURE__*/_jsx(LinkOffIcon, {})
|
114
|
+
})
|
115
|
+
})]
|
126
116
|
}) : null;
|
127
117
|
};
|
128
118
|
const buttonProps = handleLinkType(urlPath, linkType, readOnly, showInNewTab === "_blank");
|
129
119
|
return /*#__PURE__*/_jsxs("div", {
|
130
120
|
className: "link",
|
131
|
-
ref: linkRef,
|
132
121
|
children: [/*#__PURE__*/_jsx(Box, {
|
133
122
|
...attributes,
|
134
123
|
...element.attr,
|
@@ -49,7 +49,6 @@ const SearchAttachment = props => {
|
|
49
49
|
background: `${theme?.palette?.containers?.slashBrainCardBg} !important`,
|
50
50
|
cursor: 'pointer',
|
51
51
|
margin: '4px 0px',
|
52
|
-
lineHeight: 1.43,
|
53
52
|
"&.MuiPaper-root.MuiPaper-rounded": {
|
54
53
|
borderRadius: "7px !important",
|
55
54
|
paddingTop: '0px !important'
|
@@ -185,9 +185,6 @@ const SearchAndDocList = ({
|
|
185
185
|
gap: 1,
|
186
186
|
children: [/*#__PURE__*/_jsx(Grid, {
|
187
187
|
item: true,
|
188
|
-
sx: {
|
189
|
-
maxWidth: 'calc(100% - 45px)'
|
190
|
-
},
|
191
188
|
children: /*#__PURE__*/_jsxs(Grid, {
|
192
189
|
container: true,
|
193
190
|
alignItems: "center",
|
@@ -210,9 +207,6 @@ const SearchAndDocList = ({
|
|
210
207
|
})
|
211
208
|
}), /*#__PURE__*/_jsx(Grid, {
|
212
209
|
item: true,
|
213
|
-
sx: {
|
214
|
-
maxWidth: '100%'
|
215
|
-
},
|
216
210
|
children: /*#__PURE__*/_jsx(Typography, {
|
217
211
|
sx: {
|
218
212
|
fontSize: "12px",
|
@@ -225,8 +219,7 @@ const SearchAndDocList = ({
|
|
225
219
|
maxWidth: '230px',
|
226
220
|
textAlign: 'left',
|
227
221
|
'@media only screen and (min-width: 350px) and (max-width: 899px)': {
|
228
|
-
maxWidth: '100%'
|
229
|
-
width: '100%'
|
222
|
+
maxWidth: '100%'
|
230
223
|
}
|
231
224
|
},
|
232
225
|
children: title
|