@flozy/editor 4.8.2 → 4.8.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Editor/CommonEditor.js +6 -6
- package/dist/Editor/Editor.css +8 -1
- package/dist/Editor/Elements/AI/AIInput.js +4 -5
- package/dist/Editor/Elements/AI/PopoverAIInput.js +78 -62
- package/dist/Editor/Elements/AI/Styles.js +1 -0
- package/dist/Editor/Elements/Divider/Divider.js +9 -4
- package/dist/Editor/Elements/Embed/EmbedPopup.js +7 -1
- package/dist/Editor/Elements/Form/Form.js +38 -2
- package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +7 -1
- package/dist/Editor/Elements/Form/FormElements/FormDate.js +7 -1
- package/dist/Editor/Elements/Form/FormElements/FormEmail.js +7 -1
- package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +7 -1
- package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +7 -1
- package/dist/Editor/Elements/Form/FormElements/FormText.js +7 -1
- package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +6 -1
- package/dist/Editor/Elements/Form/FormPopup.js +12 -9
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +20 -1
- package/dist/Editor/Elements/Grid/GridItem.js +7 -2
- package/dist/Editor/Elements/Search/SearchAttachment.js +98 -0
- package/dist/Editor/Elements/Search/SearchButton.js +111 -0
- package/dist/Editor/Elements/Search/SearchList.js +207 -0
- package/dist/Editor/Styles/EditorStyles.js +1 -1
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
- package/dist/Editor/Toolbar/Toolbar.js +8 -0
- package/dist/Editor/Toolbar/toolbarGroups.js +5 -0
- package/dist/Editor/assets/svg/BrainIcon.js +37 -0
- package/dist/Editor/assets/svg/DocsIcon.js +38 -0
- package/dist/Editor/assets/svg/UserIcon.js +23 -0
- package/dist/Editor/common/Icon.js +7 -1
- package/dist/Editor/common/MentionsPopup/index.js +4 -2
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +0 -1
- package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +144 -12
- package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -3
- package/dist/Editor/common/Section/index.js +2 -4
- package/dist/Editor/common/Shorthands/elements.js +13 -0
- package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +1 -1
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +5 -2
- package/dist/Editor/common/StyleBuilder/formStyle.js +206 -119
- package/dist/Editor/common/StyleBuilder/gridItemStyle.js +5 -0
- package/dist/Editor/common/StyleBuilder/index.js +123 -10
- package/dist/Editor/plugins/withCustomDeleteBackward.js +53 -2
- package/dist/Editor/utils/Decorators/highlightSelection.js +22 -0
- package/dist/Editor/utils/Decorators/index.js +3 -2
- package/dist/Editor/utils/SlateUtilityFunctions.js +14 -0
- package/dist/Editor/utils/brains.js +16 -0
- package/dist/Editor/utils/font.js +11 -4
- package/dist/Editor/utils/formfield.js +8 -4
- package/dist/Editor/utils/helper.js +15 -2
- package/package.json +1 -1
@@ -320,9 +320,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
320
320
|
const renderElement = useCallback(props => {
|
321
321
|
return /*#__PURE__*/_jsx(Element, {
|
322
322
|
...props,
|
323
|
-
customProps: customProps
|
323
|
+
customProps: customProps,
|
324
|
+
theme: theme
|
324
325
|
});
|
325
|
-
}, []);
|
326
|
+
}, [theme]);
|
326
327
|
const renderLeaf = useCallback(props => {
|
327
328
|
return /*#__PURE__*/_jsx(Leaf, {
|
328
329
|
...props,
|
@@ -535,7 +536,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
535
536
|
readOnly: isReadOnly,
|
536
537
|
renderElement: renderElement,
|
537
538
|
renderLeaf: renderLeaf,
|
538
|
-
decorate: decorators,
|
539
|
+
decorate: d => decorators(d, editor),
|
539
540
|
onKeyDown: onKeyDown,
|
540
541
|
onSelect: () => handleCursorScroll(editorWrapper.current)
|
541
542
|
}), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
|
@@ -547,7 +548,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
547
548
|
index: index,
|
548
549
|
chars: chars,
|
549
550
|
type: type,
|
550
|
-
theme: theme
|
551
|
+
theme: theme,
|
552
|
+
otherProps: otherProps
|
551
553
|
}) : null, /*#__PURE__*/_jsx(RnDCopy, {
|
552
554
|
readOnly: readOnly
|
553
555
|
})]
|
@@ -585,8 +587,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
|
|
585
587
|
}), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
|
586
588
|
...htmlAction,
|
587
589
|
handleCodeToText: handleCodeToText
|
588
|
-
}), /*#__PURE__*/_jsx(FontLoader, {
|
589
|
-
...props
|
590
590
|
})]
|
591
591
|
}, id)
|
592
592
|
})
|
package/dist/Editor/Editor.css
CHANGED
@@ -1225,5 +1225,12 @@ blockquote {
|
|
1225
1225
|
@media (max-width: 899px) {
|
1226
1226
|
.MuiPopover-root {
|
1227
1227
|
z-index: 1302 !important;
|
1228
|
-
|
1228
|
+
}
|
1229
|
+
}
|
1230
|
+
|
1231
|
+
.settingsHeader {
|
1232
|
+
font-size: 14px !important;
|
1233
|
+
font-weight: 600 !important;
|
1234
|
+
font-family: Inter, sans-serif;
|
1235
|
+
text-transform: uppercase;
|
1229
1236
|
}
|
@@ -90,6 +90,7 @@ function AIInput({
|
|
90
90
|
children: [/*#__PURE__*/_jsxs(Box, {
|
91
91
|
component: "div",
|
92
92
|
sx: classes.aiContainer,
|
93
|
+
ref: refs[0],
|
93
94
|
children: [generatedText ? /*#__PURE__*/_jsx(Typography, {
|
94
95
|
sx: classes.generatedText,
|
95
96
|
style: {
|
@@ -104,7 +105,6 @@ function AIInput({
|
|
104
105
|
onSubmit: e => {
|
105
106
|
e.preventDefault();
|
106
107
|
},
|
107
|
-
ref: refs[0],
|
108
108
|
children: [/*#__PURE__*/_jsx("div", {
|
109
109
|
className: "icon-container icons-elements",
|
110
110
|
ref: inputWrapperRef,
|
@@ -116,22 +116,21 @@ function AIInput({
|
|
116
116
|
children: /*#__PURE__*/_jsx(WaveLoading, {})
|
117
117
|
}) : /*#__PURE__*/_jsx(TextareaAutosize, {
|
118
118
|
className: "ai-input",
|
119
|
-
placeholder:
|
119
|
+
placeholder: "Ask AI to write anything...",
|
120
120
|
ref: inputRef,
|
121
121
|
value: inputValue,
|
122
122
|
onChange: onInputChange,
|
123
|
-
disabled: fromToolBar,
|
124
123
|
onKeyDown: event => {
|
125
124
|
if (event.key === "Enter" && !event.shiftKey) {
|
126
125
|
event.preventDefault();
|
127
126
|
handleSendBtnClick();
|
128
127
|
}
|
129
128
|
}
|
130
|
-
}),
|
129
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
131
130
|
component: "div",
|
132
131
|
style: classes.sendIconContainer,
|
133
132
|
className: "icons-elements",
|
134
|
-
children: [
|
133
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
135
134
|
disabled: loading,
|
136
135
|
onClick: () => startRecording(),
|
137
136
|
children: /*#__PURE__*/_jsx(ChatMicIcon, {})
|
@@ -40,9 +40,11 @@ const scrollToAIInput = editor => {
|
|
40
40
|
}, 200);
|
41
41
|
};
|
42
42
|
const insertText = (editor, text, options) => {
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
if (text?.length) {
|
44
|
+
const parsed = new DOMParser().parseFromString(text, "text/html");
|
45
|
+
const fragment = deserialize(parsed.body);
|
46
|
+
Transforms.insertFragment(editor, fragment, options);
|
47
|
+
}
|
46
48
|
};
|
47
49
|
const insertAtNextLine = (editor, text) => {
|
48
50
|
const nextLine = getNextLine(editor);
|
@@ -199,81 +201,95 @@ function PopoverAIInput({
|
|
199
201
|
useEffect(() => {
|
200
202
|
selectedEleRef.current = selectedElement;
|
201
203
|
}, [selectedElement]);
|
202
|
-
const
|
203
|
-
|
204
|
-
onClickOutside();
|
205
|
-
return;
|
206
|
-
}
|
207
|
-
if (type === "done") {
|
208
|
-
// Get the current selection point
|
209
|
-
const {
|
210
|
-
anchor
|
211
|
-
} = editor.selection;
|
212
|
-
const {
|
213
|
-
path
|
214
|
-
} = anchor;
|
215
|
-
const {
|
216
|
-
text: selectText
|
217
|
-
} = Node.get(editor, path);
|
218
|
-
if (selectText?.length) {
|
219
|
-
insertAtNextLine(editor, generatedText);
|
220
|
-
} else {
|
221
|
-
insertText(editor, generatedText);
|
222
|
-
}
|
223
|
-
onClickOutside();
|
224
|
-
return;
|
225
|
-
}
|
226
|
-
if (type === "replace_selection") {
|
227
|
-
// replace generated text
|
228
|
-
insertText(editor, generatedText);
|
229
|
-
onClickOutside();
|
230
|
-
return;
|
231
|
-
}
|
232
|
-
if (type === "speech_to_text") {
|
233
|
-
setGeneratedText(option.text);
|
234
|
-
return;
|
235
|
-
}
|
236
|
-
if (type === "try_again") {
|
237
|
-
// resetting the previous option and try again
|
238
|
-
option = selectedOption;
|
239
|
-
type = selectedOption.value;
|
240
|
-
} else {
|
241
|
-
setSelectedOption(option);
|
242
|
-
}
|
243
|
-
setLoading(true);
|
244
|
-
const payload = {
|
204
|
+
const framePayload = (type, option) => {
|
205
|
+
let payload = {
|
245
206
|
mode: option.mode || 0,
|
246
207
|
query: option?.inputValue || inputValue
|
247
208
|
};
|
248
209
|
if (option.mode === MODES.translate || option.mode === MODES.rephraseTone) {
|
249
210
|
payload.textOptionInput = type;
|
250
211
|
}
|
212
|
+
const selectedText = getSelectedText(editor);
|
213
|
+
const textData = generatedText || selectedText;
|
251
214
|
if (option.mode) {
|
252
|
-
payload.textData =
|
215
|
+
payload.textData = textData;
|
216
|
+
} else if (selectedText && Number(payload.mode) === 0) {
|
217
|
+
payload.query = `${selectedText} \n ${payload.query}`;
|
253
218
|
}
|
254
|
-
const
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
} = result || {};
|
260
|
-
if (!text) {
|
261
|
-
onClickOutside();
|
262
|
-
return;
|
219
|
+
const tryAgain = type === "try_again";
|
220
|
+
if (tryAgain) {
|
221
|
+
// resetting previous payload
|
222
|
+
const prevPayload = selectedOption?.payload || {};
|
223
|
+
payload = prevPayload;
|
263
224
|
}
|
264
|
-
|
225
|
+
return payload;
|
226
|
+
};
|
227
|
+
const onSend = async (type, option) => {
|
228
|
+
try {
|
229
|
+
if (type === "close") {
|
230
|
+
onClickOutside();
|
231
|
+
return;
|
232
|
+
}
|
233
|
+
if (type === "done") {
|
234
|
+
// Get the current selection point
|
235
|
+
const {
|
236
|
+
anchor
|
237
|
+
} = editor.selection;
|
238
|
+
const {
|
239
|
+
path
|
240
|
+
} = anchor;
|
241
|
+
const {
|
242
|
+
text: selectText
|
243
|
+
} = Node.get(editor, path);
|
244
|
+
if (selectText?.length) {
|
245
|
+
insertAtNextLine(editor, generatedText);
|
246
|
+
} else {
|
247
|
+
insertText(editor, generatedText);
|
248
|
+
}
|
249
|
+
onClickOutside();
|
250
|
+
return;
|
251
|
+
}
|
252
|
+
if (type === "replace_selection") {
|
253
|
+
// replace generated text
|
254
|
+
insertText(editor, generatedText);
|
255
|
+
onClickOutside();
|
256
|
+
return;
|
257
|
+
}
|
258
|
+
setLoading(true);
|
259
|
+
const payload = framePayload(type, option);
|
260
|
+
setSelectedOption({
|
261
|
+
...option,
|
262
|
+
payload
|
263
|
+
});
|
264
|
+
const result = await services("infinityAI", payload);
|
265
|
+
setLoading(false);
|
266
|
+
setInputValue("");
|
267
|
+
let {
|
268
|
+
data: text
|
269
|
+
} = result || {};
|
270
|
+
if (!text) {
|
271
|
+
onClickOutside();
|
272
|
+
return;
|
273
|
+
}
|
274
|
+
|
275
|
+
// if (!option.replace) {
|
265
276
|
if (type === "continue_writing") {
|
266
277
|
setGeneratedText(generatedText + text);
|
267
278
|
} else {
|
268
279
|
setGeneratedText(text);
|
269
280
|
}
|
270
|
-
return;
|
271
|
-
}
|
272
|
-
insertText(editor, text);
|
273
281
|
|
274
|
-
|
275
|
-
|
282
|
+
// return;
|
283
|
+
// }
|
276
284
|
|
285
|
+
// ** we are not using this insertText right now, AI returned response will not insert into the editor immediately, so option.replace will be false always
|
286
|
+
// insertText(editor, text);
|
287
|
+
|
288
|
+
// scrollToAIInput();
|
289
|
+
} catch (err) {
|
290
|
+
console.error("Error on sending/inserting text", err);
|
291
|
+
}
|
292
|
+
};
|
277
293
|
const onInputChange = e => {
|
278
294
|
setInputValue(e.target.value);
|
279
295
|
};
|
@@ -38,10 +38,16 @@ const Divider = props => {
|
|
38
38
|
setOpenSettings(true);
|
39
39
|
};
|
40
40
|
const DividerToolbar = ({
|
41
|
+
readOnly,
|
41
42
|
selected,
|
42
43
|
showTool,
|
43
44
|
onSettings
|
44
45
|
}) => {
|
46
|
+
const hoverStyles = readOnly ? {
|
47
|
+
'&.MuiIconButton-root:hover': {
|
48
|
+
background: theme?.palette?.type === 'dark' ? `${theme?.palette?.greyshades?.light8} !important` : `${theme?.palette?.containers?.card} !important`
|
49
|
+
}
|
50
|
+
} : {};
|
45
51
|
return /*#__PURE__*/_jsx("div", {
|
46
52
|
contentEditable: false,
|
47
53
|
className: "divider-settings",
|
@@ -62,9 +68,7 @@ const Divider = props => {
|
|
62
68
|
'& svg': {
|
63
69
|
stroke: theme?.palette?.text?.secondary3
|
64
70
|
},
|
65
|
-
|
66
|
-
background: theme?.palette?.type === 'dark' ? `${theme?.palette?.greyshades?.light8} !important` : `${theme?.palette?.containers?.card} !important`
|
67
|
-
}
|
71
|
+
...hoverStyles
|
68
72
|
},
|
69
73
|
onClick: onSettings,
|
70
74
|
children: /*#__PURE__*/_jsx(GridSettingsIcon, {})
|
@@ -110,7 +114,8 @@ const Divider = props => {
|
|
110
114
|
children: /*#__PURE__*/_jsx(DividerToolbar, {
|
111
115
|
selected: selected,
|
112
116
|
showTool: showTool,
|
113
|
-
onSettings: onSettings
|
117
|
+
onSettings: onSettings,
|
118
|
+
readOnly: readOnly
|
114
119
|
})
|
115
120
|
}), /*#__PURE__*/_jsx("hr", {
|
116
121
|
contentEditable: false,
|
@@ -12,13 +12,19 @@ const EmbedPopup = props => {
|
|
12
12
|
format,
|
13
13
|
onDelete
|
14
14
|
} = props;
|
15
|
+
const videoStyles = embedVideoStyle?.filter(f => {
|
16
|
+
if (f?.value === "AspectRatio" && format !== "video") {
|
17
|
+
return false;
|
18
|
+
}
|
19
|
+
return true;
|
20
|
+
});
|
15
21
|
return /*#__PURE__*/_jsx(StyleBuilder, {
|
16
22
|
title: format === "image" ? "Image" : format === "video" ? "video" : format === "calendly" ? "calendly" : "Embed",
|
17
23
|
type: format === "image" ? "embedImageStyle" : "embedVideoStyle",
|
18
24
|
element: element,
|
19
25
|
onSave: onSave,
|
20
26
|
onClose: onClose,
|
21
|
-
renderTabs: format === "image" ? embedImageStyle :
|
27
|
+
renderTabs: format === "image" ? embedImageStyle : videoStyles,
|
22
28
|
customProps: customProps,
|
23
29
|
onDelete: onDelete
|
24
30
|
});
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import React, { useState, useRef, useEffect } from "react";
|
2
2
|
import { Transforms } from "slate";
|
3
|
+
import { Node } from "slate";
|
3
4
|
import { useSlateStatic, ReactEditor } from "slate-react";
|
4
5
|
import { IconButton, Tooltip, Grid, Menu, MenuItem, CircularProgress, Box, Typography, useTheme } from "@mui/material";
|
5
6
|
import DeleteIcon from "@mui/icons-material/Delete";
|
@@ -48,7 +49,15 @@ const Form = props => {
|
|
48
49
|
textSize,
|
49
50
|
fontFamily,
|
50
51
|
textAlign,
|
51
|
-
alignment
|
52
|
+
alignment,
|
53
|
+
fieldFontFamily,
|
54
|
+
fieldFontWeight,
|
55
|
+
fieldTextSize,
|
56
|
+
fieldTextColor,
|
57
|
+
fieldBgColor,
|
58
|
+
fieldBorderColor,
|
59
|
+
fieldBorderWidth,
|
60
|
+
fieldBorderStyle
|
52
61
|
} = element;
|
53
62
|
const btnR = buttonProps?.borderRadius || {};
|
54
63
|
const btnSpacing = buttonProps?.bannerSpacing || {};
|
@@ -190,6 +199,24 @@ const Form = props => {
|
|
190
199
|
}, {
|
191
200
|
at: path
|
192
201
|
});
|
202
|
+
// adding form field style to the current form node
|
203
|
+
const currentNode = Node.get(editor, path);
|
204
|
+
if (currentNode) {
|
205
|
+
currentNode.children.forEach((item, index) => {
|
206
|
+
Transforms.setNodes(editor, {
|
207
|
+
bgColor: data?.fieldBgColor ? data?.fieldBgColor : "rgba(255, 255, 255, 1)",
|
208
|
+
borderColor: data?.fieldBorderColor ? data?.fieldBorderColor : "#ccc",
|
209
|
+
borderStyle: data?.fieldBorderStyle ? data?.fieldBorderStyle : "",
|
210
|
+
borderWidth: data?.fieldBorderWidth ? data?.fieldBorderWidth : "",
|
211
|
+
textColor: data?.fieldTextColor ? data?.fieldTextColor : "",
|
212
|
+
fontFamily: data?.fieldFontFamily ? data?.fieldFontFamily : "",
|
213
|
+
textSize: data?.fieldTextSize ? data?.fieldTextSize : "",
|
214
|
+
fontWeight: data?.fieldFontWeight ? data?.fieldFontWeight : ""
|
215
|
+
}, {
|
216
|
+
at: [...path, index]
|
217
|
+
});
|
218
|
+
});
|
219
|
+
}
|
193
220
|
onClose();
|
194
221
|
};
|
195
222
|
const onClose = () => {
|
@@ -198,7 +225,16 @@ const Form = props => {
|
|
198
225
|
const onAddFormField = () => {
|
199
226
|
try {
|
200
227
|
Transforms.insertNodes(editor, {
|
201
|
-
...formField(
|
228
|
+
...formField({
|
229
|
+
fontFamily: fieldFontFamily,
|
230
|
+
fontWeight: fieldFontWeight,
|
231
|
+
textSize: fieldTextSize,
|
232
|
+
textColor: fieldTextColor,
|
233
|
+
bgColor: fieldBgColor,
|
234
|
+
borderColor: fieldBorderColor,
|
235
|
+
borderWidth: fieldBorderWidth,
|
236
|
+
borderStyle: fieldBorderStyle
|
237
|
+
})
|
202
238
|
}, {
|
203
239
|
at: [...path, children.length]
|
204
240
|
});
|
@@ -16,6 +16,9 @@ const FormCheckbox = props => {
|
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
18
|
lockSpacing,
|
19
|
+
textSize,
|
20
|
+
fontFamily,
|
21
|
+
fontWeight,
|
19
22
|
...rest
|
20
23
|
} = fieldProps;
|
21
24
|
const onChange = e => {
|
@@ -46,7 +49,10 @@ const FormCheckbox = props => {
|
|
46
49
|
},
|
47
50
|
borderStyle: borderStyle || "solid",
|
48
51
|
color: textColor || "#000",
|
49
|
-
background: bgColor || "transparent"
|
52
|
+
background: bgColor || "transparent",
|
53
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
54
|
+
fontSize: textSize || "inherit",
|
55
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
50
56
|
}
|
51
57
|
})
|
52
58
|
});
|
@@ -16,6 +16,9 @@ const FormDate = props => {
|
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
18
|
lockSpacing,
|
19
|
+
textSize,
|
20
|
+
fontFamily,
|
21
|
+
fontWeight,
|
19
22
|
...rest
|
20
23
|
} = fieldProps;
|
21
24
|
const onChange = e => {
|
@@ -47,7 +50,10 @@ const FormDate = props => {
|
|
47
50
|
borderStyle: borderStyle || "solid",
|
48
51
|
color: textColor || "#000",
|
49
52
|
background: bgColor || "transparent",
|
50
|
-
paddingRight: '85px !important'
|
53
|
+
paddingRight: '85px !important',
|
54
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
55
|
+
fontSize: textSize || "inherit",
|
56
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
51
57
|
}
|
52
58
|
})
|
53
59
|
});
|
@@ -16,6 +16,9 @@ const FormEmail = props => {
|
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
18
|
lockSpacing,
|
19
|
+
textSize,
|
20
|
+
fontFamily,
|
21
|
+
fontWeight,
|
19
22
|
...rest
|
20
23
|
} = fieldProps;
|
21
24
|
const onChange = e => {
|
@@ -47,7 +50,10 @@ const FormEmail = props => {
|
|
47
50
|
},
|
48
51
|
borderStyle: borderStyle || "solid",
|
49
52
|
color: textColor || "#000",
|
50
|
-
background: bgColor || "transparent"
|
53
|
+
background: bgColor || "transparent",
|
54
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
55
|
+
fontSize: textSize || "inherit",
|
56
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
51
57
|
}
|
52
58
|
})
|
53
59
|
});
|
@@ -16,6 +16,9 @@ const FormNumbers = props => {
|
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
18
|
lockSpacing,
|
19
|
+
textSize,
|
20
|
+
fontFamily,
|
21
|
+
fontWeight,
|
19
22
|
...rest
|
20
23
|
} = fieldProps;
|
21
24
|
const onChange = e => {
|
@@ -63,7 +66,10 @@ const FormNumbers = props => {
|
|
63
66
|
},
|
64
67
|
borderStyle: borderStyle || "solid",
|
65
68
|
color: textColor || "#000",
|
66
|
-
background: bgColor || "transparent"
|
69
|
+
background: bgColor || "transparent",
|
70
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
71
|
+
fontSize: textSize || "inherit",
|
72
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
67
73
|
}
|
68
74
|
})
|
69
75
|
});
|
@@ -16,6 +16,9 @@ const FormRadioButton = props => {
|
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
18
|
lockSpacing,
|
19
|
+
textSize,
|
20
|
+
fontFamily,
|
21
|
+
fontWeight,
|
19
22
|
...rest
|
20
23
|
} = fieldProps;
|
21
24
|
const onChange = e => {
|
@@ -46,7 +49,10 @@ const FormRadioButton = props => {
|
|
46
49
|
},
|
47
50
|
borderStyle: borderStyle || "solid",
|
48
51
|
color: textColor || "#000",
|
49
|
-
background: bgColor || "transparent"
|
52
|
+
background: bgColor || "transparent",
|
53
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
54
|
+
fontSize: textSize || "inherit",
|
55
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
50
56
|
}
|
51
57
|
})
|
52
58
|
});
|
@@ -16,6 +16,9 @@ const FormText = props => {
|
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
18
|
lockSpacing,
|
19
|
+
textSize,
|
20
|
+
fontFamily,
|
21
|
+
fontWeight,
|
19
22
|
...rest
|
20
23
|
} = fieldProps;
|
21
24
|
const onChange = e => {
|
@@ -45,7 +48,10 @@ const FormText = props => {
|
|
45
48
|
},
|
46
49
|
borderStyle: borderStyle || "solid",
|
47
50
|
color: textColor || "#000",
|
48
|
-
background: bgColor || "transparent"
|
51
|
+
background: bgColor || "transparent",
|
52
|
+
fontSize: textSize || "inherit",
|
53
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
54
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
49
55
|
}
|
50
56
|
})
|
51
57
|
});
|
@@ -15,6 +15,9 @@ const FormTextArea = props => {
|
|
15
15
|
borderColor,
|
16
16
|
textColor,
|
17
17
|
bgColor,
|
18
|
+
textSize,
|
19
|
+
fontFamily,
|
20
|
+
fontWeight,
|
18
21
|
...rest
|
19
22
|
} = fieldProps;
|
20
23
|
const onChange = e => {
|
@@ -45,7 +48,9 @@ const FormTextArea = props => {
|
|
45
48
|
borderStyle: borderStyle || "solid",
|
46
49
|
color: `${textColor || "#000"} !important`,
|
47
50
|
background: `${bgColor || "transparent"} !important`,
|
48
|
-
fontSize:
|
51
|
+
fontSize: textSize || "14px",
|
52
|
+
fontFamily: fontFamily || "PoppinsRegular",
|
53
|
+
fontWeight: `${fontWeight} !important` || "400 !important"
|
49
54
|
}
|
50
55
|
})
|
51
56
|
});
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import StyleBuilder from "../../common/StyleBuilder";
|
3
|
-
import formStyle from "../../common/StyleBuilder/formStyle";
|
3
|
+
import { formStyle } from "../../common/StyleBuilder/formStyle";
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
5
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
5
6
|
const FormPopup = props => {
|
6
7
|
const {
|
7
8
|
element,
|
@@ -9,14 +10,16 @@ const FormPopup = props => {
|
|
9
10
|
onClose,
|
10
11
|
customProps
|
11
12
|
} = props;
|
12
|
-
return /*#__PURE__*/_jsx(
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
14
|
+
children: /*#__PURE__*/_jsx(StyleBuilder, {
|
15
|
+
title: "Form",
|
16
|
+
type: "formStyle",
|
17
|
+
element: element,
|
18
|
+
onSave: onSave,
|
19
|
+
onClose: onClose,
|
20
|
+
renderTabs: formStyle,
|
21
|
+
customProps: customProps
|
22
|
+
})
|
20
23
|
});
|
21
24
|
};
|
22
25
|
export default FormPopup;
|
@@ -144,8 +144,27 @@ const FreeGridItem = props => {
|
|
144
144
|
};
|
145
145
|
const onAddFormField = () => {
|
146
146
|
try {
|
147
|
+
const {
|
148
|
+
fieldFontFamily,
|
149
|
+
fieldFontWeight,
|
150
|
+
fieldTextSize,
|
151
|
+
fieldTextColor,
|
152
|
+
fieldBgColor,
|
153
|
+
fieldBorderColor,
|
154
|
+
fieldBorderWidth,
|
155
|
+
fieldBorderStyle
|
156
|
+
} = element?.children[0];
|
147
157
|
Transforms.insertNodes(editor, {
|
148
|
-
...formField(
|
158
|
+
...formField({
|
159
|
+
fontFamily: fieldFontFamily ? fieldFontFamily : "",
|
160
|
+
fontWeight: fieldFontWeight ? fieldFontWeight : "",
|
161
|
+
textSize: fieldTextSize ? fieldTextSize : "",
|
162
|
+
textColor: fieldTextColor ? fieldTextColor : "",
|
163
|
+
bgColor: fieldBgColor ? fieldBgColor : "",
|
164
|
+
borderColor: fieldBorderColor ? fieldBorderColor : "",
|
165
|
+
borderWidth: fieldBorderWidth ? fieldBorderWidth : "",
|
166
|
+
borderStyle: fieldBorderStyle ? fieldBorderStyle : ""
|
167
|
+
})
|
149
168
|
}, {
|
150
169
|
at: [...path, 0, 0]
|
151
170
|
});
|
@@ -62,7 +62,8 @@ const GridItem = props => {
|
|
62
62
|
textColor,
|
63
63
|
animation,
|
64
64
|
cellGHeight,
|
65
|
-
xsHidden
|
65
|
+
xsHidden,
|
66
|
+
forceFullWidth
|
66
67
|
} = element;
|
67
68
|
const {
|
68
69
|
vertical,
|
@@ -105,13 +106,17 @@ const GridItem = props => {
|
|
105
106
|
const getBorderColor = () => {
|
106
107
|
return borderColor || "transparent";
|
107
108
|
};
|
109
|
+
|
110
|
+
// getting Grid Item Width value
|
111
|
+
const gridWidthBreakPointsValue = getBreakPointsValue(grid, null, "overrideGridSize", true);
|
108
112
|
const getBRProps = groupByBreakpoint({
|
109
113
|
display: {
|
110
114
|
xs: xsHidden ? "none" : "inline-block",
|
111
115
|
lg: "inline-block"
|
112
116
|
},
|
113
117
|
width: {
|
114
|
-
...getBreakPointsValue(grid, null, "overrideGridSize", true)
|
118
|
+
...getBreakPointsValue(grid, null, "overrideGridSize", true),
|
119
|
+
xs: forceFullWidth ? "100%" : gridWidthBreakPointsValue?.xs
|
115
120
|
},
|
116
121
|
height: {
|
117
122
|
...getBreakPointsValue(cellGHeight || "auto")
|