@flozy/editor 9.1.4 → 9.1.6

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 +2 -19
  2. package/dist/Editor/CommonEditor.js +37 -104
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +3 -21
  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 +5 -5
  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 +1 -0
  28. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  29. package/dist/Editor/Elements/Table/Table.js +27 -43
  30. package/dist/Editor/Elements/Table/TableCell.js +5 -5
  31. package/dist/Editor/Elements/Title/title.js +31 -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 +5 -5
  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 +7 -54
  46. package/dist/Editor/Toolbar/PopupTool/index.js +17 -6
  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/FontLoader.js +0 -3
  52. package/dist/Editor/common/Icon.js +0 -28
  53. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  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/MentionsPopup/Styles.js +12 -6
  57. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  58. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  59. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  60. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
  67. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  68. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +10 -31
  69. package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
  70. package/dist/Editor/common/RnD/Utils/index.js +0 -45
  71. package/dist/Editor/common/RnD/VirtualElement/index.js +2 -1
  72. package/dist/Editor/common/RnD/index.js +3 -23
  73. package/dist/Editor/common/Shorthands/elements.js +0 -54
  74. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  75. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  76. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  77. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  78. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  81. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  82. package/dist/Editor/common/Uploader.js +0 -8
  83. package/dist/Editor/commonStyle.js +69 -114
  84. package/dist/Editor/helper/index.js +12 -8
  85. package/dist/Editor/helper/theme.js +2 -200
  86. package/dist/Editor/hooks/useDrag.js +11 -17
  87. package/dist/Editor/hooks/useEditorScroll.js +6 -10
  88. package/dist/Editor/hooks/useMouseMove.js +13 -25
  89. package/dist/Editor/hooks/useTable.js +1 -1
  90. package/dist/Editor/plugins/withEmbeds.js +1 -1
  91. package/dist/Editor/plugins/withHTML.js +16 -20
  92. package/dist/Editor/plugins/withLayout.js +1 -1
  93. package/dist/Editor/plugins/withTable.js +1 -1
  94. package/dist/Editor/theme/ThemeList.js +173 -50
  95. package/dist/Editor/utils/SlateUtilityFunctions.js +37 -150
  96. package/dist/Editor/utils/button.js +14 -0
  97. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -23
  98. package/dist/Editor/utils/draftToSlate.js +2 -3
  99. package/dist/Editor/utils/font.js +37 -40
  100. package/dist/Editor/utils/helper.js +27 -59
  101. package/dist/Editor/utils/link.js +1 -1
  102. package/dist/Editor/utils/table.js +0 -8
  103. package/package.json +3 -6
  104. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  105. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  106. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  107. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  108. package/dist/Editor/common/CustomDialog/index.js +0 -90
  109. package/dist/Editor/common/CustomDialog/styles.js +0 -80
  110. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  111. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  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
@@ -1,26 +1,19 @@
1
- import React, { useMemo } from "react";
1
+ import React from "react";
2
2
  import { TextField, IconButton, Grid, Typography } from "@mui/material";
3
3
  import { sizeMap } from "../../../utils/font.js";
4
4
  import { TextMinusIcon, TextPlusIcon } from "../../../common/iconslist.js";
5
- import { getElementStyle } from "../../../helper/theme.js";
6
- import { useSlateStatic } from "slate-react";
7
5
  import { jsx as _jsx } from "react/jsx-runtime";
