@flozy/editor 4.2.2 → 4.2.3
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.
|
@@ -47,14 +47,7 @@ const ToolBar = ({
|
|
|
47
47
|
})]
|
|
48
48
|
}) : null;
|
|
49
49
|
};
|
|
50
|
-
const ImageContent =
|
|
51
|
-
readOnly,
|
|
52
|
-
setOpenSettings,
|
|
53
|
-
element,
|
|
54
|
-
handleImageClick,
|
|
55
|
-
onTouchEnd,
|
|
56
|
-
path
|
|
57
|
-
}) => {
|
|
50
|
+
const ImageContent = props => {
|
|
58
51
|
const {
|
|
59
52
|
alt,
|
|
60
53
|
url,
|
|
@@ -64,8 +57,13 @@ const ImageContent = ({
|
|
|
64
57
|
boxShadow,
|
|
65
58
|
frame = null,
|
|
66
59
|
objectFit,
|
|
67
|
-
webAddress
|
|
68
|
-
|
|
60
|
+
webAddress,
|
|
61
|
+
readOnly,
|
|
62
|
+
setOpenSettings,
|
|
63
|
+
handleImageClick,
|
|
64
|
+
onTouchEnd,
|
|
65
|
+
path
|
|
66
|
+
} = props;
|
|
69
67
|
const theme = useTheme();
|
|
70
68
|
return !url && !readOnly ? /*#__PURE__*/_jsxs(Box, {
|
|
71
69
|
component: "button",
|
|
@@ -278,9 +276,9 @@ const Image = ({
|
|
|
278
276
|
onSettings: onSettings,
|
|
279
277
|
setOpenNav: setOpenNav
|
|
280
278
|
}), /*#__PURE__*/_jsx(ImageContent, {
|
|
279
|
+
...element,
|
|
281
280
|
readOnly: readOnly,
|
|
282
281
|
setOpenSettings: setOpenSettings,
|
|
283
|
-
element: element,
|
|
284
282
|
handleImageClick: handleImageClick,
|
|
285
283
|
onTouchEnd: onTouchEnd,
|
|
286
284
|
path: path
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState, useEffect } from "react";
|
|
1
|
+
import React, { useState, useEffect, useCallback } from "react";
|
|
2
2
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
|
3
3
|
import { Node, Transforms } from "slate";
|
|
4
4
|
import { IconButton, Tooltip, Box, useTheme } from "@mui/material";
|
|
@@ -13,6 +13,66 @@ import { getEmbedURL } from "../../helper";
|
|
|
13
13
|
import { getBreakPointsValue, getTRBLBreakPoints, groupByBreakpoint } from "../../helper/theme";
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
15
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
const VideoContent = props => {
|
|
17
|
+
const {
|
|
18
|
+
resizing,
|
|
19
|
+
borderColor,
|
|
20
|
+
borderWidth,
|
|
21
|
+
borderStyle,
|
|
22
|
+
bgColor,
|
|
23
|
+
embedURL,
|
|
24
|
+
alt,
|
|
25
|
+
videoSX
|
|
26
|
+
} = props;
|
|
27
|
+
return resizing ? /*#__PURE__*/_jsx("div", {
|
|
28
|
+
style: {
|
|
29
|
+
width: "100%",
|
|
30
|
+
height: "100%",
|
|
31
|
+
border: "2px dashed black",
|
|
32
|
+
display: "flex",
|
|
33
|
+
justifyContent: "center",
|
|
34
|
+
alignItems: "center"
|
|
35
|
+
},
|
|
36
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
37
|
+
icon: "videoPlayer"
|
|
38
|
+
})
|
|
39
|
+
}) : /*#__PURE__*/_jsx(Box, {
|
|
40
|
+
component: "iframe",
|
|
41
|
+
className: "embedd-iframe",
|
|
42
|
+
sx: {
|
|
43
|
+
border: "none",
|
|
44
|
+
position: "absolute",
|
|
45
|
+
width: "100%",
|
|
46
|
+
height: "100%",
|
|
47
|
+
maxWidth: "100%",
|
|
48
|
+
left: "0px",
|
|
49
|
+
...(gradientBorder(borderColor) || {}),
|
|
50
|
+
borderWidth: borderWidth || "1px",
|
|
51
|
+
borderStyle: borderStyle || "solid",
|
|
52
|
+
background: bgColor || "transparent",
|
|
53
|
+
...videoSX
|
|
54
|
+
},
|
|
55
|
+
src: embedURL,
|
|
56
|
+
title: alt
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const VideoPlaceholder = props => {
|
|
60
|
+
const {
|
|
61
|
+
url,
|
|
62
|
+
readOnly,
|
|
63
|
+
onSettings
|
|
64
|
+
} = props;
|
|
65
|
+
return !url && !readOnly ? /*#__PURE__*/_jsxs(Box, {
|
|
66
|
+
component: "button",
|
|
67
|
+
className: "element-empty-btn",
|
|
68
|
+
onClick: onSettings,
|
|
69
|
+
children: [/*#__PURE__*/_jsx(Icon, {
|
|
70
|
+
icon: "video"
|
|
71
|
+
}), "Embed Video or Other"]
|
|
72
|
+
}) : /*#__PURE__*/_jsx(VideoContent, {
|
|
73
|
+
...props
|
|
74
|
+
});
|
|
75
|
+
};
|
|
16
76
|
const Video = ({
|
|
17
77
|
attributes,
|
|
18
78
|
element,
|
|
@@ -21,17 +81,12 @@ const Video = ({
|
|
|
21
81
|
}) => {
|
|
22
82
|
const theme = useTheme();
|
|
23
83
|
const {
|
|
24
|
-
alt,
|
|
25
84
|
alignment,
|
|
26
85
|
borderRadius,
|
|
27
|
-
borderWidth,
|
|
28
|
-
borderColor,
|
|
29
|
-
borderStyle,
|
|
30
86
|
url,
|
|
31
87
|
xsHidden,
|
|
32
88
|
width: oldWidth,
|
|
33
|
-
bannerSpacing
|
|
34
|
-
bgColor
|
|
89
|
+
bannerSpacing
|
|
35
90
|
} = element;
|
|
36
91
|
const editor = useSlateStatic();
|
|
37
92
|
const [openSetttings, setOpenSettings] = useState(false);
|
|
@@ -121,7 +176,7 @@ const Video = ({
|
|
|
121
176
|
at: path
|
|
122
177
|
});
|
|
123
178
|
};
|
|
124
|
-
const getWidth = () => {
|
|
179
|
+
const getWidth = useCallback(() => {
|
|
125
180
|
if (resizing) {
|
|
126
181
|
return {
|
|
127
182
|
width: `${size.width}px`,
|
|
@@ -139,7 +194,7 @@ const Video = ({
|
|
|
139
194
|
}, theme)
|
|
140
195
|
};
|
|
141
196
|
}
|
|
142
|
-
};
|
|
197
|
+
}, [size]);
|
|
143
198
|
const embedURL = getEmbedURL(element);
|
|
144
199
|
const videoSX = groupByBreakpoint({
|
|
145
200
|
borderRadius: {
|
|
@@ -149,49 +204,6 @@ const Video = ({
|
|
|
149
204
|
...getTRBLBreakPoints(bannerSpacing)
|
|
150
205
|
}
|
|
151
206
|
}, theme);
|
|
152
|
-
const VideoContent = () => {
|
|
153
|
-
return resizing ? /*#__PURE__*/_jsx("div", {
|
|
154
|
-
style: {
|
|
155
|
-
width: "100%",
|
|
156
|
-
height: "100%",
|
|
157
|
-
border: "2px dashed black",
|
|
158
|
-
display: "flex",
|
|
159
|
-
justifyContent: "center",
|
|
160
|
-
alignItems: "center"
|
|
161
|
-
},
|
|
162
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
163
|
-
icon: "videoPlayer"
|
|
164
|
-
})
|
|
165
|
-
}) : /*#__PURE__*/_jsx(Box, {
|
|
166
|
-
component: "iframe",
|
|
167
|
-
className: "embedd-iframe",
|
|
168
|
-
sx: {
|
|
169
|
-
border: "none",
|
|
170
|
-
position: "absolute",
|
|
171
|
-
width: "100%",
|
|
172
|
-
height: "100%",
|
|
173
|
-
maxWidth: "100%",
|
|
174
|
-
left: "0px",
|
|
175
|
-
...(gradientBorder(borderColor) || {}),
|
|
176
|
-
borderWidth: borderWidth || "1px",
|
|
177
|
-
borderStyle: borderStyle || "solid",
|
|
178
|
-
background: bgColor || "transparent",
|
|
179
|
-
...videoSX
|
|
180
|
-
},
|
|
181
|
-
src: embedURL,
|
|
182
|
-
title: alt
|
|
183
|
-
});
|
|
184
|
-
};
|
|
185
|
-
const VideoPlaceholder = () => {
|
|
186
|
-
return !url && !readOnly ? /*#__PURE__*/_jsxs(Box, {
|
|
187
|
-
component: "button",
|
|
188
|
-
className: "element-empty-btn",
|
|
189
|
-
onClick: onSettings,
|
|
190
|
-
children: [/*#__PURE__*/_jsx(Icon, {
|
|
191
|
-
icon: "video"
|
|
192
|
-
}), "Embed Video or Other"]
|
|
193
|
-
}) : /*#__PURE__*/_jsx(VideoContent, {});
|
|
194
|
-
};
|
|
195
207
|
return /*#__PURE__*/_jsxs(Box, {
|
|
196
208
|
...attributes,
|
|
197
209
|
className: "embed has-hover video dpath",
|
|
@@ -224,7 +236,12 @@ const Video = ({
|
|
|
224
236
|
...getWidth(),
|
|
225
237
|
maxWidth: "100%"
|
|
226
238
|
},
|
|
227
|
-
children: [!readOnly && url && /*#__PURE__*/_jsx(ToolBar, {}), /*#__PURE__*/_jsx(VideoPlaceholder, {
|
|
239
|
+
children: [!readOnly && url && /*#__PURE__*/_jsx(ToolBar, {}), /*#__PURE__*/_jsx(VideoPlaceholder, {
|
|
240
|
+
...element,
|
|
241
|
+
embedURL: embedURL,
|
|
242
|
+
onSettings: onSettings,
|
|
243
|
+
videoSX: videoSX
|
|
244
|
+
}), !readOnly && url ? /*#__PURE__*/_jsx(IconButton, {
|
|
228
245
|
onPointerDown: onMouseDown,
|
|
229
246
|
style: {
|
|
230
247
|
background: "#FFF"
|