@flozy/editor 11.0.6 → 11.0.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 +141 -28
- 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 +28 -22
- package/dist/Editor/Elements/Accordion/AccordionButton.js +12 -3
- 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 +8 -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/DataView/Layouts/DataTypes/Components/Select.js +134 -55
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +7 -8
- package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +8 -3
- package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
- package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
- package/dist/Editor/Elements/Embed/Embed.js +36 -43
- package/dist/Editor/Elements/Embed/Image.js +236 -23
- package/dist/Editor/Elements/Embed/Video.js +245 -15
- package/dist/Editor/Elements/Form/Form.js +35 -10
- package/dist/Editor/Elements/Form/FormField.js +1 -1
- package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
- package/dist/Editor/Elements/Form/Workflow/constant.js +25 -1
- package/dist/Editor/Elements/FreeGrid/FreeGrid.js +31 -74
- package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +9 -5
- package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +3 -1
- package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
- package/dist/Editor/Elements/FreeGrid/helper.js +194 -0
- package/dist/Editor/Elements/FreeGrid/styles.js +15 -0
- package/dist/Editor/Elements/Grid/GridItem.js +1 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +2 -1
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +3 -2
- package/dist/Editor/Elements/Signature/SignaturePopup.js +24 -6
- package/dist/Editor/Elements/SimpleText/style.js +2 -2
- package/dist/Editor/Elements/Table/Table.js +5 -4
- package/dist/Editor/Elements/Table/TableCell.js +10 -3
- package/dist/Editor/Elements/Title/title.js +10 -11
- package/dist/Editor/Elements/TopBanner/TopBanner.js +4 -2
- package/dist/Editor/Elements/TopBanner/TopBannerButton.js +5 -3
- package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
- package/dist/Editor/MiniEditor.js +2 -1
- package/dist/Editor/Styles/EditorStyles.js +23 -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 +33 -29
- 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 +25 -23
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +25 -7
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
- package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +24 -8
- package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
- package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +70 -10
- package/dist/Editor/Toolbar/PopupTool/TextFormat.js +73 -14
- package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
- package/dist/Editor/Toolbar/PopupTool/index.js +7 -4
- 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 +4 -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 +9 -1
- package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +20 -7
- package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
- 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 -11
- package/dist/Editor/common/RnD/Utils/index.js +3 -1
- package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +52 -63
- 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 +61 -14
- 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/fieldStyle.js +1 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +15 -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/text.js +1 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
- package/dist/Editor/common/StyleBuilder/formStyle.js +19 -13
- 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 +136 -63
- 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/useTable.js +62 -1
- package/dist/Editor/hooks/useThemeValues.js +63 -0
- package/dist/Editor/plugins/withEmbeds.js +12 -1
- package/dist/Editor/plugins/withHTML.js +58 -3
- package/dist/Editor/plugins/withTable.js +1 -1
- package/dist/Editor/service/fileupload.js +70 -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 +192 -40
- package/dist/Editor/utils/accordion.js +67 -39
- package/dist/Editor/utils/button.js +1 -17
- package/dist/Editor/utils/draftToSlate.js +3 -2
- package/dist/Editor/utils/events.js +94 -89
- package/dist/Editor/utils/font.js +40 -37
- package/dist/Editor/utils/formfield.js +2 -2
- package/dist/Editor/utils/helper.js +100 -23
- 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
@@ -49,15 +49,21 @@ const useCommonStyle = theme => ({
|
|
49
49
|
fontWeight: "500",
|
50
50
|
fontFamily: "Inter, sans-serif"
|
51
51
|
},
|
52
|
+
"& .MuiPaper-root": {
|
53
|
+
border: `unset !important`,
|
54
|
+
borderRadius: "0px",
|
55
|
+
height: "fit-content",
|
56
|
+
padding: "2px"
|
57
|
+
},
|
52
58
|
"& p": {
|
53
59
|
marginBottom: "7px",
|
54
60
|
marginTop: "4px"
|
55
61
|
},
|
56
62
|
"& .MuiPaper-root": {
|
57
|
-
border:
|
58
|
-
borderRadius:
|
59
|
-
height:
|
60
|
-
padding:
|
63
|
+
border: "unset !important",
|
64
|
+
borderRadius: "0px",
|
65
|
+
height: "fit-content",
|
66
|
+
padding: "2px"
|
61
67
|
},
|
62
68
|
"& .muiIconsListParent": {
|
63
69
|
"& svg": {
|
@@ -65,15 +71,12 @@ const useCommonStyle = theme => ({
|
|
65
71
|
},
|
66
72
|
"&::-webkit-scrollbar-thumb": {
|
67
73
|
background: `${theme?.palette?.editor?.brainPopupScroll} !important`
|
68
|
-
},
|
69
|
-
"&::-webkit-scrollbar-track": {
|
70
|
-
visibility: "hidden"
|
71
74
|
}
|
72
75
|
},
|
73
76
|
"& .MuiGrid-root>.MuiGrid-item": {
|
74
77
|
paddingRight: "0px !important",
|
75
78
|
fontFamily: "Inter, sans-serif",
|
76
|
-
height:
|
79
|
+
height: "fit-content"
|
77
80
|
},
|
78
81
|
"& .MuiInputBase-root": {
|
79
82
|
borderRadius: "10px",
|
@@ -134,14 +137,14 @@ const useCommonStyle = theme => ({
|
|
134
137
|
borderRadius: "10px",
|
135
138
|
width: "52px !important",
|
136
139
|
marginLeft: "10px",
|
137
|
-
height:
|
140
|
+
height: "36px !important"
|
138
141
|
},
|
139
142
|
"& .spacingSlider": {
|
140
143
|
width: "calc(100% - 18px)"
|
141
144
|
}
|
142
145
|
},
|
143
|
-
|
144
|
-
margin:
|
146
|
+
"& .MuiFormHelperText-root": {
|
147
|
+
margin: "4px 0px 0px 0px",
|
145
148
|
color: theme?.palette?.editor?.closeButtonSvgStroke,
|
146
149
|
fontFamily: "Inter, sans-serif"
|
147
150
|
}
|
@@ -211,16 +214,16 @@ const useCommonStyle = theme => ({
|
|
211
214
|
backgroundColor: theme?.palette?.editor?.miniToolBarBackground
|
212
215
|
},
|
213
216
|
"& .popup_tabs": {
|
214
|
-
backgroundColor: theme?.palette?.editor?.
|
217
|
+
backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
|
215
218
|
"@media only screen and (max-width: 899px)": {
|
216
219
|
width: "100% !important"
|
217
220
|
}
|
218
221
|
},
|
219
222
|
"& .popup_tabs-header": {
|
220
|
-
backgroundColor: theme?.palette?.editor?.
|
223
|
+
backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
|
221
224
|
"& .popup_tabs-header-label-active": {
|
222
225
|
color: theme?.palette?.editor?.activeColor,
|
223
|
-
backgroundColor: theme?.palette?.editor?.
|
226
|
+
backgroundColor: theme?.palette?.editor?.miniToolBarBackground
|
224
227
|
}
|
225
228
|
},
|
226
229
|
"& .colorpicker": {
|
@@ -249,6 +252,40 @@ const useCommonStyle = theme => ({
|
|
249
252
|
backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
|
250
253
|
color: theme?.palette?.editor?.textColor
|
251
254
|
}
|
255
|
+
},
|
256
|
+
"& .colorPickerActionBtns": {
|
257
|
+
backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
|
258
|
+
display: "flex",
|
259
|
+
justifyContent: "end",
|
260
|
+
padding: "10px",
|
261
|
+
position: "sticky",
|
262
|
+
bottom: 0,
|
263
|
+
right: 0,
|
264
|
+
boxShadow: `0px -3px 12px 0px ${theme?.palette?.editor?.cardShadow}`,
|
265
|
+
gap: "8px",
|
266
|
+
"& button": {
|
267
|
+
fontWeight: 600,
|
268
|
+
fontSize: "14px",
|
269
|
+
opacity: 1,
|
270
|
+
borderRadius: "8px",
|
271
|
+
textTransform: "math-auto",
|
272
|
+
padding: "4px 20px",
|
273
|
+
height: "fit-content",
|
274
|
+
minWidth: "90px",
|
275
|
+
"@media only screen and (max-width: 899px)": {
|
276
|
+
width: "50%"
|
277
|
+
},
|
278
|
+
"&.confirmBtn": {
|
279
|
+
backgroundColor: "#2563EB",
|
280
|
+
color: "#ffffff",
|
281
|
+
border: `1px solid #2563EB`
|
282
|
+
},
|
283
|
+
"&.cancelBtn": {
|
284
|
+
backgroundColor: theme?.palette?.editor?.closeButtonBackground,
|
285
|
+
color: theme?.palette?.editor?.customDialogueCloseBtnColor,
|
286
|
+
border: `1px solid ${theme?.palette?.editor?.customDialogueCloseBtnBorder}`
|
287
|
+
}
|
288
|
+
}
|
252
289
|
}
|
253
290
|
},
|
254
291
|
colorPickerBtnBorder: {
|
@@ -403,14 +440,14 @@ const useCommonStyle = theme => ({
|
|
403
440
|
padding: "8px 12px",
|
404
441
|
fontSize: "12px",
|
405
442
|
color: theme?.palette?.editor?.menuOptionTextColor,
|
406
|
-
fontWeight:
|
443
|
+
fontWeight: "500",
|
407
444
|
fontFamily: "Inter, sans-serif",
|
408
|
-
minHeight:
|
445
|
+
minHeight: "36px",
|
409
446
|
"&:hover": {
|
410
447
|
backgroundColor: theme?.palette?.editor?.menuOptionHoverBackground
|
411
448
|
}
|
412
449
|
},
|
413
|
-
|
450
|
+
"& .Mui-selected": {
|
414
451
|
background: `${theme?.palette?.editor?.menuOptionSelectedOption} !important`
|
415
452
|
},
|
416
453
|
"& .MuiListSubheader-root": {
|
@@ -419,16 +456,16 @@ const useCommonStyle = theme => ({
|
|
419
456
|
fontSize: "12px"
|
420
457
|
},
|
421
458
|
"& .MuiPaper-root": {
|
422
|
-
borderRadius:
|
423
|
-
padding:
|
459
|
+
borderRadius: "8px",
|
460
|
+
padding: "0px",
|
424
461
|
background: `${theme?.palette?.editor?.textWeightPopUpBackground} !important`
|
425
462
|
},
|
426
|
-
|
427
|
-
margin:
|
428
|
-
borderRadius:
|
463
|
+
"& .MuiButtonBase-root": {
|
464
|
+
margin: "4px",
|
465
|
+
borderRadius: "6px"
|
429
466
|
},
|
430
|
-
|
431
|
-
padding:
|
467
|
+
"& .MuiList-root": {
|
468
|
+
padding: "0px"
|
432
469
|
}
|
433
470
|
},
|
434
471
|
datePicker: {
|
@@ -528,9 +565,38 @@ const useCommonStyle = theme => ({
|
|
528
565
|
}
|
529
566
|
}
|
530
567
|
},
|
568
|
+
buttonMoreOption: {
|
569
|
+
background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
570
|
+
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
571
|
+
padding: "4px !important",
|
572
|
+
"& svg": {
|
573
|
+
width: "18px !important",
|
574
|
+
height: "18px !important",
|
575
|
+
"& path": {
|
576
|
+
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
577
|
+
}
|
578
|
+
}
|
579
|
+
},
|
531
580
|
pageSettingPopUpRoot: {
|
532
581
|
padding: "16px 8px 16px 10px!important",
|
533
|
-
height: "100%"
|
582
|
+
height: "100%",
|
583
|
+
"& .text-field-wrapper": {
|
584
|
+
"& input:-webkit-autofill": {
|
585
|
+
WebkitBackgroundClip: "text !important",
|
586
|
+
WebkitBoxShadow: "0 0 0 1000px transparent inset !important",
|
587
|
+
WebkitTextFillColor: `${theme?.palette?.editor?.deletePopUpButtonTextColor} !important`,
|
588
|
+
transition: "background-color 600000s 0s, color 600000s 0s !important"
|
589
|
+
},
|
590
|
+
"& .MuiFilledInput-root": {
|
591
|
+
backgroundColor: "rgba(255, 255, 255, 0.5)",
|
592
|
+
"&:hover": {
|
593
|
+
backgroundColor: "rgba(255, 255, 255, 0.7)"
|
594
|
+
},
|
595
|
+
"&.Mui-focused": {
|
596
|
+
backgroundColor: "rgba(255, 255, 255, 0.9)"
|
597
|
+
}
|
598
|
+
}
|
599
|
+
}
|
534
600
|
},
|
535
601
|
buttonMoreIcon: {
|
536
602
|
position: "absolute",
|
@@ -538,23 +604,23 @@ const useCommonStyle = theme => ({
|
|
538
604
|
right: -40,
|
539
605
|
transform: "translateY(-50%)"
|
540
606
|
},
|
541
|
-
buttonMoreOption: {
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
},
|
607
|
+
// buttonMoreOption: {
|
608
|
+
// background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
609
|
+
// border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
610
|
+
// padding: "4px !important",
|
611
|
+
// "& svg": {
|
612
|
+
// width: "18px !important",
|
613
|
+
// height: "18px !important",
|
614
|
+
// "& path": {
|
615
|
+
// stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`,
|
616
|
+
// },
|
617
|
+
// },
|
618
|
+
// },
|
553
619
|
buttonMoreOption2: {
|
554
620
|
background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
555
621
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
556
|
-
|
557
|
-
|
622
|
+
"& svg": {
|
623
|
+
"& path": {
|
558
624
|
fill: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
559
625
|
}
|
560
626
|
}
|
@@ -562,11 +628,11 @@ const useCommonStyle = theme => ({
|
|
562
628
|
buttonMoreOption3: {
|
563
629
|
background: `${theme?.palette?.editor?.aiInputBackground} !important`,
|
564
630
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
|
565
|
-
padding:
|
566
|
-
|
567
|
-
width:
|
568
|
-
height:
|
569
|
-
|
631
|
+
padding: "5px !important",
|
632
|
+
"& svg": {
|
633
|
+
width: "16px !important",
|
634
|
+
height: "16px !important",
|
635
|
+
"& path": {
|
570
636
|
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
571
637
|
}
|
572
638
|
}
|
@@ -574,37 +640,37 @@ const useCommonStyle = theme => ({
|
|
574
640
|
resizeButton: {
|
575
641
|
background: theme?.palette?.editor?.aiInputBackground,
|
576
642
|
border: `1px solid ${theme?.palette?.editor?.buttonBorder1}`,
|
577
|
-
padding:
|
578
|
-
borderRadius:
|
579
|
-
|
580
|
-
width:
|
581
|
-
height:
|
582
|
-
|
643
|
+
padding: "5px !important",
|
644
|
+
borderRadius: "50% !important",
|
645
|
+
"& svg": {
|
646
|
+
width: "18px",
|
647
|
+
height: "18px",
|
648
|
+
"& path": {
|
583
649
|
fill: `${theme?.palette?.editor?.closeButtonSvgStroke}`
|
584
650
|
}
|
585
651
|
},
|
586
|
-
|
652
|
+
"&:hover": {
|
587
653
|
background: theme?.palette?.editor?.aiInputBackground
|
588
654
|
}
|
589
655
|
},
|
590
656
|
gradientFillBtn: {
|
591
657
|
background: `linear-gradient(112.61deg, #2C63ED 19.3%, #8360FD 88.14%) !important`,
|
592
|
-
textTransform:
|
593
|
-
color:
|
594
|
-
padding:
|
595
|
-
height:
|
596
|
-
borderRadius:
|
597
|
-
fontWeight:
|
598
|
-
fontSize:
|
658
|
+
textTransform: "math-auto !important",
|
659
|
+
color: "#FFFFFF !important",
|
660
|
+
padding: "0px 12px !important",
|
661
|
+
height: "32px",
|
662
|
+
borderRadius: "8px",
|
663
|
+
fontWeight: "500",
|
664
|
+
fontSize: "14px"
|
599
665
|
},
|
600
666
|
emptyThumbBtn: {
|
601
667
|
background: `${theme?.palette?.editor?.sectionSettingIconHover} !important`,
|
602
668
|
color: `${theme?.palette?.editor?.textColor} !important`,
|
603
|
-
fontSize:
|
604
|
-
|
605
|
-
width:
|
606
|
-
height:
|
607
|
-
|
669
|
+
fontSize: "14px !important",
|
670
|
+
"& svg": {
|
671
|
+
width: "20px !important",
|
672
|
+
height: "20px !important",
|
673
|
+
"& path": {
|
608
674
|
stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
|
609
675
|
}
|
610
676
|
}
|
@@ -676,6 +742,13 @@ const useCommonStyle = theme => ({
|
|
676
742
|
stroke: theme?.palette?.editor?.closeButtonSvgStroke
|
677
743
|
}
|
678
744
|
}
|
745
|
+
},
|
746
|
+
"& .element-toolbar": {
|
747
|
+
"& button": {
|
748
|
+
borderRadius: "50%",
|
749
|
+
background: theme?.palette?.editor?.signatureFontBtnBg,
|
750
|
+
border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`
|
751
|
+
}
|
679
752
|
}
|
680
753
|
}
|
681
754
|
});
|
@@ -7,14 +7,14 @@ import { Node } from "slate";
|
|
7
7
|
const HIDE_PLACHOLDERS = ["grid", "grid-item", "table"];
|
8
8
|
const TEXT_NODES = ["paragraph", "headingOne", "headingTwo", "headingThree"];
|
9
9
|
const PREVIEW_IMAGE_HIDE_CLASS = ["grid-container-toolbar", "grid-item-toolbar", "element-toolbar", "mini-tool-wrpr-ei", "element-selector", "element-selector-ctrl"];
|
10
|
-
const RND_ITEMS = ["freegridItem", "freegridBox"];
|
10
|
+
export const RND_ITEMS = ["freegridItem", "freegridBox"];
|
11
11
|
export const getThumbnailImage = async (dom, options = {}) => {
|
12
12
|
try {
|
13
13
|
const canvas = await html2canvas(dom, {
|
14
14
|
windowWidth: 1440,
|
15
15
|
windowHeight: 768,
|
16
16
|
...options,
|
17
|
-
backgroundColor:
|
17
|
+
backgroundColor: 'white',
|
18
18
|
allowTaint: true,
|
19
19
|
useCORS: false,
|
20
20
|
scale: 0.5,
|
@@ -23,6 +23,11 @@ export const getThumbnailImage = async (dom, options = {}) => {
|
|
23
23
|
// hide class
|
24
24
|
const sw = document.getElementById("slate-wrapper-scroll-container");
|
25
25
|
sw.style.minHeight = "2000px";
|
26
|
+
if (options?.fromBrains) {
|
27
|
+
const textbox = document.querySelector(".innert-editor-textbox");
|
28
|
+
textbox.style.padding = "24px";
|
29
|
+
textbox.style.background = options?.pageColor || '#fffff';
|
30
|
+
}
|
26
31
|
const svgFrames = document.querySelectorAll(".image-frame svg");
|
27
32
|
for (let i = 0; i < svgFrames.length; i++) {
|
28
33
|
svgFrames[i].style.width = "100%";
|
@@ -99,6 +104,9 @@ function padZero(str, len) {
|
|
99
104
|
return (zeros + str).slice(-len);
|
100
105
|
}
|
101
106
|
export function getEmbedURL(element, needType = false) {
|
107
|
+
if (typeof element?.href !== "string" && typeof element?.url !== "string") {
|
108
|
+
return null;
|
109
|
+
}
|
102
110
|
let refUrl = element.href ? element.href : element.url;
|
103
111
|
refUrl = refUrl ? refUrl.includes("http") ? refUrl : `//${refUrl}` : "Link";
|
104
112
|
let embedUrl = refUrl;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
export function extractTextWithPath(data, path = []) {
|
2
|
+
let result = [];
|
3
|
+
data.forEach((item, index) => {
|
4
|
+
const currentPath = [...path, index];
|
5
|
+
if (item.text) {
|
6
|
+
result.push({
|
7
|
+
path_id: currentPath.join(","),
|
8
|
+
text: item.text
|
9
|
+
});
|
10
|
+
}
|
11
|
+
if (item.children) {
|
12
|
+
result = result.concat(extractTextWithPath(item.children, currentPath));
|
13
|
+
}
|
14
|
+
});
|
15
|
+
return result;
|
16
|
+
}
|
17
|
+
export function replaceTextPath(nestedJson, pathIdJson) {
|
18
|
+
// Create a map from path_id JSON for quick lookup
|
19
|
+
const pathIdMap = new Map(pathIdJson.map(item => [item.path_id, item.text]));
|
20
|
+
console.log(pathIdMap);
|
21
|
+
function extractTextWithPath(data, path = []) {
|
22
|
+
data.forEach((item, index) => {
|
23
|
+
const currentPath = [...path, index];
|
24
|
+
if (item.text) {
|
25
|
+
if (pathIdMap.has(currentPath?.join(","))) {
|
26
|
+
item.text = pathIdMap.get(currentPath?.join(","));
|
27
|
+
}
|
28
|
+
}
|
29
|
+
if (item.children) {
|
30
|
+
extractTextWithPath(item.children, currentPath);
|
31
|
+
}
|
32
|
+
});
|
33
|
+
}
|
34
|
+
extractTextWithPath(nestedJson, []);
|
35
|
+
return nestedJson;
|
36
|
+
}
|
37
|
+
|
38
|
+
// export function replaceTextPath(nestedJson, pathIdJson) {
|
39
|
+
// // Create a map from path_id JSON for quick lookup
|
40
|
+
// const pathIdMap = new Map(
|
41
|
+
// pathIdJson.map((item) => [item.path_id, item.text])
|
42
|
+
// );
|
43
|
+
|
44
|
+
// function traverseAndReplace(node) {
|
45
|
+
// if (Array.isArray(node)) {
|
46
|
+
// node.forEach(traverseAndReplace);
|
47
|
+
// } else if (typeof node === "object" && node !== null) {
|
48
|
+
// console.log(node);
|
49
|
+
// if (node.text && pathIdMap.has(node.text)) {
|
50
|
+
// node.text = pathIdMap.get(node.path_id);
|
51
|
+
// }
|
52
|
+
// Object.values(node).forEach(traverseAndReplace);
|
53
|
+
// }
|
54
|
+
// }
|
55
|
+
|
56
|
+
// traverseAndReplace(nestedJson);
|
57
|
+
// return nestedJson;
|
58
|
+
// }
|
@@ -1,4 +1,6 @@
|
|
1
|
+
import { ReactEditor } from "slate-react";
|
1
2
|
import { sizeMap } from "../utils/font";
|
3
|
+
import { Editor, Node } from "slate";
|
2
4
|
export const breakpoints = {
|
3
5
|
small: 0,
|
4
6
|
mobile: 600,
|
@@ -33,7 +35,7 @@ const overrideValues = (value, ot) => {
|
|
33
35
|
return Object.keys(value).reduce((a, b) => {
|
34
36
|
return {
|
35
37
|
...a,
|
36
|
-
[b]: overrides[ot] ? overrides[ot](value[b]) : value
|
38
|
+
[b]: overrides[ot] ? overrides[ot](value[b], value) : value
|
37
39
|
};
|
38
40
|
}, {});
|
39
41
|
};
|
@@ -50,7 +52,15 @@ const overrides = {
|
|
50
52
|
overrideReSizeH: val => {
|
51
53
|
return val ? `${val?.height}px` : "auto";
|
52
54
|
},
|
53
|
-
overrideBorderRadius: val => {
|
55
|
+
overrideBorderRadius: (val, breakpointValues) => {
|
56
|
+
if (!val?.topLeft) {
|
57
|
+
Object.values(breakpointValues || {}).forEach(v => {
|
58
|
+
if (v) {
|
59
|
+
// Applying the values from breakpoints that exist to those that do not have
|
60
|
+
val = v;
|
61
|
+
}
|
62
|
+
});
|
63
|
+
}
|
54
64
|
return `${val?.topLeft}px ${val?.topRight}px ${val?.bottomLeft}px ${val?.bottomRight}px`;
|
55
65
|
}
|
56
66
|
};
|
@@ -118,6 +128,197 @@ export const getTRBLBreakPoints = (value, breakpoint) => {
|
|
118
128
|
console.log(err);
|
119
129
|
}
|
120
130
|
};
|
131
|
+
export function getElementStyle(editor, element, stylePropertyName) {
|
132
|
+
try {
|
133
|
+
const path = ReactEditor.findPath(editor, element);
|
134
|
+
if (path?.length) {
|
135
|
+
const currentEle = Node.get(editor, path);
|
136
|
+
const dom = ReactEditor.toDOMNode(editor, currentEle);
|
137
|
+
const editorBtn = dom?.querySelector(".button.theme-element");
|
138
|
+
return getElementProperty(editorBtn, stylePropertyName);
|
139
|
+
}
|
140
|
+
} catch (err) {
|
141
|
+
// console.log(err);
|
142
|
+
}
|
143
|
+
}
|
144
|
+
export function getTextSizeVal(editor) {
|
145
|
+
try {
|
146
|
+
const currentNode = Node.get(editor, editor.selection.anchor.path);
|
147
|
+
const currentElement = ReactEditor.toDOMNode(editor, currentNode);
|
148
|
+
if (currentElement) {
|
149
|
+
const element = currentElement.querySelector('span[data-slate-string="true"]');
|
150
|
+
const fontSize = getElementProperty(element, "font-size");
|
151
|
+
return fontSize || 16;
|
152
|
+
}
|
153
|
+
} catch (err) {
|
154
|
+
// console.log(err);
|
155
|
+
}
|
156
|
+
}
|
157
|
+
export function getVariableValue(val) {
|
158
|
+
const bodyElement = document.body;
|
159
|
+
const computedStyle = getComputedStyle(bodyElement);
|
160
|
+
const [, variableName] = val?.match(/var\((--[^)]+)\)/) || [];
|
161
|
+
const varValue = computedStyle.getPropertyValue(variableName).trim();
|
162
|
+
return varValue;
|
163
|
+
}
|
164
|
+
const MAP_PROPERTY_KEYS = {
|
165
|
+
fontFamily: "font-family",
|
166
|
+
fontSize: "font-size",
|
167
|
+
textSize: "font-size",
|
168
|
+
fontWeight: "font-weight",
|
169
|
+
color: "color",
|
170
|
+
bgColor: "background-color"
|
171
|
+
};
|
172
|
+
export function getElementProperty(element, styleProperty) {
|
173
|
+
if (!element) {
|
174
|
+
return "";
|
175
|
+
}
|
176
|
+
const computedStyle = window.getComputedStyle(element);
|
177
|
+
const property = MAP_PROPERTY_KEYS[styleProperty] || styleProperty;
|
178
|
+
let style = computedStyle.getPropertyValue(property);
|
179
|
+
if (property === "font-family") {
|
180
|
+
style = style.replace(/"/g, ""); // remove double quotes if exists e.g: '"Courier New"'
|
181
|
+
}
|
182
|
+
|
183
|
+
return style || "";
|
184
|
+
}
|
185
|
+
export const textThemeFields = ["fontFamily", "fontSize", "color", "bold", "italic", "fontWeight"
|
186
|
+
// "underline",
|
187
|
+
// "strikethrough",
|
188
|
+
];
|
189
|
+
|
190
|
+
const themeElements = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
|
191
|
+
export const isTextCustomized = editor => {
|
192
|
+
try {
|
193
|
+
if (editor.selection) {
|
194
|
+
const currentElement = Node.parent(editor, editor?.selection?.anchor?.path);
|
195
|
+
if (!currentElement) {
|
196
|
+
return false;
|
197
|
+
}
|
198
|
+
const {
|
199
|
+
children,
|
200
|
+
type
|
201
|
+
} = currentElement;
|
202
|
+
if (!themeElements.includes(type)) {
|
203
|
+
return false;
|
204
|
+
}
|
205
|
+
if (!children?.length) {
|
206
|
+
return true;
|
207
|
+
}
|
208
|
+
const customized = textThemeFields.some(field => {
|
209
|
+
const element = children.find(child => child.text.trim() !== "") || {};
|
210
|
+
const value = element[field];
|
211
|
+
if (field === "fontSize") {
|
212
|
+
return Object.keys(value || {}).length;
|
213
|
+
} else {
|
214
|
+
return value;
|
215
|
+
}
|
216
|
+
});
|
217
|
+
return customized;
|
218
|
+
} else {
|
219
|
+
return null;
|
220
|
+
}
|
221
|
+
} catch (err) {
|
222
|
+
return null;
|
223
|
+
}
|
224
|
+
};
|
225
|
+
const addToTheme = (field, value, element) => {
|
226
|
+
switch (field) {
|
227
|
+
case "fontFamily":
|
228
|
+
return {
|
229
|
+
fontFamily: value
|
230
|
+
};
|
231
|
+
case "fontSize":
|
232
|
+
return {
|
233
|
+
fontSize: value?.lg
|
234
|
+
};
|
235
|
+
case "color":
|
236
|
+
return {
|
237
|
+
color: value
|
238
|
+
};
|
239
|
+
case "bold":
|
240
|
+
return {
|
241
|
+
fontWeight: "bold"
|
242
|
+
};
|
243
|
+
case "italic":
|
244
|
+
return {
|
245
|
+
fontStyle: "italic"
|
246
|
+
};
|
247
|
+
// case "underline":
|
248
|
+
// case "strikethrough":
|
249
|
+
// let textDecoration = "";
|
250
|
+
|
251
|
+
// if (element.underline) {
|
252
|
+
// textDecoration = "underline";
|
253
|
+
// }
|
254
|
+
|
255
|
+
// if (element.strikethrough) {
|
256
|
+
// textDecoration += " strikethrough";
|
257
|
+
// }
|
258
|
+
|
259
|
+
// return { textDecoration };
|
260
|
+
default:
|
261
|
+
return {};
|
262
|
+
}
|
263
|
+
};
|
264
|
+
const MAP_TEXT_THEME_FIELD = {
|
265
|
+
headingOne: "h1",
|
266
|
+
headingTwo: "h2",
|
267
|
+
headingThree: "h3",
|
268
|
+
headingFour: "h4",
|
269
|
+
headingFive: "h5",
|
270
|
+
headingSix: "h6",
|
271
|
+
paragraphOne: "para1",
|
272
|
+
paragraphTwo: "para2",
|
273
|
+
paragraphThree: "para3"
|
274
|
+
};
|
275
|
+
export const saveToTheme = editor => {
|
276
|
+
try {
|
277
|
+
if (editor.selection) {
|
278
|
+
const currentElement = Node.parent(editor, editor?.selection?.anchor?.path);
|
279
|
+
if (!currentElement) {
|
280
|
+
return false;
|
281
|
+
}
|
282
|
+
const {
|
283
|
+
children
|
284
|
+
} = currentElement;
|
285
|
+
if (!children?.length) {
|
286
|
+
return true;
|
287
|
+
}
|
288
|
+
let theme = {};
|
289
|
+
textThemeFields.forEach(field => {
|
290
|
+
const element = children.find(child => child.text.trim() !== "") || {};
|
291
|
+
const value = element[field];
|
292
|
+
let style = {};
|
293
|
+
let isValueExist = false;
|
294
|
+
if (value) {
|
295
|
+
isValueExist = true;
|
296
|
+
if (field === "fontSize") {
|
297
|
+
isValueExist = !!Object.keys(value).length;
|
298
|
+
}
|
299
|
+
}
|
300
|
+
if (isValueExist) {
|
301
|
+
style = addToTheme(field, value, element);
|
302
|
+
}
|
303
|
+
theme = {
|
304
|
+
...theme,
|
305
|
+
...style
|
306
|
+
};
|
307
|
+
});
|
308
|
+
textThemeFields.forEach(field => {
|
309
|
+
Editor.removeMark(editor, field);
|
310
|
+
});
|
311
|
+
return {
|
312
|
+
field: MAP_TEXT_THEME_FIELD[currentElement?.type],
|
313
|
+
theme
|
314
|
+
};
|
315
|
+
}
|
316
|
+
} catch (err) {
|
317
|
+
return;
|
318
|
+
}
|
319
|
+
};
|
320
|
+
export const HEADING_THEME_FIELDS = ["h1", "h2", "h3", "h4", "h5", "h6"];
|
321
|
+
export const PARAGRAPH_THEME_FIELDS = ["para1", "para2", "para3"];
|
121
322
|
export const getBRValue = (props, rbr = "lg") => {
|
122
323
|
const {
|
123
324
|
value,
|