8
6
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
7
  const FontSize = props => {
10
8
  const {
11
- value: val,
9
+ value,
12
10
  data,
13
- onChange,
14
- elementProps
11
+ onChange
15
12
  } = props;
16
13
  const {
17
14
  key,
18
15
  width
19
16
  } = data;
20
- const editor = useSlateStatic();
21
- const value = useMemo(() => {
22
- return getElementStyle(editor, elementProps, "font-size") || val;
23
- }, [editor, val]);
24
17
  const handleChange = e => {
25
18
  let inc = parseInt(e.target.value) || 16;
26
19
  inc = inc > 200 ? 200 : inc;
@@ -31,9 +24,7 @@ const FontSize = props => {
31
24
  const getSizeVal = () => {
32
25
  try {
33
26
  const size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
34
- const defaultSize = 16;
35
- const val = parseInt(size || defaultSize);
36
- return isNaN(val) ? defaultSize : val;
27
+ return parseInt(size || 16);
37
28
  } catch (err) {
38
29
  return "";
39
30
  }
@@ -1,13 +1,13 @@
1
- import React, { useMemo } from "react";
1
+ import React from "react";
2
2
  import { FormControl, Grid, ListItemIcon, ListSubheader, MenuItem, Select, Typography } from "@mui/material";
3
- import { getBreakPointsValue, getElementStyle } from "../../../helper/theme";
3
+ import { getBreakPointsValue } from "../../../helper/theme";
4
4
  import useWindowResize from "../../../hooks/useWindowResize";
5
5
  import { useEditorContext } from "../../../hooks/useMouseMove";
6
6
  import FontFamilyAutocomplete from "../../../Toolbar/FormatTools/FontFamilyAutocomplete";
7
7
  import { useSlate } from "slate-react";
8
8
  import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
9
9
 
10
- // hideMetaDataOptions -- pass true to hide metadata option in select field
10
+ // hideMetaDataOptions -- pass true to hide metadata option in select field
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -30,22 +30,14 @@ const TextOptions = props => {
30
30
  renderOption,
31
31
  width,
32
32
  webFont = false,
33
- hideMetaDataOptions = false,
34
- themeEnabled
33
+ hideMetaDataOptions = false
35
34
  } = data;
36
35
  const {
37
36
  fontFamilies
38
37
  } = useEditorContext();
39
- const [size] = useWindowResize();
40
38
  const editor = useSlate();
41
- const value = useMemo(() => {
42
- const userValue = isBreakpoint ? getBreakPointsValue(val, size?.device) : val;
43
- if (themeEnabled) {
44
- // editor takes a little amount of time to update the new style in element, in that case userValue will be returned
45
- return getElementStyle(editor, elementProps, key) || userValue;
46
- }
47
- return userValue;
48
- }, [editor, isBreakpoint, val, size?.device]);
39
+ const [size] = useWindowResize();
40
+ const value = isBreakpoint ? getBreakPointsValue(val, size?.device) : val;
49
41
  const metaDataMappingOptions = metaMappings?.boards || [];
50
42
  const updatedOption = !hideMetaDataOptions && elementProps?.metadatamapping ? [...options, ...metaDataMappingOptions] : webFont ? fontFamilies?.options : options;
51
43
  const handleChange = (e, d) => {
@@ -124,7 +116,7 @@ const TextOptions = props => {
124
116
  editor: editor,
125
117
  format: key,
126
118
  options: fontFamilies.options,
127
- width: "100%",
119
+ width: '100%',
128
120
  onChange: onChange,
129
121
  val: value,
130
122
  webFont: true
@@ -4,7 +4,6 @@ import { convertBase64 } from "../utils/helper";
4
4
  import { uploadFile } from "../service/fileupload";
5
5
  import Icon from "./Icon";
6
6
  import UploadStyles from "../common/ImageSelector/UploadStyles";
7
- import { useEditorContext } from "../hooks/useMouseMove";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  import { Fragment as _Fragment } from "react/jsx-runtime";
10
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -19,9 +18,6 @@ const Uploader = props => {
19
18
  const [base64, setBase64] = useState(value?.url);
20
19
  const [fileName, setFileName] = useState("");
21
20
  const [uploading, setUploading] = useState(false);
22
- const {
23
- theme
24
- } = useEditorContext();
25
21
  const handleChange = async e => {
26
22
  const uFile = e.target.files[0];
27
23
  const strImage = await convertBase64(uFile);
@@ -103,10 +99,6 @@ const Uploader = props => {
103
99
  className: "uploadImageSection",
104
100
  children: base64 ? renderThumb() : /*#__PURE__*/_jsx(Grid, {
105
101
  className: "uploadImageText",
106
- sx: {
107
- background: `${theme?.palette?.editor?.inputFieldBgColor}`,
108
- border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
109
- },
110
102
  children: /*#__PURE__*/_jsxs(Button, {
111
103
  component: "label",
112
104
  variant: "text",
@@ -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
  }
@@ -287,18 +287,22 @@ export const bringItemToFB = (editor, {
287
287
  };
288
288
  export const debounce = function (func, wait, immediate) {
289
289
  let timeout;
290
- return function () {
291
- const context = this,
292
- args = arguments,
293
- later = function () {
294
- timeout = null;
295
- if (!immediate) func.apply(context, args);
296
- },
297
- callNow = immediate && !timeout;
290
+ function debounced(...args) {
291
+ const context = this;
292
+ const later = function () {
293
+ timeout = null;
294
+ if (!immediate) func.apply(context, args);
295
+ };
296
+ const callNow = immediate && !timeout;
298
297
  clearTimeout(timeout);
299
298
  timeout = setTimeout(later, wait);
300
299
  if (callNow) func.apply(context, args);
300
+ }
301
+ debounced.cancel = function () {
302
+ clearTimeout(timeout);
303
+ timeout = null;
301
304
  };
305
+ return debounced;
302
306
  };
303
307
  export const getTextColor = (color = "") => {
304
308
  return color?.indexOf("gradient") >= 0 ? {
@@ -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,