@flozy/editor 11.1.0 → 11.1.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/ChatEditor.js +6 -6
- package/dist/Editor/CommonEditor.js +21 -82
- package/dist/Editor/DialogWrapper.js +25 -31
- package/dist/Editor/Editor.css +4 -37
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Attachments/Attachments.js +11 -153
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +3 -8
- package/dist/Editor/Elements/Button/EditorButton.js +7 -22
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -61
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
- package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +55 -134
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +8 -7
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +3 -8
- package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
- package/dist/Editor/Elements/Embed/Embed.css +0 -5
- package/dist/Editor/Elements/Embed/Embed.js +43 -37
- package/dist/Editor/Elements/Embed/Image.js +22 -242
- package/dist/Editor/Elements/Embed/Video.js +32 -277
- package/dist/Editor/Elements/Form/Form.js +35 -10
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
- package/dist/Editor/Elements/Form/Workflow/constant.js +1 -25
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +75 -34
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +5 -9
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -3
- package/dist/Editor/Elements/FreeGrid/styles.js +0 -15
- package/dist/Editor/Elements/Grid/GridItem.js +1 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -2
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +3 -2
- package/dist/Editor/Elements/Signature/SignaturePopup.js +13 -2
- package/dist/Editor/Elements/SimpleText/index.js +1 -4
- package/dist/Editor/Elements/Table/Table.js +1 -2
- package/dist/Editor/Elements/Table/TableCell.js +3 -10
- package/dist/Editor/Elements/Title/title.js +5 -4
- package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -4
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +3 -5
- package/dist/Editor/Styles/EditorStyles.js +5 -16
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +29 -33
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +1 -3
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +23 -25
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +5 -15
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +7 -65
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +12 -66
- package/dist/Editor/Toolbar/PopupTool/index.js +4 -6
- package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
- package/dist/Editor/common/ColorPickerButton.js +19 -38
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +0 -1
- package/dist/Editor/common/Icon.js +0 -28
- package/dist/Editor/common/ImageSelector/ImageSelector.js +7 -45
- package/dist/Editor/common/ImageSelector/Options/Upload.js +11 -26
- package/dist/Editor/common/ImageSelector/Styles.js +9 -3
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +7 -20
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +0 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +7 -20
- package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +11 -28
- package/dist/Editor/common/RnD/Utils/index.js +1 -3
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +63 -52
- package/dist/Editor/common/RnD/VirtualElement/helper.js +68 -248
- package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -22
- package/dist/Editor/common/RnD/index.js +14 -61
- package/dist/Editor/common/Shorthands/elements.js +0 -54
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -4
- package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +2 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -36
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +0 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
- package/dist/Editor/common/StyleBuilder/formStyle.js +13 -19
- package/dist/Editor/common/StyleBuilder/index.js +4 -8
- package/dist/Editor/common/Uploader.js +17 -118
- package/dist/Editor/common/iconslist.js +0 -21
- package/dist/Editor/commonStyle.js +3 -37
- package/dist/Editor/helper/index.js +1 -4
- package/dist/Editor/helper/theme.js +2 -203
- package/dist/Editor/hooks/useMouseMove.js +3 -12
- package/dist/Editor/hooks/useTable.js +1 -62
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +3 -56
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/service/fileupload.js +0 -70
- package/dist/Editor/theme/ThemeList.js +173 -50
- package/dist/Editor/utils/SlateUtilityFunctions.js +38 -162
- package/dist/Editor/utils/button.js +17 -1
- package/dist/Editor/utils/font.js +37 -40
- package/dist/Editor/utils/helper.js +3 -76
- package/dist/Editor/utils/insertAppHeader.js +4 -8
- package/package.json +1 -1
- package/dist/Editor/Elements/Attachments/AttachmentStyles.js +0 -16
- package/dist/Editor/Elements/FreeGrid/helper.js +0 -194
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -439
- package/dist/Editor/assets/svg/BackIcon.js +0 -18
- package/dist/Editor/assets/svg/ThemeIcons.js +0 -293
- package/dist/Editor/common/CustomColorPicker/index.js +0 -130
- package/dist/Editor/common/CustomColorPicker/style.js +0 -53
- package/dist/Editor/common/CustomDialog2/index.js +0 -94
- package/dist/Editor/common/CustomDialog2/style.js +0 -67
- package/dist/Editor/common/CustomSelect.js +0 -43
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
- package/dist/Editor/common/UploaderWithProgress.js +0 -183
- package/dist/Editor/hooks/useEditorTheme.js +0 -153
- package/dist/Editor/hooks/useThemeValues.js +0 -63
- package/dist/Editor/theme/index.js +0 -149
- package/dist/Editor/themeSettings/ActiveTheme.js +0 -82
- package/dist/Editor/themeSettings/buttons/index.js +0 -300
- package/dist/Editor/themeSettings/buttons/style.js +0 -23
- package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
- package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
- package/dist/Editor/themeSettings/fonts/index.js +0 -240
- package/dist/Editor/themeSettings/fonts/style.js +0 -62
- package/dist/Editor/themeSettings/icons.js +0 -60
- package/dist/Editor/themeSettings/index.js +0 -380
- package/dist/Editor/themeSettings/style.js +0 -299
- package/dist/Editor/themeSettingsAI/icons.js +0 -96
- package/dist/Editor/themeSettingsAI/index.js +0 -355
- package/dist/Editor/themeSettingsAI/saveTheme.js +0 -202
- package/dist/Editor/themeSettingsAI/style.js +0 -332
@@ -1,15 +1,9 @@
|
|
1
1
|
import React, { useState, useEffect, useRef } from "react";
|
2
2
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
3
3
|
import { Node, Transforms } from "slate";
|
4
|
-
import IconButton from "@mui/material
|
5
|
-
import Tooltip from "@mui/material/Tooltip";
|
6
|
-
import Box from "@mui/material/Box";
|
7
|
-
import useTheme from "@mui/material/styles/useTheme";
|
8
|
-
import Grid from "@mui/material/Grid";
|
9
|
-
import CircularProgress from "@mui/material/CircularProgress";
|
4
|
+
import { IconButton, Tooltip, Box, useTheme } from "@mui/material";
|
10
5
|
import DeleteIcon from "@mui/icons-material/Delete";
|
11
6
|
import AspectRatioIcon from "@mui/icons-material/AspectRatio";
|
12
|
-
import HighlightOffRoundedIcon from "@mui/icons-material/HighlightOffRounded";
|
13
7
|
import Icon from "../../common/Icon";
|
14
8
|
import useResize from "../../utils/customHooks/useResize";
|
15
9
|
import EmbedPopup from "./EmbedPopup";
|
@@ -19,19 +13,13 @@ import { getEmbedURL } from "../../helper";
|
|
19
13
|
import { getBreakPointsValue, getTRBLBreakPoints, groupByBreakpoint } from "../../helper/theme";
|
20
14
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
21
15
|
import useCommonStyle from "../../commonStyle";
|
22
|
-
import ImageSelector from "../../common/ImageSelector/ImageSelector";
|
23
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
24
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
25
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
26
18
|
const TYPE_LABELS = {
|
27
19
|
calendly: "Embed Calendly or Other",
|
28
20
|
video: "Embed Video or Other",
|
29
21
|
image: "Embed Image or Other"
|
30
22
|
};
|
31
|
-
const detectUrlType = url => {
|
32
|
-
if (typeof url !== "string") return "iframe";
|
33
|
-
return /\.(mp4|webm|ogg|mov|avi|mkv|flv|wmv)$/i.test(url.trim()) ? "video" : "iframe";
|
34
|
-
};
|
35
23
|
const VideoContent = props => {
|
36
24
|
const {
|
37
25
|
resizing,
|
@@ -44,26 +32,12 @@ const VideoContent = props => {
|
|
44
32
|
videoSX
|
45
33
|
} = props;
|
46
34
|
const iframeRef = useRef(null);
|
47
|
-
const mediaType = detectUrlType(embedURL);
|
48
35
|
useEffect(() => {
|
49
36
|
if (iframeRef.current) {
|
50
37
|
iframeRef.current.src = "about:blank"; // reloading the iframe
|
51
38
|
iframeRef.current.src = embedURL;
|
52
39
|
}
|
53
40
|
}, [embedURL, iframeRef.current]);
|
54
|
-
const commonSx = {
|
55
|
-
border: "none",
|
56
|
-
position: "absolute",
|
57
|
-
width: "100%",
|
58
|
-
height: "100%",
|
59
|
-
maxWidth: "100%",
|
60
|
-
left: 0,
|
61
|
-
...(gradientBorder(borderColor) || {}),
|
62
|
-
borderWidth: borderWidth || "1px",
|
63
|
-
borderStyle: borderStyle || "solid",
|
64
|
-
background: bgColor || "transparent",
|
65
|
-
...videoSX
|
66
|
-
};
|
67
41
|
return resizing ? /*#__PURE__*/_jsx("div", {
|
68
42
|
style: {
|
69
43
|
width: "100%",
|
@@ -77,14 +51,24 @@ const VideoContent = props => {
|
|
77
51
|
icon: "videoPlayer"
|
78
52
|
})
|
79
53
|
}) : /*#__PURE__*/_jsx(Box, {
|
80
|
-
|
81
|
-
|
82
|
-
src: embedURL,
|
83
|
-
controls: mediaType === "video",
|
84
|
-
allowFullScreen: mediaType === "iframe",
|
54
|
+
ref: iframeRef,
|
55
|
+
component: "iframe",
|
85
56
|
className: "embedd-iframe",
|
86
|
-
sx:
|
87
|
-
|
57
|
+
sx: {
|
58
|
+
border: "none",
|
59
|
+
position: "absolute",
|
60
|
+
width: "100%",
|
61
|
+
height: "100%",
|
62
|
+
maxWidth: "100%",
|
63
|
+
left: "0px",
|
64
|
+
...(gradientBorder(borderColor) || {}),
|
65
|
+
borderWidth: borderWidth || "1px",
|
66
|
+
borderStyle: borderStyle || "solid",
|
67
|
+
background: bgColor || "transparent",
|
68
|
+
...videoSX
|
69
|
+
},
|
70
|
+
title: alt,
|
71
|
+
allowFullScreen: true
|
88
72
|
});
|
89
73
|
};
|
90
74
|
const VideoPlaceholder = props => {
|
@@ -94,104 +78,18 @@ const VideoPlaceholder = props => {
|
|
94
78
|
onSettings,
|
95
79
|
classes,
|
96
80
|
type,
|
97
|
-
translation
|
98
|
-
uploadStatus,
|
99
|
-
setUploadStatus,
|
100
|
-
uploadTerminator,
|
101
|
-
uniqueId,
|
102
|
-
editor,
|
103
|
-
path,
|
104
|
-
embedURL
|
81
|
+
translation
|
105
82
|
} = props;
|
106
|
-
|
107
|
-
e.stopPropagation();
|
108
|
-
uploadTerminator(uniqueId, setUploadStatus);
|
109
|
-
Transforms.setNodes(editor, {
|
110
|
-
isUpload: false,
|
111
|
-
isUploading: false,
|
112
|
-
file: null
|
113
|
-
}, {
|
114
|
-
at: path
|
115
|
-
});
|
116
|
-
};
|
117
|
-
return !url ? !readOnly ? /*#__PURE__*/_jsx(Box, {
|
83
|
+
return !url ? !readOnly ? /*#__PURE__*/_jsxs(Box, {
|
118
84
|
component: "button",
|
119
85
|
className: "element-empty-btn",
|
120
|
-
onClick:
|
86
|
+
onClick: onSettings,
|
121
87
|
sx: {
|
122
88
|
...classes.emptyThumbBtn
|
123
89
|
},
|
124
|
-
children:
|
125
|
-
|
126
|
-
|
127
|
-
style: {
|
128
|
-
display: "flex",
|
129
|
-
justifyContent: "space-between"
|
130
|
-
},
|
131
|
-
children: [/*#__PURE__*/_jsx(Grid, {
|
132
|
-
style: {
|
133
|
-
width: "80%"
|
134
|
-
},
|
135
|
-
children: /*#__PURE__*/_jsxs(Grid, {
|
136
|
-
container: true,
|
137
|
-
direction: "row",
|
138
|
-
sx: {
|
139
|
-
justifyContent: "flex-start",
|
140
|
-
alignItems: "center"
|
141
|
-
// gap: 1,
|
142
|
-
},
|
143
|
-
children: [/*#__PURE__*/_jsx(Grid, {
|
144
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
145
|
-
icon: "image"
|
146
|
-
})
|
147
|
-
}), /*#__PURE__*/_jsx(Grid, {
|
148
|
-
style: {
|
149
|
-
width: "80%"
|
150
|
-
},
|
151
|
-
children: /*#__PURE__*/_jsxs(Box, {
|
152
|
-
display: "flex",
|
153
|
-
flexDirection: "column",
|
154
|
-
alignItems: "flex-start",
|
155
|
-
justifyContent: "flex-start",
|
156
|
-
children: [/*#__PURE__*/_jsx(Box, {
|
157
|
-
className: "truncateText",
|
158
|
-
children: uploadStatus?.fileName
|
159
|
-
}), /*#__PURE__*/_jsxs(Box, {
|
160
|
-
display: "flex",
|
161
|
-
alignItems: "center",
|
162
|
-
gap: 1,
|
163
|
-
marginTop: 1,
|
164
|
-
children: [/*#__PURE__*/_jsx(Box, {
|
165
|
-
children: uploadStatus?.fileSize
|
166
|
-
}), /*#__PURE__*/_jsx(CircularProgress, {
|
167
|
-
variant: "determinate",
|
168
|
-
value: uploadStatus?.uploadPercentage ?? 0,
|
169
|
-
className: "circularProgress-cls",
|
170
|
-
size: 15,
|
171
|
-
thickness: 8
|
172
|
-
}), /*#__PURE__*/_jsx(Box, {
|
173
|
-
children: `${uploadStatus?.uploadPercentage?.toFixed(0) ?? 0}%`
|
174
|
-
})]
|
175
|
-
})]
|
176
|
-
})
|
177
|
-
})]
|
178
|
-
})
|
179
|
-
}), /*#__PURE__*/_jsx(Grid, {
|
180
|
-
children: /*#__PURE__*/_jsx(HighlightOffRoundedIcon, {
|
181
|
-
className: "uploadCancel",
|
182
|
-
sx: {
|
183
|
-
cursor: "pointer"
|
184
|
-
},
|
185
|
-
onClick: e => {
|
186
|
-
cancelUpload(e);
|
187
|
-
}
|
188
|
-
})
|
189
|
-
})]
|
190
|
-
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
191
|
-
children: [/*#__PURE__*/_jsx(Icon, {
|
192
|
-
icon: "video"
|
193
|
-
}), TYPE_LABELS[type] || translation("Embed Video or Other")]
|
194
|
-
})
|
90
|
+
children: [/*#__PURE__*/_jsx(Icon, {
|
91
|
+
icon: "video"
|
92
|
+
}), TYPE_LABELS[type] || translation("Embed Video or Other")]
|
195
93
|
}) : /*#__PURE__*/_jsxs(Box, {
|
196
94
|
sx: {
|
197
95
|
color: "#64748B !important",
|
@@ -222,23 +120,14 @@ const Video = ({
|
|
222
120
|
xsHidden,
|
223
121
|
width: oldWidth,
|
224
122
|
bannerSpacing,
|
225
|
-
aspectRatio
|
226
|
-
file,
|
227
|
-
isUploading,
|
228
|
-
uniqueId,
|
229
|
-
fromFreeGrid
|
123
|
+
aspectRatio
|
230
124
|
} = element;
|
231
125
|
const editor = useSlateStatic();
|
232
126
|
const [openSetttings, setOpenSettings] = useState(false);
|
233
127
|
const [parentDOM, setParentDOM] = useState(null);
|
234
128
|
const {
|
235
129
|
readOnly,
|
236
|
-
translation
|
237
|
-
services,
|
238
|
-
uploadFile,
|
239
|
-
resumeUploadState,
|
240
|
-
uploadTerminator,
|
241
|
-
isUploadInProgress = () => false
|
130
|
+
translation
|
242
131
|
} = customProps;
|
243
132
|
const {
|
244
133
|
vertical,
|
@@ -259,63 +148,6 @@ const Video = ({
|
|
259
148
|
return element?.size || {};
|
260
149
|
}
|
261
150
|
};
|
262
|
-
const xhrRef = useRef(null);
|
263
|
-
const [openUploadPopup, setUploadPopupOpen] = useState(false);
|
264
|
-
const [uploadStatus, setUploadStatus] = useState({
|
265
|
-
isUploading: false,
|
266
|
-
uploadPercentage: 0
|
267
|
-
});
|
268
|
-
const onClickUpload = () => {
|
269
|
-
setUploadPopupOpen(true);
|
270
|
-
};
|
271
|
-
const onSelectVideo = async video => {
|
272
|
-
handleClose();
|
273
|
-
let finalURL = null;
|
274
|
-
try {
|
275
|
-
if (video?.isUpload === false) {
|
276
|
-
finalURL = video?.embedURL;
|
277
|
-
} else {
|
278
|
-
const id = !uniqueId ? crypto?.randomUUID() : uniqueId;
|
279
|
-
const result = await services("uploadFile", video?.file);
|
280
|
-
const uploadUrl = result?.data?.[0];
|
281
|
-
const fileEntry = {
|
282
|
-
...video,
|
283
|
-
xhrRef,
|
284
|
-
presidnedURL: uploadUrl,
|
285
|
-
status: "uploading"
|
286
|
-
};
|
287
|
-
uploadFile(id, fileEntry, setUploadStatus, onSave, "video");
|
288
|
-
if (!fromFreeGrid) {
|
289
|
-
Transforms.setNodes(editor, {
|
290
|
-
uniqueId: id,
|
291
|
-
isUploading: true
|
292
|
-
}, {
|
293
|
-
at: path
|
294
|
-
});
|
295
|
-
} else {
|
296
|
-
Transforms.setNodes(editor, {
|
297
|
-
isUploading: true
|
298
|
-
}, {
|
299
|
-
at: path
|
300
|
-
});
|
301
|
-
}
|
302
|
-
}
|
303
|
-
if (finalURL) {
|
304
|
-
const updateObject = {
|
305
|
-
...element,
|
306
|
-
url: finalURL
|
307
|
-
};
|
308
|
-
onSave(updateObject);
|
309
|
-
} else {
|
310
|
-
return;
|
311
|
-
}
|
312
|
-
} catch (error) {
|
313
|
-
console.log(error);
|
314
|
-
}
|
315
|
-
};
|
316
|
-
const handleClose = () => {
|
317
|
-
setUploadPopupOpen(false);
|
318
|
-
};
|
319
151
|
const [size, onMouseDown, resizing, onLoad] = useResize({
|
320
152
|
parentDOM,
|
321
153
|
size: getSize(),
|
@@ -329,49 +161,12 @@ const Video = ({
|
|
329
161
|
});
|
330
162
|
const arr = Array.from(Node.elements(editor));
|
331
163
|
const ele = arr.find(([elem]) => element === elem);
|
332
|
-
const noUploadTracks = () => {
|
333
|
-
setUploadStatus({
|
334
|
-
isUploading: false,
|
335
|
-
uploadPercentage: 0,
|
336
|
-
fileName: null,
|
337
|
-
fileSize: null
|
338
|
-
});
|
339
|
-
};
|
340
|
-
useEffect(() => {
|
341
|
-
const isUploading = isUploadInProgress(uniqueId);
|
342
|
-
if (fromFreeGrid) {
|
343
|
-
if (isUploading) {
|
344
|
-
resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "image");
|
345
|
-
} else {
|
346
|
-
if (!isUploading && file) {
|
347
|
-
onSelectVideo({
|
348
|
-
file: file
|
349
|
-
});
|
350
|
-
}
|
351
|
-
}
|
352
|
-
}
|
353
|
-
return () => {
|
354
|
-
// Transforms.setNodes(editor, { isUploading: false }, { at: path });
|
355
|
-
};
|
356
|
-
}, [uniqueId, isUploading, file]);
|
357
164
|
useEffect(() => {
|
358
165
|
if (editor && ele && ele[1] !== undefined) {
|
359
166
|
const dom = ReactEditor.toDOMNode(editor, Node.get(editor, ele[1]));
|
360
167
|
setParentDOM(dom);
|
361
168
|
onLoad(element?.size || {});
|
362
169
|
}
|
363
|
-
if (!fromFreeGrid) {
|
364
|
-
if (uniqueId && isUploading) {
|
365
|
-
resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "video");
|
366
|
-
} else if (file && isUploading) {
|
367
|
-
onSelectVideo({
|
368
|
-
file: file
|
369
|
-
});
|
370
|
-
}
|
371
|
-
}
|
372
|
-
return () => {
|
373
|
-
// xhrRef?.current?.abort();
|
374
|
-
};
|
375
170
|
}, []);
|
376
171
|
const ToolBar = () => {
|
377
172
|
return /*#__PURE__*/_jsxs("div", {
|
@@ -399,34 +194,12 @@ const Video = ({
|
|
399
194
|
};
|
400
195
|
const onSave = data => {
|
401
196
|
try {
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
url: data,
|
406
|
-
isUploading: false
|
407
|
-
};
|
408
|
-
} else if (typeof data?.url !== "string") {
|
409
|
-
updateData = {
|
410
|
-
...data,
|
411
|
-
url: ""
|
412
|
-
};
|
413
|
-
onSelectVideo({
|
414
|
-
file: data?.url?.file,
|
415
|
-
isUpload: true,
|
416
|
-
setUploadStatus,
|
417
|
-
services: customProps?.services
|
418
|
-
});
|
419
|
-
} else {
|
420
|
-
updateData = data;
|
421
|
-
}
|
197
|
+
const updateData = {
|
198
|
+
...data
|
199
|
+
};
|
422
200
|
delete updateData.children;
|
423
|
-
Transforms.select(editor, path);
|
424
|
-
ReactEditor.focus(editor);
|
425
201
|
Transforms.setNodes(editor, {
|
426
|
-
...updateData
|
427
|
-
isUpload: false,
|
428
|
-
isUploading: false,
|
429
|
-
file: null
|
202
|
+
...updateData
|
430
203
|
}, {
|
431
204
|
at: path
|
432
205
|
});
|
@@ -508,19 +281,13 @@ const Video = ({
|
|
508
281
|
children: [!readOnly && url && /*#__PURE__*/_jsx(ToolBar, {}), /*#__PURE__*/_jsx(VideoPlaceholder, {
|
509
282
|
...element,
|
510
283
|
embedURL: embedURL,
|
511
|
-
onSettings:
|
284
|
+
onSettings: onSettings,
|
512
285
|
videoSX: videoSX,
|
513
286
|
url: url,
|
514
287
|
readOnly: readOnly,
|
515
288
|
resizing: resizing,
|
516
289
|
classes: classes,
|
517
|
-
translation: translation
|
518
|
-
uploadStatus: uploadStatus,
|
519
|
-
setUploadStatus: setUploadStatus,
|
520
|
-
uploadTerminator: uploadTerminator,
|
521
|
-
uniqueId: uniqueId,
|
522
|
-
editor: editor,
|
523
|
-
path: path
|
290
|
+
translation: translation
|
524
291
|
}), !readOnly && url ? /*#__PURE__*/_jsx(IconButton, {
|
525
292
|
onPointerDown: onMouseDown,
|
526
293
|
style: {
|
@@ -528,18 +295,6 @@ const Video = ({
|
|
528
295
|
},
|
529
296
|
className: "resize-br visible-on-hover",
|
530
297
|
children: /*#__PURE__*/_jsx(AspectRatioIcon, {})
|
531
|
-
}) : null, openUploadPopup ? /*#__PURE__*/_jsx(ImageSelector, {
|
532
|
-
open: true,
|
533
|
-
Add: true,
|
534
|
-
commentMore: true,
|
535
|
-
actions: true,
|
536
|
-
title: "Video",
|
537
|
-
onClose: handleClose,
|
538
|
-
customProps: customProps,
|
539
|
-
onSelectImage: onSelectVideo,
|
540
|
-
setUploadPopupOpen: setUploadPopupOpen,
|
541
|
-
setUploadStatus: setUploadStatus,
|
542
|
-
xhrRef: xhrRef
|
543
298
|
}) : null]
|
544
299
|
}), children]
|
545
300
|
});
|
@@ -109,7 +109,20 @@ const Form = props => {
|
|
109
109
|
if ((readOnly || test) && formEle && formEle?.current) {
|
110
110
|
const formData = new FormData(formEle?.current);
|
111
111
|
setLoading(true);
|
112
|
-
|
112
|
+
let response = [];
|
113
|
+
const formDataEntries = [...formData.entries()];
|
114
|
+
const childFields = element?.children?.filter(el => el?.type === "form-field");
|
115
|
+
response = formDataEntries.map(([key, value], index) => {
|
116
|
+
const fieldData = childFields[index];
|
117
|
+
return {
|
118
|
+
fieldKey: key,
|
119
|
+
[key]: value,
|
120
|
+
placeholder: fieldData?.placeholder || "",
|
121
|
+
form_name: formName,
|
122
|
+
tagName: tagName,
|
123
|
+
uid: fieldData?.uid || formName
|
124
|
+
};
|
125
|
+
});
|
113
126
|
let user_email = "";
|
114
127
|
let meta_data = [];
|
115
128
|
const validations = [];
|
@@ -153,16 +166,28 @@ const Form = props => {
|
|
153
166
|
rules: rule?.length > 0 && rule
|
154
167
|
});
|
155
168
|
}
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
169
|
+
|
170
|
+
// Commented out — duplicate field loop caused by 'pair'. Not needed inside this loop.
|
171
|
+
// const formDataEntries = [...formData.entries()];
|
172
|
+
// const childFields = element?.children?.filter(
|
173
|
+
// (el) => el?.type === "form-field"
|
174
|
+
// );
|
175
|
+
// response = [];
|
176
|
+
// for (let i = 0; i < formDataEntries.length; i++) {
|
177
|
+
// const [key, value] = formDataEntries[i];
|
178
|
+
// const fieldData = childFields[i];
|
179
|
+
|
180
|
+
// response.push({
|
181
|
+
// fieldKey: key,
|
182
|
+
// [key]: value,
|
183
|
+
// placeholder: fieldData?.placeholder || "",
|
184
|
+
// form_name: formName,
|
185
|
+
// tagName: tagName,
|
186
|
+
// uid: fieldData?.uid || formName,
|
187
|
+
// });
|
188
|
+
// }
|
165
189
|
}
|
190
|
+
|
166
191
|
let params = {
|
167
192
|
page_id: page_id,
|
168
193
|
agency_id: agency_id,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
|
-
import { Transforms } from "slate";
|
2
|
+
import { Transforms, Node } from "slate";
|
3
3
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
4
4
|
import { IconButton, Tooltip, Grid, useTheme } from "@mui/material";
|
5
5
|
import FormElements from "./FormElements";
|
@@ -9,20 +9,20 @@ const FormStyles = theme => ({
|
|
9
9
|
color: "#94A3B8"
|
10
10
|
},
|
11
11
|
bodyTextArea: {
|
12
|
-
|
13
|
-
padding:
|
14
|
-
|
15
|
-
outline:
|
16
|
-
border:
|
12
|
+
'& .mini-editor-cls': {
|
13
|
+
padding: '12px',
|
14
|
+
'&:focus-visible': {
|
15
|
+
outline: 'none',
|
16
|
+
border: 'none'
|
17
17
|
}
|
18
18
|
},
|
19
19
|
"& .editorWorkflow": {
|
20
|
-
minHeight:
|
21
|
-
padding:
|
20
|
+
minHeight: '130px',
|
21
|
+
padding: '12px',
|
22
22
|
paddingBottom: 0,
|
23
|
-
|
24
|
-
outline:
|
25
|
-
border:
|
23
|
+
'&:focus-visible': {
|
24
|
+
outline: 'none',
|
25
|
+
border: 'none'
|
26
26
|
}
|
27
27
|
}
|
28
28
|
},
|
@@ -105,7 +105,7 @@ const FormStyles = theme => ({
|
|
105
105
|
padding: "4px 22px",
|
106
106
|
textTransform: "none",
|
107
107
|
border: "1px solid #D8DDE1",
|
108
|
-
minWidth:
|
108
|
+
minWidth: '126px',
|
109
109
|
"& svg": {
|
110
110
|
"& path": {
|
111
111
|
stroke: "#64748B"
|
@@ -169,19 +169,17 @@ const FormStyles = theme => ({
|
|
169
169
|
}
|
170
170
|
},
|
171
171
|
colorButtonSingle: {
|
172
|
-
border: "1.5px solid #DCE4EC !important",
|
173
172
|
"&.active": {
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
outline: "2px solid #2563EB"
|
173
|
+
"&:before": {
|
174
|
+
content: '" "',
|
175
|
+
position: "absolute",
|
176
|
+
top: "-5px",
|
177
|
+
left: "-5px",
|
178
|
+
width: "calc(100% + 4px)",
|
179
|
+
height: "calc(100% + 4px)",
|
180
|
+
border: "3px solid blue",
|
181
|
+
borderRadius: "50%"
|
182
|
+
}
|
185
183
|
}
|
186
184
|
},
|
187
185
|
colorButtonsInner: {
|
@@ -251,7 +249,7 @@ const FormStyles = theme => ({
|
|
251
249
|
}
|
252
250
|
},
|
253
251
|
root: {
|
254
|
-
padding:
|
252
|
+
padding: '10px'
|
255
253
|
}
|
256
254
|
});
|
257
255
|
export default FormStyles;
|
@@ -1,27 +1,3 @@
|
|
1
1
|
export const minutes = [30, 35, 40, 45, 50, 55];
|
2
2
|
export const hours = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
|
3
|
-
export const days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
|
4
|
-
export const allowedFormat = {
|
5
|
-
Document: ".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.rtf",
|
6
|
-
Image: "image/*",
|
7
|
-
Video: ".mp4,.webm,.ogg,.mov,.avi,.mkv",
|
8
|
-
Embed: "*"
|
9
|
-
};
|
10
|
-
export const maxSizeMap = {
|
11
|
-
Image: 25 * 1024 * 1024,
|
12
|
-
// Test -> 5 * 1024 * 1024 -> 5MB
|
13
|
-
Video: 1024 * 1024 * 1024,
|
14
|
-
Document: 25 * 1024 * 1024,
|
15
|
-
Embed: Infinity
|
16
|
-
};
|
17
|
-
export const allowedTypes = {
|
18
|
-
Document: ["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "text/plain", "application/rtf"],
|
19
|
-
Image: ["image/jpeg", "image/png", "image/gif", "image/webp", "image/svg+xml"],
|
20
|
-
Video: ["video/mp4", "video/webm", "video/ogg", "video/quicktime", "video/x-msvideo", "video/x-matroska"],
|
21
|
-
Embed: ["*"]
|
22
|
-
};
|
23
|
-
export const extensionMap = {
|
24
|
-
Video: ["mp4", "webm", "ogg", "mov", "avi", "mkv"],
|
25
|
-
Image: ["jpg", "jpeg", "png", "gif", "webp", "svg"],
|
26
|
-
Document: ["pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt", "rtf"]
|
27
|
-
};
|
3
|
+
export const days = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
|