@flozy/editor 8.0.8 → 9.0.1

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.
Files changed (131) hide show
  1. package/dist/Editor/ChatEditor.js +1 -2
  2. package/dist/Editor/CommonEditor.js +33 -112
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +16 -32
  5. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  6. package/dist/Editor/Elements/Button/EditorButton.js +9 -25
  7. package/dist/Editor/Elements/Color Picker/ColorButtons.js +12 -57
  8. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  9. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -9
  10. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  11. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +1 -4
  12. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +4 -3
  13. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +1 -6
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +9 -19
  15. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +2 -32
  16. package/dist/Editor/Elements/DataView/Layouts/TableView.js +29 -126
  17. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
  18. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  19. package/dist/Editor/Elements/DataView/styles.js +8 -8
  20. package/dist/Editor/Elements/Embed/Image.js +2 -2
  21. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +14 -0
  22. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +1 -2
  23. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -2
  24. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  25. package/dist/Editor/Elements/Grid/GridItem.js +3 -2
  26. package/dist/Editor/Elements/Link/Link.js +43 -70
  27. package/dist/Editor/Elements/SimpleText/index.js +12 -7
  28. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  29. package/dist/Editor/Elements/Table/Table.js +16 -17
  30. package/dist/Editor/Elements/Table/TableCell.js +3 -4
  31. package/dist/Editor/Elements/Title/title.js +1 -13
  32. package/dist/Editor/Elements/Variables/Style.js +2 -28
  33. package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
  34. package/dist/Editor/Styles/EditorStyles.js +291 -287
  35. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  36. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  37. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  38. package/dist/Editor/Toolbar/FormatTools/TextSize.js +15 -7
  39. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +0 -1
  40. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +8 -9
  41. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  42. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +85 -210
  43. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  44. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +12 -16
  45. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +9 -56
  46. package/dist/Editor/Toolbar/PopupTool/index.js +38 -31
  47. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  48. package/dist/Editor/common/ColorPickerButton.js +9 -35
  49. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  50. package/dist/Editor/common/DnD/Draggable.js +1 -0
  51. package/dist/Editor/common/FontLoader/FontList.js +11 -3
  52. package/dist/Editor/common/FontLoader/FontLoader.js +42 -74
  53. package/dist/Editor/common/Icon.js +0 -28
  54. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  55. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  56. package/dist/Editor/common/ImageSelector/UploadStyles.js +2 -1
  57. package/dist/Editor/common/LinkSettings/NavComponents.js +5 -1
  58. package/dist/Editor/common/LinkSettings/index.js +5 -1
  59. package/dist/Editor/common/LinkSettings/style.js +7 -0
  60. package/dist/Editor/common/MentionsPopup/Styles.js +12 -6
  61. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  68. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  69. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  70. package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
  71. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  72. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  73. package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
  74. package/dist/Editor/common/RnD/Utils/index.js +0 -45
  75. package/dist/Editor/common/RnD/index.js +3 -23
  76. package/dist/Editor/common/Section/index.js +89 -60
  77. package/dist/Editor/common/Shorthands/elements.js +0 -54
  78. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  81. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  82. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  83. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
  84. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  85. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  86. package/dist/Editor/common/Uploader.js +0 -8
  87. package/dist/Editor/commonStyle.js +69 -114
  88. package/dist/Editor/helper/deserialize/index.js +1 -1
  89. package/dist/Editor/helper/index.js +2 -2
  90. package/dist/Editor/helper/theme.js +2 -200
  91. package/dist/Editor/hooks/useEditorScroll.js +1 -1
  92. package/dist/Editor/hooks/useMouseMove.js +3 -9
  93. package/dist/Editor/plugins/withEmbeds.js +1 -1
  94. package/dist/Editor/plugins/withHTML.js +21 -20
  95. package/dist/Editor/plugins/withLayout.js +1 -1
  96. package/dist/Editor/plugins/withTable.js +1 -1
  97. package/dist/Editor/theme/ThemeList.js +173 -50
  98. package/dist/Editor/utils/SlateUtilityFunctions.js +49 -157
  99. package/dist/Editor/utils/button.js +14 -0
  100. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -23
  101. package/dist/Editor/utils/draftToSlate.js +2 -3
  102. package/dist/Editor/utils/font.js +37 -40
  103. package/dist/Editor/utils/helper.js +19 -59
  104. package/dist/Editor/utils/link.js +1 -1
  105. package/package.json +2 -5
  106. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  107. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  108. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  109. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  110. package/dist/Editor/common/CustomDialog/index.js +0 -90
  111. package/dist/Editor/common/CustomDialog/style.js +0 -67
  112. package/dist/Editor/common/CustomDialog/styles.js +0 -80
  113. package/dist/Editor/common/CustomSelect.js +0 -33
  114. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  115. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  116. package/dist/Editor/theme/index.js +0 -144
  117. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  118. package/dist/Editor/themeSettings/buttons/index.js +0 -283
  119. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  120. package/dist/Editor/themeSettings/colorTheme/index.js +0 -292
  121. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  122. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  123. package/dist/Editor/themeSettings/fonts/index.js +0 -220
  124. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  125. package/dist/Editor/themeSettings/icons.js +0 -60
  126. package/dist/Editor/themeSettings/index.js +0 -320
  127. package/dist/Editor/themeSettings/style.js +0 -152
  128. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  129. package/dist/Editor/themeSettingsAI/index.js +0 -356
  130. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -197
  131. package/dist/Editor/themeSettingsAI/style.js +0 -250
