@flozy/editor 10.7.0 → 10.7.2
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 +126 -15
- package/dist/Editor/DialogWrapper.js +31 -25
- package/dist/Editor/Editor.css +39 -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/Attachments/AttachmentStyles.js +16 -0
- package/dist/Editor/Elements/Attachments/Attachments.js +153 -11
- package/dist/Editor/Elements/Attachments/AttachmentsButton.js +14 -4
- 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/Embed.js +36 -43
- package/dist/Editor/Elements/Embed/Image.js +240 -23
- package/dist/Editor/Elements/Embed/Video.js +246 -15
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
- package/dist/Editor/Elements/Form/Workflow/constant.js +25 -1
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +39 -33
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +7 -4
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -0
- 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/PageSettings/PageSettingsButton.js +2 -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/TopBanner/TopBanner.js +6 -1
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +8 -2
- package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
- package/dist/Editor/MiniEditor.js +2 -1
- package/dist/Editor/Styles/EditorStyles.js +20 -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 +19 -5
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +16 -7
- 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 +70 -12
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +5 -2
- package/dist/Editor/Toolbar/toolbarGroups.js +56 -10
- 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 +45 -7
- package/dist/Editor/common/ImageSelector/Options/Upload.js +26 -11
- package/dist/Editor/common/ImageSelector/Styles.js +3 -9
- package/dist/Editor/common/LinkSettings/NavComponents.js +6 -2
- package/dist/Editor/common/MentionsPopup/index.js +9 -1
- 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 +20 -7
- 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 +20 -7
- 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 +48 -13
- package/dist/Editor/common/Shorthands/elements.js +62 -4
- 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 +20 -2
- 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/StyleBuilder/index.js +8 -4
- package/dist/Editor/common/Uploader.js +125 -17
- package/dist/Editor/common/UploaderWithProgress.js +183 -0
- package/dist/Editor/common/iconslist.js +21 -0
- package/dist/Editor/commonStyle.js +107 -64
- package/dist/Editor/helper/index.js +10 -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 +7 -3
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/service/fileupload.js +53 -0
- 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 +182 -21
- package/dist/Editor/utils/accordion.js +62 -34
- 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
@@ -0,0 +1,332 @@
|
|
1
|
+
const style = ({
|
2
|
+
appTheme: theme
|
3
|
+
}) => ({
|
4
|
+
".fs-12": {
|
5
|
+
fontSize: "12px"
|
6
|
+
},
|
7
|
+
".fs-14": {
|
8
|
+
fontSize: "14px"
|
9
|
+
},
|
10
|
+
".fw-500": {
|
11
|
+
fontWeight: "500"
|
12
|
+
},
|
13
|
+
".fw-600": {
|
14
|
+
fontWeight: "600"
|
15
|
+
},
|
16
|
+
".pointer": {
|
17
|
+
cursor: "pointer"
|
18
|
+
},
|
19
|
+
".transformNone": {
|
20
|
+
textTransform: "none"
|
21
|
+
},
|
22
|
+
".settingsContainer": {
|
23
|
+
width: "340px",
|
24
|
+
padding: "16px 16px",
|
25
|
+
background: "#fff",
|
26
|
+
".header": {
|
27
|
+
borderBottom: `1px solid #DCE4EC`,
|
28
|
+
paddingBottom: "8px"
|
29
|
+
// marginBottom: "16px",
|
30
|
+
}
|
31
|
+
},
|
32
|
+
|
33
|
+
".title": {
|
34
|
+
fontWeight: "700",
|
35
|
+
fontSize: "14px"
|
36
|
+
},
|
37
|
+
".closeBtn": {
|
38
|
+
width: "26px",
|
39
|
+
height: "26px",
|
40
|
+
BorderRadius: "4px",
|
41
|
+
flexShrik: "0",
|
42
|
+
padding: "4px",
|
43
|
+
background: " #F8FAFC",
|
44
|
+
borderRadius: "4px"
|
45
|
+
},
|
46
|
+
".MuiTabs-scroller": {
|
47
|
+
borderBottom: `1px solid #DCE4EC`
|
48
|
+
},
|
49
|
+
".themeCardWrapper": {
|
50
|
+
borderRadius: "4px",
|
51
|
+
".active": {
|
52
|
+
background: "#ECF2FF"
|
53
|
+
}
|
54
|
+
},
|
55
|
+
".primaryCard, .secondaryCard": {
|
56
|
+
width: "44px",
|
57
|
+
height: "44px",
|
58
|
+
borderRadius: "5px",
|
59
|
+
border: `1px solid #929292`
|
60
|
+
},
|
61
|
+
".flexAlign": {
|
62
|
+
display: "flex",
|
63
|
+
alignItems: "center",
|
64
|
+
flexWrap: "wrap"
|
65
|
+
},
|
66
|
+
".flexItem": {
|
67
|
+
maxWidth: "50%",
|
68
|
+
flex: "1 1 50%" /* allow shrink and grow but cap at 50% */,
|
69
|
+
minWidth: 0 /* important for flex children */
|
70
|
+
},
|
71
|
+
|
72
|
+
".activeColorBox, .xsColorBox": {
|
73
|
+
width: "24px",
|
74
|
+
height: "24px",
|
75
|
+
borderRadius: "5px",
|
76
|
+
border: `1px solid #929292`
|
77
|
+
},
|
78
|
+
".themeCard": {
|
79
|
+
borderRadius: "7px",
|
80
|
+
padding: "16px",
|
81
|
+
border: "1px solid #F3F3F3",
|
82
|
+
boxShadow: "1px 2px 5px 0px #00000014",
|
83
|
+
position: "relative",
|
84
|
+
flexWrap: "nowrap",
|
85
|
+
".tickIcon": {
|
86
|
+
visibility: "hidden",
|
87
|
+
opacity: "0",
|
88
|
+
position: "absolute",
|
89
|
+
right: "-8px",
|
90
|
+
top: "-8px"
|
91
|
+
},
|
92
|
+
"&.selected": {
|
93
|
+
".tickIcon": {
|
94
|
+
visibility: "visible",
|
95
|
+
opacity: "1"
|
96
|
+
}
|
97
|
+
}
|
98
|
+
},
|
99
|
+
".otherColors": {
|
100
|
+
display: "flex",
|
101
|
+
flexWrap: "wrap",
|
102
|
+
width: "48px",
|
103
|
+
".smallCard": {
|
104
|
+
width: "20px",
|
105
|
+
height: "20px",
|
106
|
+
borderRadius: "5px",
|
107
|
+
border: `1px solid #929292`
|
108
|
+
}
|
109
|
+
},
|
110
|
+
".imageUpload": {
|
111
|
+
background: "#F3F3F3",
|
112
|
+
borderRadius: "12px",
|
113
|
+
padding: "10px",
|
114
|
+
height: "208px",
|
115
|
+
position: "relative",
|
116
|
+
"& .resetIcon": {
|
117
|
+
position: "absolute",
|
118
|
+
right: "10px",
|
119
|
+
top: "10px"
|
120
|
+
},
|
121
|
+
".changeImgText": {
|
122
|
+
position: "absolute",
|
123
|
+
left: "50%",
|
124
|
+
top: "50%",
|
125
|
+
transform: "translate(-50%, -50%)",
|
126
|
+
zIndex: 1,
|
127
|
+
background: "#0000004D",
|
128
|
+
color: "#fff",
|
129
|
+
padding: "6px",
|
130
|
+
borderRadius: "6px",
|
131
|
+
fontSize: "12px",
|
132
|
+
fontWeight: 600,
|
133
|
+
opacity: "0",
|
134
|
+
visibility: "hidden"
|
135
|
+
},
|
136
|
+
"&:hover": {
|
137
|
+
".changeImgText": {
|
138
|
+
opacity: "1",
|
139
|
+
visibility: "visible"
|
140
|
+
}
|
141
|
+
}
|
142
|
+
},
|
143
|
+
".imgUploadInner": {
|
144
|
+
background: "#fff",
|
145
|
+
borderRadius: "10px",
|
146
|
+
border: "0.79px dashed #8360FD",
|
147
|
+
height: "100%"
|
148
|
+
},
|
149
|
+
".outlineBtn": {
|
150
|
+
color: "#2563EB",
|
151
|
+
borderRadius: "10px",
|
152
|
+
boxShadow: "0px 4px 10px 0px #00000026",
|
153
|
+
border: "1px solid #2563EB",
|
154
|
+
background: "#EBF1F9",
|
155
|
+
height: "34px",
|
156
|
+
textTransform: "unset",
|
157
|
+
fontWeight: "bold",
|
158
|
+
"&:hover": {
|
159
|
+
background: "#EBF1F9"
|
160
|
+
}
|
161
|
+
},
|
162
|
+
".seondaryOutlineBtn": {
|
163
|
+
border: "1px solid #D8DDE1",
|
164
|
+
borderRadius: "8px",
|
165
|
+
// boxShadow: "0px 4px 10px 0px #00000026",
|
166
|
+
height: "34px",
|
167
|
+
textTransform: "unset",
|
168
|
+
background: "#f5f6f9 !important",
|
169
|
+
color: "#64748B !important",
|
170
|
+
"&:hover": {
|
171
|
+
border: "1px solid #D8DDE1",
|
172
|
+
background: "#f5f6f9 !important"
|
173
|
+
}
|
174
|
+
},
|
175
|
+
".blueBtn": {
|
176
|
+
boxShadow: "0px 4px 10px 0px #00000026",
|
177
|
+
background: "#2563EB",
|
178
|
+
borderRadius: "8px",
|
179
|
+
textTransform: "unset",
|
180
|
+
height: "34px",
|
181
|
+
color: "#fff",
|
182
|
+
fontWeight: "bold",
|
183
|
+
"&.disabled": {
|
184
|
+
background: "#D9D9DD !important",
|
185
|
+
color: "#fff !important"
|
186
|
+
}
|
187
|
+
},
|
188
|
+
".generatedItem": {
|
189
|
+
border: "1px solid #E4E6E9",
|
190
|
+
borderRadius: "7px",
|
191
|
+
padding: "14px",
|
192
|
+
display: "flex",
|
193
|
+
gap: "16px",
|
194
|
+
position: "relative",
|
195
|
+
justifyContent: "space-between",
|
196
|
+
marginBottom: "12px",
|
197
|
+
".tickIcon": {
|
198
|
+
visibility: "hidden",
|
199
|
+
opacity: "0",
|
200
|
+
position: "absolute",
|
201
|
+
right: "-8px",
|
202
|
+
top: "-8px"
|
203
|
+
},
|
204
|
+
"&.selected": {
|
205
|
+
border: "1px solid #2563EB",
|
206
|
+
boxShadow: " 3px 3px 8px 0px #2563EB40",
|
207
|
+
".tickIcon": {
|
208
|
+
visibility: "visible",
|
209
|
+
opacity: "1"
|
210
|
+
}
|
211
|
+
},
|
212
|
+
".colorBox": {
|
213
|
+
border: "1px solid #929292",
|
214
|
+
height: "28px",
|
215
|
+
width: "28px",
|
216
|
+
borderRadius: "5px"
|
217
|
+
}
|
218
|
+
},
|
219
|
+
".textArea": {
|
220
|
+
background: "#F3F3F3",
|
221
|
+
borderRadius: "12px",
|
222
|
+
padding: "10px",
|
223
|
+
height: "208px",
|
224
|
+
"& textarea": {
|
225
|
+
width: "100%",
|
226
|
+
height: "100% !important",
|
227
|
+
border: "0.79px solid #8360FD",
|
228
|
+
background: "#FFFFFF",
|
229
|
+
borderRadius: "8px",
|
230
|
+
padding: "10px"
|
231
|
+
}
|
232
|
+
},
|
233
|
+
".imageUrl": {
|
234
|
+
height: "auto !important",
|
235
|
+
".MuiOutlinedInput-root": {
|
236
|
+
border: "0.79px solid #8360FD",
|
237
|
+
background: "#FFFFFF",
|
238
|
+
borderRadius: "8px",
|
239
|
+
".tickIcon": {
|
240
|
+
width: "18px"
|
241
|
+
}
|
242
|
+
},
|
243
|
+
"&.invalidUrl": {
|
244
|
+
".MuiInputAdornment-root": {
|
245
|
+
".tickIcon": {
|
246
|
+
".fillPath": {
|
247
|
+
fill: "#D9D9DD!important"
|
248
|
+
}
|
249
|
+
}
|
250
|
+
}
|
251
|
+
}
|
252
|
+
},
|
253
|
+
".saveThemeContainer": {
|
254
|
+
".MuiOutlinedInput-root": {
|
255
|
+
borderRadius: "8px",
|
256
|
+
boxShadow: "0px 4px 16px 0px #0000000D"
|
257
|
+
}
|
258
|
+
},
|
259
|
+
".uploadedImage": {
|
260
|
+
width: "126px",
|
261
|
+
height: "126px",
|
262
|
+
borderRadius: "126px"
|
263
|
+
},
|
264
|
+
".MuiDialog-paper": {
|
265
|
+
borderRadius: "10px",
|
266
|
+
background: theme?.palette?.editor?.miniToolBarBackground
|
267
|
+
},
|
268
|
+
"& .MuiInputBase-root": {
|
269
|
+
borderRadius: "8px",
|
270
|
+
background: theme?.palette?.editor?.inputFieldBgColor,
|
271
|
+
border: `none`,
|
272
|
+
height: "40px",
|
273
|
+
boxShadow: "0px 4px 16px 0px #0000000D",
|
274
|
+
fontFamily: "Inter, sans-serif",
|
275
|
+
"&:hover .MuiOutlinedInput-notchedOutline": {
|
276
|
+
border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
|
277
|
+
},
|
278
|
+
"& input::placeholder": {
|
279
|
+
color: "#94A3B8 !important",
|
280
|
+
opacity: "unset",
|
281
|
+
fontFamily: "Inter, sans-serif"
|
282
|
+
},
|
283
|
+
"& .colorPickerButton": {
|
284
|
+
border: `2px solid ${theme?.palette?.editor?.buttonBorder2} !important`
|
285
|
+
}
|
286
|
+
},
|
287
|
+
"& .MuiInputBase-root:has(.colorPickerButton)": {
|
288
|
+
"& .MuiInputBase-input": {
|
289
|
+
padding: "8.5px 14px 8.5px 0px",
|
290
|
+
fontFamily: "Inter, sans-serif"
|
291
|
+
}
|
292
|
+
},
|
293
|
+
"& .MuiInputBase-input": {
|
294
|
+
color: theme?.palette?.editor?.deletePopUpButtonTextColor,
|
295
|
+
textTransform: "math-auto",
|
296
|
+
fontFamily: "Inter, sans-serif"
|
297
|
+
},
|
298
|
+
"& .MuiOutlinedInput-notchedOutline": {
|
299
|
+
border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
|
300
|
+
},
|
301
|
+
"& fieldset": {
|
302
|
+
border: `1px solid transparent`,
|
303
|
+
borderRadius: "8px"
|
304
|
+
},
|
305
|
+
"& .saveThemeActionBtns": {
|
306
|
+
"& button": {
|
307
|
+
fontWeight: 600,
|
308
|
+
fontSize: "14px",
|
309
|
+
opacity: 1,
|
310
|
+
borderRadius: "8px",
|
311
|
+
textTransform: "math-auto",
|
312
|
+
padding: "4px 20px",
|
313
|
+
height: "fit-content",
|
314
|
+
minWidth: "90px",
|
315
|
+
lineHeight: "1.75 !important",
|
316
|
+
"@media only screen and (max-width: 899px)": {
|
317
|
+
width: "50%"
|
318
|
+
},
|
319
|
+
"&.confirmBtn": {
|
320
|
+
backgroundColor: "#2563EB",
|
321
|
+
color: "#ffffff",
|
322
|
+
border: `1px solid #2563EB`
|
323
|
+
},
|
324
|
+
"&.cancelBtn": {
|
325
|
+
backgroundColor: theme?.palette?.editor?.closeButtonBackground,
|
326
|
+
color: theme?.palette?.editor?.customDialogueCloseBtnColor,
|
327
|
+
border: `1px solid ${theme?.palette?.editor?.customDialogueCloseBtnBorder}`
|
328
|
+
}
|
329
|
+
}
|
330
|
+
}
|
331
|
+
});
|
332
|
+
export default style;
|
@@ -34,12 +34,12 @@ import SimpleText from "../Elements/SimpleText";
|
|
34
34
|
import CheckList from "../Elements/List/CheckList";
|
35
35
|
import { getTextColor, isEmptyTextNode } from "../helper";
|
36
36
|
import Attachments from "../Elements/Attachments/Attachments";
|
37
|
-
import { getBreakpointLineSpacing, getBreakPointsValue, getDevice,
|
37
|
+
import { getBreakpointLineSpacing, getBreakPointsValue, getDevice, getElementProperty, textThemeFields } from "../helper/theme";
|
38
38
|
import Variables from "../Elements/Variables/Variable";
|
39
|
-
import insertNewLine from "./insertNewLine";
|
40
39
|
import Divider from "../Elements/Divider/Divider";
|
41
40
|
import { getBorderColor, getSlateDom } from "./helper";
|
42
41
|
import Code from "../Elements/EmbedScript/Code";
|
42
|
+
import { ReactEditor } from "slate-react";
|
43
43
|
import FreeGrid from "../Elements/FreeGrid/FreeGrid";
|
44
44
|
import FreeGridItem from "../Elements/FreeGrid/FreeGridItem";
|
45
45
|
import FreeGridBox from "../Elements/FreeGrid/FreeGridBox";
|
@@ -47,17 +47,27 @@ import DataView from "../Elements/DataView/DataView";
|
|
47
47
|
import ViewData from "../Elements/DataView/Layouts/ViewData";
|
48
48
|
import ColumnView from "../Elements/DataView/Layouts/ColumnView";
|
49
49
|
import SearchAttachment from "../Elements/Search/SearchAttachment";
|
50
|
-
|
50
|
+
import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
|
51
51
|
import { jsx as _jsx } from "react/jsx-runtime";
|
52
52
|
const alignment = ["alignLeft", "alignRight", "alignCenter", "alignJustify"];
|
53
|
-
const list_types = ["orderedList", "unorderedList"];
|
53
|
+
export const list_types = ["orderedList", "unorderedList"];
|
54
54
|
const LIST_FORMAT_TYPE = {
|
55
55
|
orderedList: "list-item",
|
56
56
|
unorderedList: "list-item"
|
57
57
|
};
|
58
|
-
|
58
|
+
|
59
|
+
// const NEWLINESAFTER = [
|
60
|
+
// "headingOne",
|
61
|
+
// "headingTwo",
|
62
|
+
// "headingThree",
|
63
|
+
// "headingFour",
|
64
|
+
// "headingFive",
|
65
|
+
// "headingSix",
|
66
|
+
// ];
|
67
|
+
|
68
|
+
const THEME_BLOCK_FIELDS = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
|
59
69
|
export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
60
|
-
|
70
|
+
let isActive = isBlockActive(editor, format);
|
61
71
|
const isList = list_types.includes(format);
|
62
72
|
const isIndent = alignment.includes(format);
|
63
73
|
const isAligned = alignment.some(alignmentType => isBlockActive(editor, alignmentType));
|
@@ -88,8 +98,9 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
|
88
98
|
if (!selection) {
|
89
99
|
Transforms.insertText(editor, "");
|
90
100
|
}
|
101
|
+
const forActiveType = THEME_BLOCK_FIELDS.some(f => f === format) ? format : "paragraph";
|
91
102
|
Transforms.setNodes(editor, {
|
92
|
-
type: isActive ?
|
103
|
+
type: isActive ? forActiveType : isList ? LIST_FORMAT_TYPE[format] : format,
|
93
104
|
...attr
|
94
105
|
});
|
95
106
|
if (isList && !isActive) {
|
@@ -98,10 +109,12 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
|
|
98
109
|
children: []
|
99
110
|
});
|
100
111
|
}
|
101
|
-
|
102
|
-
|
103
|
-
|
112
|
+
|
113
|
+
// if (NEWLINESAFTER.indexOf(format) > -1) {
|
114
|
+
// insertNewLine(editor);
|
115
|
+
// }
|
104
116
|
};
|
117
|
+
|
105
118
|
export const addMarkData = (editor, data) => {
|
106
119
|
try {
|
107
120
|
Editor.addMark(editor, data.format, data.value);
|
@@ -110,9 +123,14 @@ export const addMarkData = (editor, data) => {
|
|
110
123
|
}
|
111
124
|
};
|
112
125
|
export const toggleMark = (editor, format) => {
|
113
|
-
const isActive =
|
126
|
+
const isActive = isMarkBtnActive(editor, format);
|
114
127
|
if (isActive) {
|
115
|
-
|
128
|
+
const isThemeSupportedMark = textThemeFields.some(f => f === format);
|
129
|
+
if (isThemeSupportedMark) {
|
130
|
+
Editor.addMark(editor, format, false);
|
131
|
+
} else {
|
132
|
+
Editor.removeMark(editor, format);
|
133
|
+
}
|
116
134
|
} else {
|
117
135
|
Editor.addMark(editor, format, true);
|
118
136
|
}
|
@@ -126,12 +144,90 @@ export const isMarkActive = (editor, format) => {
|
|
126
144
|
return null;
|
127
145
|
}
|
128
146
|
};
|
147
|
+
export const isMarkBtnActive = (editor, format) => {
|
148
|
+
switch (format) {
|
149
|
+
case "bold":
|
150
|
+
{
|
151
|
+
const style = getSelectedElementStyle("font-weight", editor);
|
152
|
+
return style === "700";
|
153
|
+
}
|
154
|
+
case "italic":
|
155
|
+
{
|
156
|
+
const style = getSelectedElementStyle("font-style", editor);
|
157
|
+
return style === format;
|
158
|
+
}
|
159
|
+
// case "underline": {
|
160
|
+
// const style = getSelectedElementStyle("text-decoration");
|
161
|
+
|
162
|
+
// return style?.includes(format);
|
163
|
+
// }
|
164
|
+
// case "strikethrough": {
|
165
|
+
// const style = getSelectedElementStyle("text-decoration");
|
166
|
+
|
167
|
+
// return style?.includes("line-through");
|
168
|
+
// }
|
169
|
+
default:
|
170
|
+
return isMarkActive(editor, format);
|
171
|
+
}
|
172
|
+
};
|
173
|
+
export const getSelectedElementStyle = (styleProperty, editor, format) => {
|
174
|
+
try {
|
175
|
+
if (!editor.selection) {
|
176
|
+
return "";
|
177
|
+
}
|
178
|
+
if (Range.isCollapsed(editor.selection)) {
|
179
|
+
return "";
|
180
|
+
}
|
181
|
+
if (format) {
|
182
|
+
const value = activeMark(editor, format, true);
|
183
|
+
if (value) {
|
184
|
+
return value;
|
185
|
+
}
|
186
|
+
}
|
187
|
+
const domRange = ReactEditor.toDOMRange(editor, editor.selection);
|
188
|
+
const selectedDomNode = domRange.commonAncestorContainer;
|
189
|
+
|
190
|
+
// If it's a text node, get its parent element
|
191
|
+
const selectedElement = selectedDomNode.nodeType === 3 ? selectedDomNode.parentElement : selectedDomNode;
|
192
|
+
if (selectedElement) {
|
193
|
+
return getElementProperty(selectedElement, styleProperty);
|
194
|
+
}
|
195
|
+
} catch (err) {
|
196
|
+
console.log(err);
|
197
|
+
}
|
198
|
+
};
|
129
199
|
export const isBlockActive = (editor, format) => {
|
130
200
|
const [match] = Editor.nodes(editor, {
|
131
201
|
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
|
132
202
|
});
|
133
203
|
return !!match;
|
134
204
|
};
|
205
|
+
export const isListActive = editor => {
|
206
|
+
const list_types = ["orderedList", "unorderedList", "check-list-item", "accordion"];
|
207
|
+
const [match] = Editor.nodes(editor, {
|
208
|
+
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && list_types.includes(n.type),
|
209
|
+
mode: "lowest" // To ensure it's the closest parent
|
210
|
+
});
|
211
|
+
|
212
|
+
if (match) {
|
213
|
+
const [matchNode] = match;
|
214
|
+
return matchNode.type;
|
215
|
+
}
|
216
|
+
};
|
217
|
+
export const getListType = editor => {
|
218
|
+
const [accordionSummary] = Editor.nodes(editor, {
|
219
|
+
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === "accordion-summary"
|
220
|
+
});
|
221
|
+
if (accordionSummary) {
|
222
|
+
return "accordion-summary";
|
223
|
+
}
|
224
|
+
const [listItem] = Editor.nodes(editor, {
|
225
|
+
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === "list-item"
|
226
|
+
});
|
227
|
+
if (listItem) {
|
228
|
+
return "list-item";
|
229
|
+
}
|
230
|
+
};
|
135
231
|
export const getBlockActive = (editor, format) => {
|
136
232
|
const [match] = Editor.nodes(editor, {
|
137
233
|
match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
|
@@ -151,7 +247,7 @@ export const upateBlockActive = (editor, format, attr = {}) => {
|
|
151
247
|
});
|
152
248
|
}
|
153
249
|
};
|
154
|
-
export const activeMark = (editor, format) => {
|
250
|
+
export const activeMark = (editor, format, noDefaultValue) => {
|
155
251
|
const defaultMarkData = {
|
156
252
|
color: "#000000",
|
157
253
|
bgColor: "#FFFFFF",
|
@@ -161,7 +257,7 @@ export const activeMark = (editor, format) => {
|
|
161
257
|
};
|
162
258
|
try {
|
163
259
|
const marks = Editor.marks(editor);
|
164
|
-
let defaultValue = defaultMarkData[format];
|
260
|
+
let defaultValue = noDefaultValue ? "" : defaultMarkData[format];
|
165
261
|
const {
|
166
262
|
selection
|
167
263
|
} = editor || {};
|
@@ -178,6 +274,31 @@ export const activeMark = (editor, format) => {
|
|
178
274
|
return null;
|
179
275
|
}
|
180
276
|
};
|
277
|
+
|
278
|
+
// to avoid the styles, that automatically assign from themes
|
279
|
+
const getThemeMarkedLeaf = (leaf, children) => {
|
280
|
+
const {
|
281
|
+
italic,
|
282
|
+
bold
|
283
|
+
} = leaf || {};
|
284
|
+
const style = {};
|
285
|
+
if (italic === false) {
|
286
|
+
style.fontStyle = "normal";
|
287
|
+
}
|
288
|
+
if (bold === false) {
|
289
|
+
style.fontWeight = "normal";
|
290
|
+
}
|
291
|
+
if (Object.keys(style).length) {
|
292
|
+
children = /*#__PURE__*/_jsx(Box, {
|
293
|
+
component: "span",
|
294
|
+
sx: {
|
295
|
+
"& span": style
|
296
|
+
},
|
297
|
+
children: children
|
298
|
+
});
|
299
|
+
}
|
300
|
+
return children;
|
301
|
+
};
|
181
302
|
export const getMarked = (leaf, children, theme) => {
|
182
303
|
const className = leaf?.doublequote ? "doublequote" : "";
|
183
304
|
const lineH = leaf?.lineHeight;
|
@@ -207,6 +328,7 @@ export const getMarked = (leaf, children, theme) => {
|
|
207
328
|
children: children
|
208
329
|
});
|
209
330
|
}
|
331
|
+
children = getThemeMarkedLeaf(leaf, children);
|
210
332
|
if (leaf.strikethrough) {
|
211
333
|
children = /*#__PURE__*/_jsx("span", {
|
212
334
|
style: {
|
@@ -234,6 +356,15 @@ export const getMarked = (leaf, children, theme) => {
|
|
234
356
|
if (leaf.color || leaf.bgColor || leaf.fontSize || leaf.fontFamily || leaf.fontWeight || lineHeight || className) {
|
235
357
|
const family = leaf?.fontFamily;
|
236
358
|
const textStyles = getTextColor(leaf?.color);
|
359
|
+
const fontSize = {
|
360
|
+
lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
361
|
+
...getBreakPointsValue(leaf.fontSize, null, "overrideText")
|
362
|
+
};
|
363
|
+
const fontSizesImportant = {};
|
364
|
+
Object.entries(fontSize).forEach(([key, value]) => {
|
365
|
+
fontSizesImportant[key] = `${value} !important`;
|
366
|
+
});
|
367
|
+
const fontSizeWithBreakpoints = wrapThemeBreakpoints(fontSizesImportant, "fontSize", theme);
|
237
368
|
children = /*#__PURE__*/_jsx("span", {
|
238
369
|
style: {
|
239
370
|
background: leaf.bgColor
|
@@ -242,12 +373,13 @@ export const getMarked = (leaf, children, theme) => {
|
|
242
373
|
className: `${className} leaf-item`,
|
243
374
|
component: "span",
|
244
375
|
sx: {
|
245
|
-
|
246
|
-
fontSize:
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
},
|
376
|
+
"& span": {
|
377
|
+
// fontSize: fontSizesImportant,
|
378
|
+
// ...groupByBreakpoint(fontSizesImportant, theme),
|
379
|
+
background: leaf.bgColor,
|
380
|
+
...fontSizeWithBreakpoints
|
381
|
+
},
|
382
|
+
...fontSizeWithBreakpoints,
|
251
383
|
// ...wrapThemeBreakpoints(
|
252
384
|
// {
|
253
385
|
// lg: sizeMap[leaf.fontSize] || leaf.fontSize,
|
@@ -299,6 +431,16 @@ export const getBlock = props => {
|
|
299
431
|
const {
|
300
432
|
translation
|
301
433
|
} = customProps;
|
434
|
+
const commonHeadingProps = () => ({
|
435
|
+
...attributes,
|
436
|
+
...element.attr,
|
437
|
+
className: `edt-headings content-editable ${isEmpty ? "empty" : ""} theme-element`
|
438
|
+
});
|
439
|
+
const commonParaProps = paraType => ({
|
440
|
+
...attributes,
|
441
|
+
...element.attr,
|
442
|
+
className: `edt-paragraphs content-editable ${isEmpty ? "empty" : ""} theme-element ${paraType}`
|
443
|
+
});
|
302
444
|
const breakpoint = getDevice(window.innerWidth);
|
303
445
|
const lineH = element?.children[0]?.lineHeight;
|
304
446
|
const selectedLineHeight = getBreakpointLineSpacing(lineH, breakpoint);
|
@@ -351,6 +493,24 @@ export const getBlock = props => {
|
|
351
493
|
placeholder: translation("Heading 6"),
|
352
494
|
children: children
|
353
495
|
});
|
496
|
+
case "paragraphOne":
|
497
|
+
return /*#__PURE__*/_jsx("p", {
|
498
|
+
...commonParaProps("para1"),
|
499
|
+
placeholder: "Paragraph 1",
|
500
|
+
children: children
|
501
|
+
});
|
502
|
+
case "paragraphTwo":
|
503
|
+
return /*#__PURE__*/_jsx("p", {
|
504
|
+
...commonParaProps("para2"),
|
505
|
+
placeholder: "Paragraph 2",
|
506
|
+
children: children
|
507
|
+
});
|
508
|
+
case "paragraphThree":
|
509
|
+
return /*#__PURE__*/_jsx("p", {
|
510
|
+
...commonParaProps("para3"),
|
511
|
+
placeholder: "Paragraph 3",
|
512
|
+
children: children
|
513
|
+
});
|
354
514
|
case "blockquote":
|
355
515
|
return /*#__PURE__*/_jsx("blockquote", {
|
356
516
|
...attributes,
|
@@ -584,7 +744,8 @@ export const getBlock = props => {
|
|
584
744
|
case "docs":
|
585
745
|
case "pdf":
|
586
746
|
case "xls":
|
587
|
-
case "
|
747
|
+
case "doc":
|
748
|
+
case "ppt":
|
588
749
|
return /*#__PURE__*/_jsx(Attachments, {
|
589
750
|
...props
|
590
751
|
});
|