@flozy/editor 10.6.7 → 10.6.8
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 +17 -16
- package/dist/Editor/CommonEditor.js +116 -13
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +31 -11
- package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
- package/dist/Editor/Elements/AI/Styles.js +1 -0
- package/dist/Editor/Elements/Accordion/Accordion.js +25 -17
- package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
- package/dist/Editor/Elements/Button/EditorButton.js +23 -7
- package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
- package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
- package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
- package/dist/Editor/Elements/Embed/Video.js +1 -1
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +31 -30
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +7 -4
- package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
- package/dist/Editor/Elements/FreeGrid/helper.js +115 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +9 -0
- package/dist/Editor/Elements/Grid/GridItem.js +1 -1
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +3 -3
- package/dist/Editor/Elements/Title/title.js +6 -6
- package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
- package/dist/Editor/MiniEditor.js +2 -1
- package/dist/Editor/Styles/EditorStyles.js +9 -5
- package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
- package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
- package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
- package/dist/Editor/Toolbar/FormatTools/TextSize.js +10 -13
- package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +4 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +4 -2
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +7 -4
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +69 -9
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +58 -10
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +5 -2
- package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
- package/dist/Editor/assets/svg/BackIcon.js +18 -0
- package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
- package/dist/Editor/common/ColorPickerButton.js +38 -16
- package/dist/Editor/common/CustomColorPicker/index.js +130 -0
- package/dist/Editor/common/CustomColorPicker/style.js +53 -0
- package/dist/Editor/common/CustomDialog2/index.js +94 -0
- package/dist/Editor/common/CustomDialog2/style.js +67 -0
- package/dist/Editor/common/CustomSelect.js +43 -0
- package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
- package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
- package/dist/Editor/common/Icon.js +28 -0
- package/dist/Editor/common/ImageSelector/ImageSelector.js +2 -2
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/LinkSettings/NavComponents.js +6 -2
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
- package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +3 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
- package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -2
- package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
- package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -18
- package/dist/Editor/common/RnD/Utils/index.js +3 -1
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +45 -58
- package/dist/Editor/common/RnD/VirtualElement/helper.js +320 -130
- package/dist/Editor/common/RnD/VirtualElement/styles.js +22 -0
- package/dist/Editor/common/RnD/index.js +42 -11
- package/dist/Editor/common/Shorthands/elements.js +54 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +16 -8
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
- package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +115 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +16 -7
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +2 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/Uploader.js +16 -0
- package/dist/Editor/common/iconslist.js +21 -0
- package/dist/Editor/commonStyle.js +107 -64
- package/dist/Editor/helper/index.js +7 -2
- package/dist/Editor/helper/textIndeces.js +58 -0
- package/dist/Editor/helper/theme.js +203 -2
- package/dist/Editor/hooks/useEditorTheme.js +153 -0
- package/dist/Editor/hooks/useMouseMove.js +9 -3
- package/dist/Editor/hooks/useThemeValues.js +63 -0
- package/dist/Editor/plugins/withEmbeds.js +1 -1
- package/dist/Editor/plugins/withHTML.js +3 -1
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/theme/ThemeList.js +50 -173
- package/dist/Editor/theme/index.js +149 -0
- package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
- package/dist/Editor/themeSettings/buttons/index.js +300 -0
- package/dist/Editor/themeSettings/buttons/style.js +23 -0
- package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
- package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
- package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
- package/dist/Editor/themeSettings/fonts/index.js +240 -0
- package/dist/Editor/themeSettings/fonts/style.js +62 -0
- package/dist/Editor/themeSettings/icons.js +60 -0
- package/dist/Editor/themeSettings/index.js +380 -0
- package/dist/Editor/themeSettings/style.js +299 -0
- package/dist/Editor/themeSettingsAI/icons.js +96 -0
- package/dist/Editor/themeSettingsAI/index.js +355 -0
- package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
- package/dist/Editor/themeSettingsAI/style.js +332 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +229 -24
- package/dist/Editor/utils/accordion.js +50 -24
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/helper.js +97 -21
- package/dist/Editor/utils/insertAppHeader.js +8 -4
- package/package.json +4 -4
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -454
@@ -268,7 +268,7 @@ function AppHeader(props) {
|
|
268
268
|
style: {
|
269
269
|
display: "inline-flex",
|
270
270
|
alignItems: "center",
|
271
|
-
color: textColor,
|
271
|
+
color: textColor || "#000000",
|
272
272
|
fontSize: logoFontSize,
|
273
273
|
fontFamily: titleFontFamily,
|
274
274
|
justifyContent: isLogoRight ? "end" : "start"
|
@@ -323,7 +323,7 @@ function AppHeader(props) {
|
|
323
323
|
fontFamily: fontFamily,
|
324
324
|
textTransform: "none",
|
325
325
|
fontSize: fontSize || "16px",
|
326
|
-
color: textColor || "#
|
326
|
+
color: textColor || "#000",
|
327
327
|
background: bgColor || "none",
|
328
328
|
border: borderColorHover ? `1px solid transparent` : "none",
|
329
329
|
"& .m-settings": {
|
@@ -339,7 +339,7 @@ function AppHeader(props) {
|
|
339
339
|
background: "#FFF"
|
340
340
|
},
|
341
341
|
"&:hover": {
|
342
|
-
color: textColorHover || textColor || "#
|
342
|
+
color: textColorHover || textColor || "#000",
|
343
343
|
background: bgColorHover || bgColor || "none",
|
344
344
|
border: borderColorHover ? `1px solid ${borderColorHover}` : "none",
|
345
345
|
"& .m-settings": {
|
@@ -9,6 +9,8 @@ import { WorkflowIcon } from "../../common/iconslist";
|
|
9
9
|
import { getTRBLBreakPoints, getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
|
10
10
|
import { handleLinkType, windowVar } from "../../utils/helper";
|
11
11
|
import LinkSettings from "../../common/LinkSettings";
|
12
|
+
import { useEditorTheme } from "../../hooks/useEditorTheme";
|
13
|
+
import { getTheme } from "../../theme";
|
12
14
|
import Icon from "../../common/Icon";
|
13
15
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
14
16
|
import useCommonStyle from "../../commonStyle";
|
@@ -40,6 +42,12 @@ const EditorButton = props => {
|
|
40
42
|
const [openMoreOptions, setOpenMoreOptions] = useState(false);
|
41
43
|
const [, setIconLoaded] = useState(false);
|
42
44
|
const classes = useCommonStyle(appTheme);
|
45
|
+
const {
|
46
|
+
theme: selectedTheme
|
47
|
+
} = useEditorTheme();
|
48
|
+
const {
|
49
|
+
buttonTheme
|
50
|
+
} = getTheme(selectedTheme);
|
43
51
|
const {
|
44
52
|
label,
|
45
53
|
bgColor,
|
@@ -54,7 +62,7 @@ const EditorButton = props => {
|
|
54
62
|
textColorHover,
|
55
63
|
bgColorHover,
|
56
64
|
borderColorHover,
|
57
|
-
buttonIcon,
|
65
|
+
// buttonIcon,
|
58
66
|
iconPosition = "start",
|
59
67
|
borderStyle,
|
60
68
|
borderWidth,
|
@@ -75,6 +83,7 @@ const EditorButton = props => {
|
|
75
83
|
};
|
76
84
|
const isTrigger = linkType === "nextTrigger" || linkType === "prevTrigger";
|
77
85
|
const refURl = isTrigger ? buttonLink?.url : url;
|
86
|
+
const buttonIcon = element?.buttonIcon || buttonTheme?.buttonIcon;
|
78
87
|
const BtnIcon = buttonIcon ? buttonIcon : null;
|
79
88
|
windowVar.lastButtonProps = element;
|
80
89
|
const handleTrigger = async () => {
|
@@ -165,6 +174,7 @@ const EditorButton = props => {
|
|
165
174
|
display: "inline-flex",
|
166
175
|
color: "rgba(0, 0, 0, 0.54)",
|
167
176
|
marginBottom: "0px !important",
|
177
|
+
...classes.buttonMoreOption,
|
168
178
|
...classes.buttonMoreOption3
|
169
179
|
},
|
170
180
|
...btnProps,
|
@@ -265,19 +275,14 @@ const EditorButton = props => {
|
|
265
275
|
display: "inline-block"
|
266
276
|
},
|
267
277
|
children: [/*#__PURE__*/_jsxs(Box, {
|
278
|
+
className: `btn textAlign-${tAlign} button theme-element`,
|
268
279
|
ref: buttonRef,
|
269
|
-
className: `btn textAlign-${tAlign}`,
|
270
280
|
sx: {
|
271
281
|
textDecoration: "none",
|
272
|
-
background: bgColor || "rgb(30, 75, 122)",
|
273
282
|
borderBlockStyle: "solid",
|
274
|
-
borderColor: borderColor || "transparent",
|
275
283
|
borderWidth: borderWidth !== undefined ? borderWidth : borderColor || borderColorHover ? "1px" : "0px",
|
276
284
|
...btnSp,
|
277
285
|
borderStyle: borderStyle || "solid",
|
278
|
-
color: `${textColor || "#FFFFFF"}`,
|
279
|
-
fontSize: textSize || "inherit",
|
280
|
-
fontFamily: fontFamily || "PoppinsRegular",
|
281
286
|
display: "inline-flex",
|
282
287
|
alignItems: "center",
|
283
288
|
position: "relative",
|
@@ -292,6 +297,17 @@ const EditorButton = props => {
|
|
292
297
|
"& .element-toolbar": {
|
293
298
|
display: "flex"
|
294
299
|
}
|
300
|
+
},
|
301
|
+
color: textColor ? `${textColor} !important` : "#FFFFFF",
|
302
|
+
fontSize: textSize ? `${textSize}px !important` : "inherit",
|
303
|
+
fontFamily: fontFamily ? `${fontFamily} !important` : "PoppinsRegular",
|
304
|
+
background: `${bgColor} !important`,
|
305
|
+
borderColor: `${borderColor} !important`,
|
306
|
+
borderRadius: {
|
307
|
+
...getBreakPointsValue(borderRadius || buttonTheme?.borderRadius || {}, null, "overrideBorderRadius", true)
|
308
|
+
},
|
309
|
+
padding: {
|
310
|
+
...getTRBLBreakPoints(bannerSpacing || buttonTheme?.bannerSpacing || {})
|
295
311
|
}
|
296
312
|
},
|
297
313
|
...buttonProps,
|
@@ -1,11 +1,15 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
|
-
import { Box, IconButton, Popover } from "@mui/material";
|
2
|
+
import { Box, IconButton, Popover, Typography, useTheme } from "@mui/material";
|
3
3
|
import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
|
4
4
|
import Button from "../../common/Button";
|
5
5
|
import { colors } from "./defaultColors";
|
6
6
|
import ColorPicker from "./colorPicker.svg";
|
7
|
+
import { useSlateStatic } from "slate-react";
|
8
|
+
import { Transforms } from "slate";
|
9
|
+
import { useEditorContext } from "../../hooks/useMouseMove";
|
7
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
8
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
12
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
9
13
|
let c = [];
|
10
14
|
const ColorChunks = (recentColors = []) => [...recentColors, ...colors].reduce((a, b, i) => {
|
11
15
|
if (i % 7 === 0) {
|
@@ -32,8 +36,8 @@ const SingleColorButton = ({
|
|
32
36
|
width: "100%",
|
33
37
|
display: "flex",
|
34
38
|
alignItems: "center",
|
35
|
-
padding: padding || "8px 0px"
|
36
|
-
justifyContent: "center"
|
39
|
+
padding: padding || "8px 0px"
|
40
|
+
// justifyContent: "center",
|
37
41
|
},
|
38
42
|
children: [crs.map(m => /*#__PURE__*/_jsx(Button, {
|
39
43
|
onClick: handleSelect(m),
|
@@ -110,12 +114,18 @@ const ColorButtons = props => {
|
|
110
114
|
openColorTool,
|
111
115
|
onClose,
|
112
116
|
onColorPickerClick,
|
117
|
+
disableEditTheme,
|
113
118
|
defaultColors = []
|
114
119
|
} = props;
|
115
120
|
const [row1, ...restRows] = ColorChunks([]);
|
116
121
|
const [anchorEl, setAnchorEl] = useState(null);
|
117
122
|
const open = Boolean(anchorEl);
|
118
123
|
const firstRow = defaultColors?.length ? defaultColors : row1;
|
124
|
+
const theme = useTheme();
|
125
|
+
const editor = useSlateStatic();
|
126
|
+
const {
|
127
|
+
setOpenTheme
|
128
|
+
} = useEditorContext();
|
119
129
|
const handleMore = e => {
|
120
130
|
setAnchorEl(e.currentTarget);
|
121
131
|
};
|
@@ -128,6 +138,7 @@ const ColorButtons = props => {
|
|
128
138
|
const handleSelect = color => () => {
|
129
139
|
onSelect(color);
|
130
140
|
};
|
141
|
+
const colorVars = theme?.vars?.colors || {};
|
131
142
|
return /*#__PURE__*/_jsxs(Box, {
|
132
143
|
component: "span",
|
133
144
|
sx: classes.colorButtons,
|
@@ -144,7 +155,7 @@ const ColorButtons = props => {
|
|
144
155
|
activeColor: activeColor
|
145
156
|
}, `si_btn_row1_${m}_${i}`);
|
146
157
|
})
|
147
|
-
}), /*#__PURE__*/
|
158
|
+
}), /*#__PURE__*/_jsx(Popover, {
|
148
159
|
open: open || openColorTool,
|
149
160
|
anchorEl: anchorEl || openColorTool,
|
150
161
|
onClose: handleClose,
|
@@ -158,9 +169,40 @@ const ColorButtons = props => {
|
|
158
169
|
},
|
159
170
|
sx: classes.colorPopper,
|
160
171
|
className: "colorPopper",
|
161
|
-
children:
|
172
|
+
children: /*#__PURE__*/_jsxs(Box, {
|
162
173
|
sx: classes.colorButtonsInner,
|
163
|
-
children:
|
174
|
+
children: [Object.values(colorVars)?.length ? /*#__PURE__*/_jsxs(_Fragment, {
|
175
|
+
children: [/*#__PURE__*/_jsxs(Box, {
|
176
|
+
component: "div",
|
177
|
+
className: "singleColorTitleWrapper",
|
178
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
179
|
+
variant: "subtitle2",
|
180
|
+
children: "Theme colours"
|
181
|
+
}), disableEditTheme ? null : /*#__PURE__*/_jsx("div", {
|
182
|
+
className: "editBtn",
|
183
|
+
onClick: () => {
|
184
|
+
Transforms.deselect(editor, {
|
185
|
+
at: editor.selection
|
186
|
+
});
|
187
|
+
handleClose();
|
188
|
+
setOpenTheme("editThemeColor");
|
189
|
+
},
|
190
|
+
children: "Edit"
|
191
|
+
})]
|
192
|
+
}), /*#__PURE__*/_jsx(SingleColorButton, {
|
193
|
+
crs: Object.values(colorVars),
|
194
|
+
handleSelect: handleSelect,
|
195
|
+
classes: classes,
|
196
|
+
activeColor: activeColor
|
197
|
+
})]
|
198
|
+
}) : null, /*#__PURE__*/_jsx(Box, {
|
199
|
+
component: "div",
|
200
|
+
className: "singleColorTitleWrapper",
|
201
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
202
|
+
variant: "subtitle2",
|
203
|
+
children: "Custom colour"
|
204
|
+
})
|
205
|
+
}), restRows.map((m, i) => {
|
164
206
|
return /*#__PURE__*/_jsx(SingleColorButton, {
|
165
207
|
id: `p2_${id}`,
|
166
208
|
crs: m,
|
@@ -169,14 +211,19 @@ const ColorButtons = props => {
|
|
169
211
|
classes: classes,
|
170
212
|
activeColor: activeColor
|
171
213
|
}, `si_btn_${m}_${i}`);
|
172
|
-
})
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
214
|
+
}), forMiniTool ? /*#__PURE__*/_jsx(IconButton, {
|
215
|
+
onClick: onColorPickerClick,
|
216
|
+
style: {
|
217
|
+
alignSelf: "start",
|
218
|
+
margin: "6px",
|
219
|
+
padding: "0px"
|
220
|
+
},
|
221
|
+
children: /*#__PURE__*/_jsx("img", {
|
222
|
+
src: ColorPicker,
|
223
|
+
alt: "color wheel"
|
224
|
+
})
|
225
|
+
}) : null]
|
226
|
+
})
|
180
227
|
})]
|
181
228
|
});
|
182
229
|
};
|
@@ -60,4 +60,28 @@
|
|
60
60
|
padding: 0 15px !important;
|
61
61
|
width: 60px !important;
|
62
62
|
flex-shrink: 0;
|
63
|
-
}
|
63
|
+
}
|
64
|
+
|
65
|
+
|
66
|
+
.singleColorTitleWrapper {
|
67
|
+
display: flex;
|
68
|
+
justify-content: space-between;
|
69
|
+
align-items: center;
|
70
|
+
padding: 10px;
|
71
|
+
width: 100%;
|
72
|
+
border-bottom: 1px solid #DCE4EC;
|
73
|
+
}
|
74
|
+
|
75
|
+
.singleColorTitleWrapper .MuiTypography-root {
|
76
|
+
font-weight: 600;
|
77
|
+
}
|
78
|
+
|
79
|
+
.singleColorTitleWrapper .editBtn {
|
80
|
+
text-transform: none;
|
81
|
+
color: #2563EB;
|
82
|
+
text-decoration: underline;
|
83
|
+
padding: 0px;
|
84
|
+
min-width: unset;
|
85
|
+
cursor: pointer;
|
86
|
+
font-size: 14px;
|
87
|
+
}
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
2
|
import { ReactEditor } from "slate-react";
|
3
|
-
import
|
4
|
-
import { IconButton, Tooltip, Box, Popover } from "@mui/material";
|
3
|
+
import { IconButton, Tooltip, Box, Popover, useTheme } from "@mui/material";
|
5
4
|
import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions";
|
6
5
|
import ColorButtons from "./ColorButtons";
|
7
6
|
import ColorPickerStyles from "./Styles";
|
8
7
|
import colorWheel from "./colorWheel.png";
|
9
8
|
import "./ColorPicker.css";
|
10
9
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
10
|
+
import CustomColorPicker from "../../common/CustomColorPicker";
|
11
|
+
import { getSelectedElementColor } from "../../utils/helper";
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
12
13
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
13
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -25,7 +26,8 @@ const ColorPicker = props => {
|
|
25
26
|
classes,
|
26
27
|
forMiniTool,
|
27
28
|
openColorTool,
|
28
|
-
closeColorTool
|
29
|
+
closeColorTool,
|
30
|
+
type
|
29
31
|
} = props;
|
30
32
|
const {
|
31
33
|
theme
|
@@ -34,6 +36,7 @@ const ColorPicker = props => {
|
|
34
36
|
const [anchorEl, setAnchorEl] = useState(null);
|
35
37
|
const open = Boolean(anchorEl);
|
36
38
|
const pickerStyles = ColorPickerStyles(theme);
|
39
|
+
const muiTheme = useTheme();
|
37
40
|
const onOpen = e => {
|
38
41
|
e.preventDefault();
|
39
42
|
setAnchorEl(e.currentTarget);
|
@@ -58,7 +61,7 @@ const ColorPicker = props => {
|
|
58
61
|
setAnchorEl(null);
|
59
62
|
setSelection(null);
|
60
63
|
};
|
61
|
-
const activeColor = activeMark(editor, format) || DEFAULT_COLOR[format];
|
64
|
+
const activeColor = type === "textColor" ? getSelectedElementColor(editor, format, muiTheme) : activeMark(editor, format) || DEFAULT_COLOR[format];
|
62
65
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
63
66
|
children: [forMiniTool ? null : /*#__PURE__*/_jsx(Tooltip, {
|
64
67
|
title: title,
|
@@ -96,10 +99,10 @@ const ColorPicker = props => {
|
|
96
99
|
horizontal: "top"
|
97
100
|
},
|
98
101
|
sx: classes.colorPickerPopup,
|
99
|
-
children: /*#__PURE__*/_jsx(
|
102
|
+
children: /*#__PURE__*/_jsx(CustomColorPicker, {
|
100
103
|
gradient: true,
|
101
|
-
|
102
|
-
|
104
|
+
onChange: handleFormSubmit,
|
105
|
+
color: activeColor
|
103
106
|
})
|
104
107
|
})]
|
105
108
|
});
|
@@ -20,24 +20,26 @@ const ColorPickerStyles = theme => ({
|
|
20
20
|
background: `${theme?.palette?.editor?.miniToolBarBackground}`,
|
21
21
|
border: `1px solid ${theme?.palette?.editor?.miniToolBarBorder} !important`,
|
22
22
|
borderRadius: "7px !important",
|
23
|
-
padding: "0px
|
24
|
-
|
23
|
+
padding: "0px 10px",
|
24
|
+
"@media only screen and (max-width: 600px)": {
|
25
25
|
marginTop: "-40px"
|
26
26
|
}
|
27
27
|
}
|
28
28
|
},
|
29
29
|
colorButtonSingle: {
|
30
|
+
border: "1.5px solid #DCE4EC !important",
|
30
31
|
"&.active": {
|
31
|
-
"&:before": {
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
}
|
32
|
+
// "&:before": {
|
33
|
+
// content: '" "',
|
34
|
+
// position: "absolute",
|
35
|
+
// top: "-4px",
|
36
|
+
// left: "-4px",
|
37
|
+
// width: "calc(100% + 8px)",
|
38
|
+
// height: "calc(100% + 8px)",
|
39
|
+
// border: "2px solid #2563EB",
|
40
|
+
// borderRadius: "50%",
|
41
|
+
// },
|
42
|
+
outline: "2px solid #2563EB"
|
41
43
|
}
|
42
44
|
},
|
43
45
|
colorButtonsInner: {
|
@@ -59,7 +61,7 @@ const ColorPickerStyles = theme => ({
|
|
59
61
|
width: "24px",
|
60
62
|
height: "24px",
|
61
63
|
margin: "0px 4px",
|
62
|
-
border: "
|
64
|
+
border: "1.5px solid #DCE4EC"
|
63
65
|
}
|
64
66
|
},
|
65
67
|
colorPickerIcon: {
|
@@ -89,7 +89,7 @@ const VideoPlaceholder = props => {
|
|
89
89
|
},
|
90
90
|
children: [/*#__PURE__*/_jsx(Icon, {
|
91
91
|
icon: "video"
|
92
|
-
}), TYPE_LABELS[type] ||
|
92
|
+
}), translation(TYPE_LABELS[type] || "Embed Video or Other")]
|
93
93
|
}) : /*#__PURE__*/_jsxs(Box, {
|
94
94
|
sx: {
|
95
95
|
color: "#64748B !important",
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
|
-
import { Transforms
|
2
|
+
import { Transforms } 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,17 +169,19 @@ const FormStyles = theme => ({
|
|
169
169
|
}
|
170
170
|
},
|
171
171
|
colorButtonSingle: {
|
172
|
+
border: "1.5px solid #DCE4EC !important",
|
172
173
|
"&.active": {
|
173
|
-
"&:before": {
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
}
|
174
|
+
// "&:before": {
|
175
|
+
// content: '" "',
|
176
|
+
// position: "absolute",
|
177
|
+
// top: "-5px",
|
178
|
+
// left: "-5px",
|
179
|
+
// width: "calc(100% + 4px)",
|
180
|
+
// height: "calc(100% + 4px)",
|
181
|
+
// border: "3px solid blue",
|
182
|
+
// borderRadius: "50%",
|
183
|
+
// },
|
184
|
+
outline: "2px solid #2563EB"
|
183
185
|
}
|
184
186
|
},
|
185
187
|
colorButtonsInner: {
|
@@ -249,7 +251,7 @@ const FormStyles = theme => ({
|
|
249
251
|
}
|
250
252
|
},
|
251
253
|
root: {
|
252
|
-
padding:
|
254
|
+
padding: "10px"
|
253
255
|
}
|
254
256
|
});
|
255
257
|
export default FormStyles;
|
@@ -22,6 +22,7 @@ import { DEFAULT_TABLE_NODE } from "../../utils/table";
|
|
22
22
|
import itemOptions from "./Options/sectionItemOptions";
|
23
23
|
import { getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
|
24
24
|
import { useDebouncedCallback } from "use-debounce";
|
25
|
+
import { getNewElementXsValues } from "./helper";
|
25
26
|
import updateFormName from "../../utils/updateFormName";
|
26
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
27
28
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
@@ -183,6 +184,10 @@ const FreeGrid = props => {
|
|
183
184
|
const handleAddElementClick = type => () => {
|
184
185
|
const isEmpty = isEmptySection();
|
185
186
|
const insertAt = isEmpty ? [...path, 0] : [...path, childrenCountRef.current];
|
187
|
+
const {
|
188
|
+
xsVal,
|
189
|
+
sectionHeightXs
|
190
|
+
} = getNewElementXsValues(type, element?.children);
|
186
191
|
switch (type) {
|
187
192
|
case "addText":
|
188
193
|
Transforms.insertNodes(editor, [{
|
@@ -199,7 +204,8 @@ const FreeGrid = props => {
|
|
199
204
|
marginTop: 0,
|
200
205
|
top: 0,
|
201
206
|
width: 170,
|
202
|
-
height: 30
|
207
|
+
height: 30,
|
208
|
+
...(xsVal || {})
|
203
209
|
}], {
|
204
210
|
at: [...insertAt]
|
205
211
|
});
|
@@ -217,20 +223,6 @@ const FreeGrid = props => {
|
|
217
223
|
linkType: "webAddress"
|
218
224
|
},
|
219
225
|
iconPosition: "start",
|
220
|
-
bgColor: "#2563EB",
|
221
|
-
textColor: "#FFF",
|
222
|
-
borderRadius: {
|
223
|
-
topLeft: 30,
|
224
|
-
topRight: 30,
|
225
|
-
bottomLeft: 30,
|
226
|
-
bottomRight: 30
|
227
|
-
},
|
228
|
-
bannerSpacing: {
|
229
|
-
left: 12,
|
230
|
-
top: 12,
|
231
|
-
right: 12,
|
232
|
-
bottom: 12
|
233
|
-
},
|
234
226
|
textAlign: "center",
|
235
227
|
label: "Get Started"
|
236
228
|
}],
|
@@ -239,7 +231,8 @@ const FreeGrid = props => {
|
|
239
231
|
marginTop: 0,
|
240
232
|
top: 0,
|
241
233
|
width: 143,
|
242
|
-
height: 50
|
234
|
+
height: 50,
|
235
|
+
...(xsVal || {})
|
243
236
|
}], {
|
244
237
|
at: [...insertAt]
|
245
238
|
});
|
@@ -265,8 +258,9 @@ const FreeGrid = props => {
|
|
265
258
|
top: 0,
|
266
259
|
width: 217,
|
267
260
|
height: 173,
|
268
|
-
width_xs: 217,
|
269
|
-
height_xs: 173
|
261
|
+
// width_xs: 217,
|
262
|
+
// height_xs: 173,
|
263
|
+
...(xsVal || {})
|
270
264
|
}], {
|
271
265
|
at: [...insertAt]
|
272
266
|
});
|
@@ -289,7 +283,8 @@ const FreeGrid = props => {
|
|
289
283
|
marginTop: 0,
|
290
284
|
top: 0,
|
291
285
|
width: 170,
|
292
|
-
height: 80
|
286
|
+
height: 80,
|
287
|
+
...(xsVal || {})
|
293
288
|
}], {
|
294
289
|
at: [...insertAt]
|
295
290
|
});
|
@@ -302,7 +297,8 @@ const FreeGrid = props => {
|
|
302
297
|
images: []
|
303
298
|
}), {
|
304
299
|
height: 370,
|
305
|
-
width: 650
|
300
|
+
width: 650,
|
301
|
+
...(xsVal || {})
|
306
302
|
})
|
307
303
|
}], {
|
308
304
|
at: [...insertAt]
|
@@ -314,7 +310,8 @@ const FreeGrid = props => {
|
|
314
310
|
...DEFAULT_TABLE_NODE()
|
315
311
|
}, {
|
316
312
|
height: 150,
|
317
|
-
width: 400
|
313
|
+
width: 400,
|
314
|
+
...(xsVal || {})
|
318
315
|
})
|
319
316
|
}], {
|
320
317
|
at: [...insertAt]
|
@@ -338,7 +335,8 @@ const FreeGrid = props => {
|
|
338
335
|
marginTop: 0,
|
339
336
|
top: 0,
|
340
337
|
width: 400,
|
341
|
-
height: 300
|
338
|
+
height: 300,
|
339
|
+
...(xsVal || {})
|
342
340
|
}], {
|
343
341
|
at: [...insertAt]
|
344
342
|
});
|
@@ -350,7 +348,9 @@ const FreeGrid = props => {
|
|
350
348
|
children: [{
|
351
349
|
text: ""
|
352
350
|
}]
|
353
|
-
}, {
|
351
|
+
}, {
|
352
|
+
...(xsVal || {})
|
353
|
+
}, "freegridBox")
|
354
354
|
}], {
|
355
355
|
at: [...insertAt]
|
356
356
|
});
|
@@ -361,7 +361,8 @@ const FreeGrid = props => {
|
|
361
361
|
...FORM_NODE()
|
362
362
|
}, {
|
363
363
|
height: 92,
|
364
|
-
width: 400
|
364
|
+
width: 400,
|
365
|
+
...(xsVal || {})
|
365
366
|
})
|
366
367
|
}], {
|
367
368
|
at: [...insertAt]
|
@@ -375,7 +376,8 @@ const FreeGrid = props => {
|
|
375
376
|
})
|
376
377
|
}, {
|
377
378
|
height: 60,
|
378
|
-
width: 400
|
379
|
+
width: 400,
|
380
|
+
...(xsVal || {})
|
379
381
|
})
|
380
382
|
}], {
|
381
383
|
at: [...insertAt]
|
@@ -396,19 +398,18 @@ const FreeGrid = props => {
|
|
396
398
|
marginTop: 0,
|
397
399
|
top: 0,
|
398
400
|
width: 170,
|
399
|
-
height: 30
|
401
|
+
height: 30,
|
402
|
+
...(xsVal || {})
|
400
403
|
}], {
|
401
404
|
at: [...insertAt]
|
402
405
|
});
|
403
406
|
break;
|
404
407
|
default:
|
405
408
|
}
|
406
|
-
if (
|
409
|
+
if (xsVal) {
|
407
410
|
setSelectedElement({});
|
408
|
-
|
409
|
-
// auto align in mobile
|
410
411
|
Transforms.setNodes(editor, {
|
411
|
-
|
412
|
+
height_xs: sectionHeightXs,
|
412
413
|
updated_at: new Date().getTime()
|
413
414
|
}, {
|
414
415
|
at: path
|
@@ -8,7 +8,7 @@ import { onDropItem, ROW_HEIGHT } from "../../common/RnD/Utils/gridDropItem";
|
|
8
8
|
import useBreakpoints from "../../hooks/useBreakpoints";
|
9
9
|
import { breakpointValues, formatBreakpointValues } from "./breakpointConstants";
|
10
10
|
import { useEditorContext } from "../../hooks/useMouseMove";
|
11
|
-
import { getBreakPointsValue } from "../../helper/theme";
|
11
|
+
import { getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
|
12
12
|
import focusOnNewItem from "../../helper/RnD/focusOnNewItem";
|
13
13
|
import { bringItemToFB } from "../../helper";
|
14
14
|
import itemOptions from "./Options/sectionItemOptions";
|
@@ -160,6 +160,11 @@ const FreeGridBox = props => {
|
|
160
160
|
const isBoxHeader = useMemo(() => {
|
161
161
|
return element?.children?.some(c => c.childType === "appHeader" && !c.xs_updatedOn);
|
162
162
|
}, [element]);
|
163
|
+
const boxSp = groupByBreakpoint({
|
164
|
+
borderRadius: {
|
165
|
+
...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
|
166
|
+
}
|
167
|
+
}, theme);
|
163
168
|
return /*#__PURE__*/_jsx(RnD, {
|
164
169
|
id: `freegrid_box_item_${path.join("|")}_${updated_at}_${breakpoint}`,
|
165
170
|
className: `freegrid-item path-${path.length} breakpoint-${breakpoint} freegrid-box_${path.join("_")}`,
|
@@ -226,9 +231,7 @@ const FreeGridBox = props => {
|
|
226
231
|
"--rows": `repeat(${repeatTimes}, ${ROW_HEIGHT}px)`
|
227
232
|
},
|
228
233
|
sx: {
|
229
|
-
|
230
|
-
...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
|
231
|
-
},
|
234
|
+
...boxSp,
|
232
235
|
background: sectionBgColor,
|
233
236
|
backgroundImage: sectionBackgroundImage ? `url('${sectionBackgroundImage}')` : "",
|
234
237
|
borderColor: borderColor || "transparent",
|