@@ -51,30 +51,40 @@ const useCommonStyle = theme => ({
51
51
  },
52
52
  "& .MuiPaper-root": {
53
53
  border: `unset !important`,
54
- borderRadius: "0px",
55
- height: "fit-content",
56
- padding: "2px"
54
+ borderRadius: '0px',
55
+ height: 'fit-content'
57
56
  },
58
57
  "& p": {
59
58
  marginBottom: "7px",
60
59
  marginTop: "4px"
61
60
  },
62
- "& p": {
63
- marginBottom: "7px",
64
- marginTop: "4px"
61
+ "& .MuiPaper-root": {
62
+ border: 'unset !important',
63
+ borderRadius: '0px',
64
+ height: 'fit-content',
65
+ padding: '2px'
65
66
  },
66
67
  "& .muiIconsListParent": {
67
68
  "& svg": {
68
69
  color: `${theme?.palette?.editor?.svgTextAlignStrokeColor} !important`
69
70
  },
71
+ "&::-webkit-scrollbar-thumb": {
72
+ background: `none !important`
73
+ },
74
+ "&::-webkit-scrollbar-track": {
75
+ visibility: "hidden"
76
+ },
70
77
  "&::-webkit-scrollbar-thumb": {
71
78
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
79
+ },
80
+ "&::-webkit-scrollbar-track": {
81
+ visibility: "hidden"
72
82
  }
73
83
  },
74
84
  "& .MuiGrid-root>.MuiGrid-item": {
75
85
  paddingRight: "0px !important",
76
86
  fontFamily: "Inter, sans-serif",
77
- height: "fit-content"
87
+ height: 'fit-content'
78
88
  },
79
89
  "& .MuiInputBase-root": {
80
90
  borderRadius: "10px",
@@ -135,11 +145,11 @@ const useCommonStyle = theme => ({
135
145
  borderRadius: "10px",
136
146
  width: "46px !important",
137
147
  marginLeft: "10px",
138
- height: "36px !important"
148
+ height: '36px !important'
139
149
  }
140
150
  },
141
- "& .MuiFormHelperText-root": {
142
- margin: "4px 0px 0px 0px",
151
+ '& .MuiFormHelperText-root': {
152
+ margin: '4px 0px 0px 0px',
143
153
  color: theme?.palette?.editor?.closeButtonSvgStroke,
144
154
  fontFamily: "Inter, sans-serif"
145
155
  }
@@ -395,14 +405,14 @@ const useCommonStyle = theme => ({
395
405
  padding: "8px 12px",
396
406
  fontSize: "12px",
397
407
  color: theme?.palette?.editor?.menuOptionTextColor,
398
- fontWeight: "500",
408
+ fontWeight: '500',
399
409
  fontFamily: "Inter, sans-serif",
400
- minHeight: "36px",
410
+ minHeight: '36px',
401
411
  "&:hover": {
402
412
  backgroundColor: theme?.palette?.editor?.menuOptionHoverBackground
403
413
  }
404
414
  },
405
- "& .Mui-selected": {
415
+ '& .Mui-selected': {
406
416
  background: `${theme?.palette?.editor?.menuOptionSelectedOption} !important`
407
417
  },
408
418
  "& .MuiListSubheader-root": {
@@ -411,16 +421,16 @@ const useCommonStyle = theme => ({
411
421
  fontSize: "12px"
412
422
  },
413
423
  "& .MuiPaper-root": {
414
- borderRadius: "8px",
415
- padding: "0px",
424
+ borderRadius: '8px',
425
+ padding: '0px',
416
426
  background: `${theme?.palette?.editor?.textWeightPopUpBackground} !important`
417
427
  },
418
- "& .MuiButtonBase-root": {
419
- margin: "4px",
420
- borderRadius: "6px"
428
+ '& .MuiButtonBase-root': {
429
+ margin: '4px',
430
+ borderRadius: '6px'
421
431
  },
422
- "& .MuiList-root": {
423
- padding: "0px"
432
+ '& .MuiList-root': {
433
+ padding: '0px'
424
434
  }
425
435
  },
426
436
  datePicker: {
@@ -428,71 +438,16 @@ const useCommonStyle = theme => ({
428
438
  width: "100%",
429
439
  "& .react-datepicker__input-container": {
430
440
  "& .MuiInputBase-root": {
431
- backgroundColor: theme?.palette?.editor?.inputFieldBgColor,
441
+ background: `${theme?.palette?.editor?.inputFieldBgColor} !important`,
432
442
  "& .MuiInputBase-input": {
433
- backgroundColor: theme?.palette?.editor?.inputFieldBgColor,
434
- color: theme?.palette?.editor?.textColor + " !important"
443
+ background: `${theme?.palette?.editor?.inputFieldBgColor} !important`,
444
+ color: `${theme?.palette?.editor?.textColor} !important`
435
445
  },
436
446
  "& .MuiOutlinedInput-notchedOutline": {
437
- border: `1px solid ${theme?.palette?.editor?.signaturePopUpInputFieldBorder || theme?.palette?.divider} !important`,
438
- borderRadius: "10px"
439
- },
440
- "&:hover .MuiOutlinedInput-notchedOutline": {
441
- borderColor: theme?.palette?.primary?.main
442
- },
443
- "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
444
- borderColor: theme?.palette?.primary?.dark
447
+ border: `1px solid ${theme?.palette?.editor?.signaturePopUpInputFieldBorder} !important`
445
448
  }
446
449
  }
447
450
  }
448
- },
449
- "& .react-datepicker": {
450
- backgroundColor: theme?.palette?.editor?.inputFieldBgColor,
451
- // borderRadius: "10px",
452
- border: `1px solid ${theme?.palette?.divider || "#ccc"}`,
453
- boxShadow: "2px 4px 8px rgba(0, 0, 0, 0.4)",
454
- color: theme?.palette?.editor?.textColor + " !important"
455
- },
456
- "& .react-datepicker__header": {
457
- backgroundColor: theme?.palette?.editor?.inputFieldBgColor,
458
- borderBottom: `1px solid ${theme?.palette?.divider || "#ddd"}`,
459
- color: theme?.palette?.editor?.textColor + " !important"
460
- },
461
- "& .react-datepicker__day": {
462
- color: theme?.palette?.editor?.textColor,
463
- "&:hover": {
464
- backgroundColor: theme?.palette?.editor?.menuOptionHoverBackground,
465
- color: theme?.palette?.editor?.textColor || "#fff"
466
- }
467
- },
468
- "& .react-datepicker__current-month": {
469
- color: theme?.palette?.editor?.textColor
470
- },
471
- "& .react-datepicker__day-name": {
472
- color: theme?.palette?.editor?.textColor
473
- },
474
- "& .react-datepicker__day--selected": {
475
- background: theme?.palette?.editor?.activeColor,
476
- color: "#fff",
477
- "&:hover": {
478
- background: theme?.palette?.editor?.activeColor,
479
- color: "#fff"
480
- }
481
- },
482
- "& .react-datepicker__day--keyboard-selected": {
483
- backgroundColor: "#bad9f1",
484
- color: "#000",
485
- "&:hover": {
486
- backgroundColor: "#bad9f1",
487
- color: "#000"
488
- }
489
- },
490
- "& .react-datepicker__day--today": {
491
- fontWeight: "bold",
492
- borderBottom: `2px solid ${theme?.palette?.editor?.activeColor}`
493
- },
494
- "& .react-datepicker__triangle": {
495
- display: "none"
496
451
  }
497
452
  },
498
453
  signaturePopUpNameField: {
@@ -520,27 +475,27 @@ const useCommonStyle = theme => ({
520
475
  }
521
476
  }
522
477
  },
478
+ pageSettingPopUpRoot: {
479
+ padding: "16px 8px 16px 10px!important",
480
+ height: "100%"
481
+ },
523
482
  buttonMoreOption: {
524
483
  background: `${theme?.palette?.editor?.aiInputBackground} !important`,
525
484
  border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
526
- padding: "4px !important",
527
- "& svg": {
528
- width: "18px !important",
529
- height: "18px !important",
530
- "& path": {
485
+ padding: '4px !important',
486
+ '& svg': {
487
+ width: '18px !important',
488
+ height: '18px !important',
489
+ '& path': {
531
490
  stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
532
491
  }
533
492
  }
534
493
  },
535
- pageSettingPopUpRoot: {
536
- padding: "16px 8px 16px 10px!important",
537
- height: "100%"
538
- },
539
494
  buttonMoreOption2: {
540
495
  background: `${theme?.palette?.editor?.aiInputBackground} !important`,
541
496
  border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
542
- "& svg": {
543
- "& path": {
497
+ '& svg': {
498
+ '& path': {
544
499
  fill: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
545
500
  }
546
501
  }
@@ -548,11 +503,11 @@ const useCommonStyle = theme => ({
548
503
  buttonMoreOption3: {
549
504
  background: `${theme?.palette?.editor?.aiInputBackground} !important`,
550
505
  border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
551
- padding: "5px !important",
552
- "& svg": {
553
- width: "16px !important",
554
- height: "16px !important",
555
- "& path": {
506
+ padding: '5px !important',
507
+ '& svg': {
508
+ width: '16px !important',
509
+ height: '16px !important',
510
+ '& path': {
556
511
  stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
557
512
  }
558
513
  }
@@ -560,37 +515,37 @@ const useCommonStyle = theme => ({
560
515
  resizeButton: {
561
516
  background: theme?.palette?.editor?.aiInputBackground,
562
517
  border: `1px solid ${theme?.palette?.editor?.buttonBorder1}`,
563
- padding: "5px !important",
564
- borderRadius: "50% !important",
565
- "& svg": {
566
- width: "18px",
567
- height: "18px",
568
- "& path": {
518
+ padding: '5px !important',
519
+ borderRadius: '50% !important',
520
+ '& svg': {
521
+ width: '18px',
522
+ height: '18px',
523
+ '& path': {
569
524
  fill: `${theme?.palette?.editor?.closeButtonSvgStroke}`
570
525
  }
571
526
  },
572
- "&:hover": {
527
+ '&:hover': {
573
528
  background: theme?.palette?.editor?.aiInputBackground
574
529
  }
575
530
  },
576
531
  gradientFillBtn: {
577
532
  background: `linear-gradient(112.61deg, #2C63ED 19.3%, #8360FD 88.14%) !important`,
578
- textTransform: "math-auto !important",
579
- color: "#FFFFFF !important",
580
- padding: "0px 12px !important",
581
- height: "32px",
582
- borderRadius: "8px",
583
- fontWeight: "500",
584
- fontSize: "14px"
533
+ textTransform: 'math-auto !important',
534
+ color: '#FFFFFF !important',
535
+ padding: '0px 12px !important',
536
+ height: '32px',
537
+ borderRadius: '8px',
538
+ fontWeight: '500',
539
+ fontSize: '14px'
585
540
  },
586
541
  emptyThumbBtn: {
587
542
  background: `${theme?.palette?.editor?.sectionSettingIconHover} !important`,
588
543
  color: `${theme?.palette?.editor?.textColor} !important`,
589
- fontSize: "14px !important",
590
- "& svg": {
591
- width: "20px !important",
592
- height: "20px !important",
593
- "& path": {
544
+ fontSize: '14px !important',
545
+ '& svg': {
546
+ width: '20px !important',
547
+ height: '20px !important',
548
+ '& path': {
594
549
  stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`
595
550
  }
596
551
  }
@@ -175,7 +175,7 @@ const deserialize = el => {
175
175
  if (el.nodeType === 3) {
176
176
  // if there is any line-breaks
177
177
  const match = /\r|\n/.exec(el.textContent);
178
- const text = el.textContent?.trim()?.length === 0 ? el.textContent.replace(/\r|\n/g, "").trim() : el.textContent;
178
+ const text = el.textContent.replace(/\r|\n/g, "").trim();
179
179
  return match && !text ? null : {
180
180
  text,
181
181
  ...getInlineTextStyles(el.parentNode)
@@ -337,14 +337,14 @@ export const isCarouselSelected = editor => {
337
337
  return false;
338
338
  }
339
339
  const [nodeEntry] = Editor.nodes(editor, {
340
- match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === "carousel"
340
+ match: n => !Editor.isEditor(n) && Element.isElement(n) && n.type === 'carousel'
341
341
  });
342
342
  if (!nodeEntry) {
343
343
  return false;
344
344
  }
345
345
  const [node] = nodeEntry;
346
346
  const carouselDom = ReactEditor.toDOMNode(editor, node);
347
- const isEdit = carouselDom.classList.contains("carousel_slider_edit");
347
+ const isEdit = carouselDom.classList.contains('carousel_slider_edit');
348
348
  return !isEdit;
349
349
  } catch (err) {
350
350
  console.log(err);
@@ -1,6 +1,4 @@
1
- import { ReactEditor } from "slate-react";
2
1
  import { sizeMap } from "../utils/font";
3
- import { Editor, Node } from "slate";
4
2
  export const breakpoints = {
5
3
  small: 0,
6
4
  mobile: 600,
@@ -35,7 +33,7 @@ const overrideValues = (value, ot) => {
35
33
  return Object.keys(value).reduce((a, b) => {
36
34
  return {
37
35
  ...a,
38
- [b]: overrides[ot] ? overrides[ot](value[b], value) : value
36
+ [b]: overrides[ot] ? overrides[ot](value[b]) : value
39
37
  };
40
38
  }, {});
41
39
  };
@@ -52,15 +50,7 @@ const overrides = {
52
50
  overrideReSizeH: val => {
53
51
  return val ? `${val?.height}px` : "auto";
54
52
  },
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
- }
53
+ overrideBorderRadius: val => {
64
54
  return `${val?.topLeft}px ${val?.topRight}px ${val?.bottomLeft}px ${val?.bottomRight}px`;
65
55
  }
66
56
  };
@@ -128,194 +118,6 @@ export const getTRBLBreakPoints = (value, breakpoint) => {
128
118
  console.log(err);
129
119
  }
130
120
  };
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
- return getElementProperty(element, "font-size");
151
- }
152
- } catch (err) {
153
- // console.log(err);
154
- }
155
- }
156
- export function getVariableValue(val) {
157
- const bodyElement = document.body;
158
- const computedStyle = getComputedStyle(bodyElement);
159
- const [, variableName] = val?.match(/var\((--[^)]+)\)/) || [];
160
- const varValue = computedStyle.getPropertyValue(variableName).trim();
161
- return varValue;
162
- }
163
- const MAP_PROPERTY_KEYS = {
164
- fontFamily: "font-family",
165
- fontSize: "font-size",
166
- textSize: "font-size",
167
- fontWeight: "font-weight"
168
- };
169
- export function getElementProperty(element, styleProperty) {
170
- if (!element) {
171
- return "";
172
- }
173
- const computedStyle = window.getComputedStyle(element);
174
- const property = MAP_PROPERTY_KEYS[styleProperty] || styleProperty;
175
- let style = computedStyle.getPropertyValue(property);
176
- if (property === "font-family") {
177
- style = style.replace(/"/g, ""); // remove double quotes if exists e.g: '"Courier New"'
178
- }
179
-
180
- return style || "";
181
- }
182
- export const textThemeFields = ["fontFamily", "fontSize", "color", "bold", "italic"
183
- // "underline",
184
- // "strikethrough",
185
- ];
186
-
187
- const themeElements = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
188
- export const isTextCustomized = editor => {
189
- try {
190
- if (editor.selection) {
191
- const currentElement = Node.parent(editor, editor?.selection?.anchor?.path);
192
- if (!currentElement) {
193
- return false;
194
- }
195
- const {
196
- children,
197
- type
198
- } = currentElement;
199
- if (!themeElements.includes(type)) {
200
- return false;
201
- }
202
- if (children?.length > 1) {
203
- return true;
204
- }
205
- const customized = textThemeFields.some(field => {
206
- const element = children[0] || {};
207
- const value = element[field];
208
- if (field === "fontSize") {
209
- return Object.keys(value || {}).length;
210
- } else {
211
- return value;
212
- }
213
- });
214
- return customized;
215
- } else {
216
- return null;
217
- }
218
- } catch (err) {
219
- return null;
220
- }
221
- };
222
- const addToTheme = (field, value, element) => {
223
- switch (field) {
224
- case "fontFamily":
225
- return {
226
- fontFamily: value
227
- };
228
- case "fontSize":
229
- return {
230
- fontSize: value?.lg
231
- };
232
- case "color":
233
- return {
234
- color: value
235
- };
236
- case "bold":
237
- return {
238
- fontWeight: "bold"
239
- };
240
- case "italic":
241
- return {
242
- fontStyle: "italic"
243
- };
244
- // case "underline":
245
- // case "strikethrough":
246
- // let textDecoration = "";
247
-
248
- // if (element.underline) {
249
- // textDecoration = "underline";
250
- // }
251
-
252
- // if (element.strikethrough) {
253
- // textDecoration += " strikethrough";
254
- // }
255
-
256
- // return { textDecoration };
257
- default:
258
- return {};
259
- }
260
- };
261
- const MAP_TEXT_THEME_FIELD = {
262
- headingOne: "h1",
263
- headingTwo: "h2",
264
- headingThree: "h3",
265
- headingFour: "h4",
266
- headingFive: "h5",
267
- headingSix: "h6",
268
- paragraphOne: "para1",
269
- paragraphTwo: "para2",
270
- paragraphThree: "para3"
271
- };
272
- export const saveToTheme = editor => {
273
- try {
274
- if (editor.selection) {
275
- const currentElement = Node.parent(editor, editor?.selection?.anchor?.path);
276
- if (!currentElement) {
277
- return false;
278
- }
279
- const {
280
- children
281
- } = currentElement;
282
- if (children?.length > 1) {
283
- return true;
284
- }
285
- let theme = {};
286
- textThemeFields.forEach(field => {
287
- const element = children[0] || {};
288
- const value = element[field];
289
- let style = {};
290
- let isValueExist = false;
291
- if (value) {
292
- isValueExist = true;
293
- if (field === "fontSize") {
294
- isValueExist = !!Object.keys(value).length;
295
- }
296
- }
297
- if (isValueExist) {
298
- style = addToTheme(field, value, element);
299
- }
300
- theme = {
301
- ...theme,
302
- ...style
303
- };
304
- });
305
- textThemeFields.forEach(field => {
306
- Editor.removeMark(editor, field);
307
- });
308
- return {
309
- field: MAP_TEXT_THEME_FIELD[currentElement?.type],
310
- theme
311
- };
312
- }
313
- } catch (err) {
314
- return;
315
- }
316
- };
317
- export const HEADING_THEME_FIELDS = ["h1", "h2", "h3", "h4", "h5", "h6"];
318
- export const PARAGRAPH_THEME_FIELDS = ["para1", "para2", "para3"];
319
121
  export const getBRValue = (props, rbr = "lg") => {
320
122
  const {
321
123
  value,
@@ -5,7 +5,7 @@ function useEditorScroll(editorWrapper = {
5
5
  useEffect(() => {
6
6
  const handleScroll = () => {
7
7
  if (editorWrapper.current) {
8
- callback("scroll");
8
+ callback();
9
9
  }
10
10
  };
11
11
  const currentEditorWrapper = editorWrapper.current;
@@ -20,10 +20,7 @@ export const useEditorSelection = editor => {
20
20
  export const EditorProvider = ({
21
21
  editor,
22
22
  theme,
23
- children,
24
- openTheme = false,
25
- setOpenTheme = () => {},
26
- triggerRender
23
+ children
27
24
  }) => {
28
25
  const [previous, setPrevious] = useState("");
29
26
  const [drop, setDrop] = useState(0);
@@ -102,12 +99,9 @@ export const EditorProvider = ({
102
99
  updateDragging,
103
100
  fontFamilies,
104
101
  setFontFamilies,
105
- openTheme,
106
- setOpenTheme,
107
102
  activeBreakPoint,
108
- setActiveBreakPoint,
109
- triggerRender
110
- }), [path, editor?.selection, selectedPath, selectedElement, contextMenu, openAI, popupType, drop, openTheme, activeBreakPoint]);
103
+ setActiveBreakPoint
104
+ }), [path, editor?.selection, selectedPath, selectedElement, contextMenu, openAI, popupType, drop, activeBreakPoint]);
111
105
  return /*#__PURE__*/_jsx(EditorContext.Provider, {
112
106
  value: otherValues,
113
107
  children: children
@@ -1,5 +1,5 @@
1
1
  import { Transforms, Path, Node } from "slate";
2
- const AvoidCopying = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree", "blockquote"];
2
+ const AvoidCopying = ["headingOne", "headingTwo", "headingThree", "blockquote"];
3
3
  const BlockTypes = ["grid"];
4
4
  const withEmbeds = editor => {
5
5
  const {
@@ -9,7 +9,7 @@ const parseCopiedHTML = html => {
9
9
  const parsed = new DOMParser().parseFromString(html, "text/html");
10
10
 
11
11
  // if ol, ul are inside li, remove and push ol,ul after that li to maintain format between our slate list and external source list's json
12
- parsed.querySelectorAll("li > ul, li > ol, li > table").forEach(list => {
12
+ parsed.querySelectorAll("li > ul, li > ol").forEach(list => {
13
13
  // Find the parent li
14
14
  const parentLi = list.parentElement;
15
15
 
@@ -30,8 +30,6 @@ const parseCopiedHTML = html => {
30
30
 
31
31
  // claude.ai, copy list inbetween, some li tags are not wrapped with ul or ol
32
32
  parsed.querySelectorAll("li").forEach(li => {
33
- li.innerHTML = li.innerHTML.replace(/^\n+|\n+$/g, ""); // Removes leading and trailing newlines
34
-
35
33
  // Check if the parent of <li> is not a <ul> or <ol>
36
34
  if (!li.parentElement || li.parentElement.tagName !== "UL" && li.parentElement.tagName !== "OL") {
37
35
  // Create a <ul> element
@@ -57,7 +55,7 @@ const loopChildren = (children = [], defaultInsert) => {
57
55
  }
58
56
  return defaultInsert;
59
57
  };
60
- export const getCurrentElement = editor => {
58
+ const getCurrentElement = editor => {
61
59
  try {
62
60
  if (editor.selection) {
63
61
  return Node.parent(editor, editor?.selection?.anchor?.path);
@@ -238,9 +236,9 @@ const withHtml = editor => {
238
236
  const isNonText = rootElement ? rootElement?.querySelector(NON_TEXT_TAGS.toString()) : false;
239
237
  const isGoogleSheet = parsed.body.querySelector("google-sheets-html-origin");
240
238
  if (isGoogleSheet) {
241
- // if (editor.isChatEditor) {
242
- // return;
243
- // }
239
+ if (editor.isChatEditor) {
240
+ return;
241
+ }
244
242
  const table = rootElement.querySelector("table");
245
243
  const colGrp = table.querySelector("colgroup");
246
244
  if (colGrp) {
@@ -255,19 +253,22 @@ const withHtml = editor => {
255
253
  return;
256
254
  }
257
255
  const fragment = deserialize(parsed.body);
258
- const formattedFragment = formatFragment[eltype] ? formatFragment[eltype](fragment) : fragment;
259
-
260
- // let is_img_table = false;
261
- // formattedFragment.map((f) => {
262
- // if (f.type === "image" || f?.type?.includes("table")) {
263
- // is_img_table = true;
264
- // }
265
- // });
266
-
267
- // if (editor.isChatEditor && is_img_table) {
268
- // return;
269
- // }
270
-
256
+ const normalizeFragment = formatFragment[eltype];
257
+ if (normalizeFragment && isNonText) {
258
+ // When a non-text node is pasted into a list item, insert it into the next node.
259
+ insertAtNextNode(editor, fragment);
260
+ return;
261
+ }
262
+ const formattedFragment = normalizeFragment ? normalizeFragment(fragment) : fragment;
263
+ let is_img_table = false;
264
+ formattedFragment.map(f => {
265
+ if (f.type === "image" || f?.type?.includes("table")) {
266
+ is_img_table = true;
267
+ }
268
+ });
269
+ if (editor.isChatEditor && is_img_table) {
270
+ return;
271
+ }
271
272
  if (isTitlePath && isNonText) {
272
273
  insertAtNextNode(editor, formattedFragment);
273
274
  return;
@@ -39,7 +39,7 @@ const withLayout = editor => {
39
39
  const title = {
40
40
  type: "title",
41
41
  children: [{
42
- text: ""
42
+ text: "Untitled"
43
43
  }]
44
44
  };
45
45
  Transforms.insertNodes(editor, title, {