@flozy/editor 8.0.5 → 8.0.7

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 (130) 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 +4 -4
  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 -28
  16. package/dist/Editor/Elements/DataView/Layouts/TableView.js +29 -122
  17. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  18. package/dist/Editor/Elements/DataView/styles.js +8 -8
  19. package/dist/Editor/Elements/Embed/Image.js +2 -2
  20. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +14 -0
  21. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +1 -2
  22. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -2
  23. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  24. package/dist/Editor/Elements/Grid/GridItem.js +3 -2
  25. package/dist/Editor/Elements/Link/Link.js +43 -70
  26. package/dist/Editor/Elements/SimpleText/index.js +12 -7
  27. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  28. package/dist/Editor/Elements/Table/Table.js +16 -17
  29. package/dist/Editor/Elements/Table/TableCell.js +3 -4
  30. package/dist/Editor/Elements/Title/title.js +1 -13
  31. package/dist/Editor/Elements/Variables/Style.js +2 -28
  32. package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
  33. package/dist/Editor/Styles/EditorStyles.js +291 -287
  34. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  35. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  36. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  37. package/dist/Editor/Toolbar/FormatTools/TextSize.js +15 -7
  38. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +0 -1
  39. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +8 -9
  40. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  41. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +85 -210
  42. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  43. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +12 -16
  44. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +9 -56
  45. package/dist/Editor/Toolbar/PopupTool/index.js +56 -34
  46. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  47. package/dist/Editor/common/ColorPickerButton.js +9 -35
  48. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  49. package/dist/Editor/common/DnD/Draggable.js +1 -0
  50. package/dist/Editor/common/FontLoader/FontList.js +11 -3
  51. package/dist/Editor/common/FontLoader/FontLoader.js +42 -74
  52. package/dist/Editor/common/Icon.js +0 -28
  53. package/dist/Editor/common/ImageSelector/Options/Upload.js +2 -2
  54. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  55. package/dist/Editor/common/ImageSelector/UploadStyles.js +10 -9
  56. package/dist/Editor/common/LinkSettings/NavComponents.js +5 -0
  57. package/dist/Editor/common/LinkSettings/index.js +5 -0
  58. package/dist/Editor/common/MentionsPopup/Styles.js +12 -6
  59. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  60. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  68. package/dist/Editor/common/RnD/ElementSettings/styles.js +2 -0
  69. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  70. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  71. package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
  72. package/dist/Editor/common/RnD/Utils/index.js +0 -45
  73. package/dist/Editor/common/RnD/index.js +3 -23
  74. package/dist/Editor/common/Section/index.js +89 -60
  75. package/dist/Editor/common/Shorthands/elements.js +0 -54
  76. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  77. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  78. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  81. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
  82. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  83. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  84. package/dist/Editor/common/Uploader.js +0 -8
  85. package/dist/Editor/commonStyle.js +69 -114
  86. package/dist/Editor/helper/deserialize/index.js +1 -1
  87. package/dist/Editor/helper/index.js +2 -2
  88. package/dist/Editor/helper/theme.js +2 -200
  89. package/dist/Editor/hooks/useDrag.js +11 -17
  90. package/dist/Editor/hooks/useEditorScroll.js +2 -1
  91. package/dist/Editor/hooks/useMouseMove.js +3 -9
  92. package/dist/Editor/plugins/withEmbeds.js +1 -1
  93. package/dist/Editor/plugins/withHTML.js +21 -20
  94. package/dist/Editor/plugins/withLayout.js +1 -1
  95. package/dist/Editor/plugins/withTable.js +1 -1
  96. package/dist/Editor/theme/ThemeList.js +173 -50
  97. package/dist/Editor/utils/SlateUtilityFunctions.js +49 -157
  98. package/dist/Editor/utils/button.js +14 -0
  99. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -23
  100. package/dist/Editor/utils/draftToSlate.js +2 -3
  101. package/dist/Editor/utils/font.js +37 -40
  102. package/dist/Editor/utils/helper.js +19 -59
  103. package/dist/Editor/utils/link.js +1 -1
  104. package/package.json +3 -6
  105. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  106. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  107. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  108. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  109. package/dist/Editor/common/CustomDialog/index.js +0 -90
  110. package/dist/Editor/common/CustomDialog/style.js +0 -67
  111. package/dist/Editor/common/CustomDialog/styles.js +0 -80
  112. package/dist/Editor/common/CustomSelect.js +0 -33
  113. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  114. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  115. package/dist/Editor/theme/index.js +0 -144
  116. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  117. package/dist/Editor/themeSettings/buttons/index.js +0 -283
  118. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  119. package/dist/Editor/themeSettings/colorTheme/index.js +0 -292
  120. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  121. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  122. package/dist/Editor/themeSettings/fonts/index.js +0 -220
  123. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  124. package/dist/Editor/themeSettings/icons.js +0 -60
  125. package/dist/Editor/themeSettings/index.js +0 -320
  126. package/dist/Editor/themeSettings/style.js +0 -152
  127. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  128. package/dist/Editor/themeSettingsAI/index.js +0 -356
  129. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -197
  130. 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,
@@ -1,26 +1,20 @@
1
- import { useEffect, useState } from "react";
1
+ import { useCallback, useEffect, useState } from "react";
2
2
  const useDrag = () => {
3
3
  const [event, setEvent] = useState("");
4
- useEffect(() => {
5
- addListener();
6
- return () => {
7
- removeListener();
8
- };
9
- }, []);
10
- const onMouseDown = () => {
4
+ const onMouseDown = useCallback(() => {
11
5
  setEvent("start");
12
- };
13
- const onMouseUp = () => {
6
+ }, []);
7
+ const onMouseUp = useCallback(() => {
14
8
  setEvent("end");
15
- };
16
- const addListener = () => {
9
+ }, []);
10
+ useEffect(() => {
17
11
  document.addEventListener("pointerdown", onMouseDown);
18
12
  document.addEventListener("pointerup", onMouseUp);
19
- };
20
- const removeListener = () => {
21
- document.removeEventListener("pointerdown", onMouseDown);
22
- document.removeEventListener("pointerup", onMouseUp);
23
- };
13
+ return () => {
14
+ document.removeEventListener("pointerdown", onMouseDown);
15
+ document.removeEventListener("pointerup", onMouseUp);
16
+ };
17
+ }, []);
24
18
  return [event];
25
19
  };
26
20
  export default useDrag;
@@ -4,8 +4,9 @@ function useEditorScroll(editorWrapper = {
4
4
  }, callback) {
5
5
  useEffect(() => {
6
6
  const handleScroll = () => {
7
+ console.log("Editor debug useEditorScroll ====>", editorWrapper, callback);
7
8
  if (editorWrapper.current) {
8
- callback("scroll");
9
+ callback();
9
10
  }
10
11
  };
11
12
  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 {