@flozy/editor 8.0.6 → 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 (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 +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 -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 +56 -34
  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 +2 -2
  55. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  56. package/dist/Editor/common/ImageSelector/UploadStyles.js +10 -9
  57. package/dist/Editor/common/LinkSettings/NavComponents.js +5 -0
  58. package/dist/Editor/common/LinkSettings/index.js +5 -0
  59. package/dist/Editor/common/MentionsPopup/Styles.js +12 -6
  60. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  66. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  68. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  69. package/dist/Editor/common/RnD/ElementSettings/styles.js +2 -0
  70. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  71. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  72. package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
  73. package/dist/Editor/common/RnD/Utils/index.js +0 -45
  74. package/dist/Editor/common/RnD/index.js +3 -23
  75. package/dist/Editor/common/Section/index.js +89 -60
  76. package/dist/Editor/common/Shorthands/elements.js +0 -54
  77. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  78. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  81. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  82. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
  83. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  84. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  85. package/dist/Editor/common/Uploader.js +0 -8
  86. package/dist/Editor/commonStyle.js +69 -114
  87. package/dist/Editor/helper/deserialize/index.js +1 -1
  88. package/dist/Editor/helper/index.js +2 -2
  89. package/dist/Editor/helper/theme.js +2 -200
  90. package/dist/Editor/hooks/useDrag.js +11 -17
  91. package/dist/Editor/hooks/useEditorScroll.js +2 -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 +3 -6
  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
@@ -10,8 +10,6 @@ import { AllColors } from "../../Elements/Color Picker/ColorButtons";
10
10
  import { fontFamilyMap } from "../../utils/font";
11
11
  import { getBorderColor } from "../../utils/helper";
12
12
  import SelectTypography from "./MiniTextFormat/SelectTypography";
13
- import { isTextCustomized, saveToTheme } from "../../helper/theme";
14
- import { useEditorTheme } from "../../hooks/useEditorTheme";
15
13
  import SelectSuperSubscript from "./MiniTextFormat/SelectSuperSubscript";
16
14
  import { ColorResetIcon, TextDefaultStyleIcon } from "../../common/iconListV2";
17
15
  import FontFamilyAutocomplete from "../FormatTools/FontFamilyAutocomplete";
@@ -41,7 +39,7 @@ const TextFormat = props => {
41
39
  const pageSettingLine = pageSt?.pageProps?.lineHeight;
42
40
  const {
43
41
  fontFamilies,
44
- theme: appTheme
42
+ theme
45
43
  } = useEditorContext();
46
44
  const {
47
45
  activeBreakPoint
@@ -63,12 +61,7 @@ const TextFormat = props => {
63
61
  color: "",
64
62
  bgColor: ""
65
63
  };
66
- const {
67
- theme,
68
- updateTheme
69
- } = useEditorTheme();
70
- const customized = isTextCustomized(editor);
71
- let lineSpacingValue = activeMark(editor, "lineHeight");
64
+ let lineSpacingValue = activeMark(editor, 'lineHeight');
72
65
  lineSpacingValue = lineSpacingValue?.[breakpoint] !== undefined ? lineSpacingValue : pageSettingLine;
73
66
  const handleColorPicker = type => e => {
74
67
  setType(type);
@@ -122,50 +115,6 @@ const TextFormat = props => {
122
115
  sx: classes.textFormatWrapper,
123
116
  className: "text-formatter-popup",
124
117
  children: [/*#__PURE__*/_jsxs(Grid, {
125
- item: true,
126
- xs: 12,
127
- children: [/*#__PURE__*/_jsxs(Grid, {
128
- container: true,
129
- justifyContent: "space-between",
130
- alignItems: "center",
131
- children: [/*#__PURE__*/_jsx(Grid, {
132
- item: true,
133
- children: /*#__PURE__*/_jsx(Typography, {
134
- variant: "body1",
135
- color: "primary",
136
- sx: classes.typoLabel,
137
- children: "Style"
138
- })
139
- }), /*#__PURE__*/_jsx(Grid, {
140
- item: true,
141
- children: theme?.id ? /*#__PURE__*/_jsx(Button, {
142
- sx: classes.defaultBtn,
143
- onClick: () => {
144
- const {
145
- field,
146
- theme
147
- } = saveToTheme(editor) || {};
148
- updateTheme(theme, {
149
- action: "ELEMENT_PROPS_CHANGE",
150
- fieldName: field
151
- });
152
- },
153
- disabled: !customized,
154
- children: "Save to theme"
155
- }) : null
156
- })]
157
- }), /*#__PURE__*/_jsx(Grid, {
158
- item: true,
159
- xs: 12,
160
- sx: classes.textFormatField,
161
- children: /*#__PURE__*/_jsx(SelectTypography, {
162
- editor: editor,
163
- classes: classes,
164
- closeMainPopup: () => {},
165
- type: "fullWidth"
166
- })
167
- })]
168
- }), /*#__PURE__*/_jsxs(Grid, {
169
118
  item: true,
170
119
  xs: 12,
171
120
  children: [/*#__PURE__*/_jsxs(Grid, {
@@ -318,7 +267,7 @@ const TextFormat = props => {
318
267
  children: /*#__PURE__*/_jsx(Button, {
319
268
  sx: classes.defaultBtn2,
320
269
  startIcon: /*#__PURE__*/_jsx(ColorResetIcon, {
321
- stroke: appTheme?.palette?.type === "dark" ? "#505359" : "#A2B0B9"
270
+ stroke: theme?.palette?.type === "dark" ? "#505359" : "#A2B0B9"
322
271
  }),
323
272
  onClick: handleDefault({
324
273
  format: "bgColor"
@@ -406,7 +355,11 @@ const TextFormat = props => {
406
355
  xs: 12,
407
356
  className: "typo-icons",
408
357
  sx: classes.evenSpace,
409
- children: [fontStyle?.map((m, i) => {
358
+ children: [/*#__PURE__*/_jsx(SelectTypography, {
359
+ classes: classes,
360
+ editor: editor,
361
+ closeMainPopup: closeMainPopup || onClose
362
+ }), fontStyle?.map((m, i) => {
410
363
  return /*#__PURE__*/_jsx(MarkButton, {
411
364
  editor: editor,
412
365
  ...m
@@ -443,7 +396,7 @@ const TextFormat = props => {
443
396
  value: lineSpacingValue,
444
397
  onChange: handleLineSpacing,
445
398
  data: {
446
- key: "lineHeight"
399
+ key: 'lineHeight'
447
400
  }
448
401
  })
449
402
  })]
@@ -1,5 +1,5 @@
1
- import React, { useEffect, useState } from "react";
2
- import { Popper, Paper, ClickAwayListener } from "@mui/material";
1
+ import React, { useCallback, useEffect, useState } from "react";
2
+ import { Popper, Fade, Paper, ClickAwayListener } from "@mui/material";
3
3
  import { Editor, Range, Transforms } from "slate";
4
4
  import { ReactEditor, useSlate } from "slate-react";
5
5
  import useDrag from "../../hooks/useDrag";
@@ -14,15 +14,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
14
14
  const PopupTool = props => {
15
15
  const {
16
16
  theme,
17
- setIsTextSelected,
18
17
  customProps,
19
18
  editorWrapper
20
19
  } = props;
21
20
  const classes = usePopupStyles(theme);
22
21
  const {
23
22
  setPopupType,
24
- openAI,
25
- selectedElement
23
+ openAI
26
24
  } = useEditorContext();
27
25
  const [anchorEl, setAnchorEl] = useState(null);
28
26
  const [open, setOpen] = useState(false);
@@ -33,11 +31,18 @@ const PopupTool = props => {
33
31
  const [event] = useDrag(anchorEl);
34
32
  const id = open ? "popup-edit-tool" : "";
35
33
  const [size] = useWindowResize();
36
- const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
37
- const updateAnchorEl = isScroll => {
34
+ const {
35
+ selectedElement
36
+ } = useEditorContext();
37
+ console.log("Editor debug ====>", event, open, anchorEl, selection);
38
+ const updateAnchorEl = useCallback(() => {
38
39
  try {
40
+ const {
41
+ selection
42
+ } = editor;
39
43
  const isHavingSelection = selection && !Range.isCollapsed(selection);
40
- if (isHavingSelection && event === "end") {
44
+ console.log("Editor isHavingSelection", isHavingSelection, selection);
45
+ if (isHavingSelection) {
41
46
  const domRange = ReactEditor.toDOMRange(editor, editor.selection);
42
47
  const editorContainer = document.querySelector("#slate-wrapper-scroll-container")?.getBoundingClientRect();
43
48
  const rect = domRange.getBoundingClientRect();
@@ -46,21 +51,17 @@ const PopupTool = props => {
46
51
  rect.y = -500; // hide the popper
47
52
  }
48
53
 
49
- // Create a dummy anchor element to match Popper's requirements
50
- const anchor = document.createElement("div");
51
- anchor.style.position = "absolute";
52
- anchor.style.top = `${rect.top + window.scrollY}px`;
53
- anchor.style.left = `${rect.left + window.scrollX}px`;
54
- document.body.appendChild(anchor);
55
- if (!anchorEl || isScroll === "scroll") {
56
- setAnchorEl(anchor);
57
- setOpen(true);
58
- }
54
+ console.log("Editor setAnchorEl", rect, domRange, editorContainer);
55
+ setAnchorEl({
56
+ clientWidth: rect.width,
57
+ clientHeight: rect.height,
58
+ getBoundingClientRect: () => rect
59
+ });
59
60
  }
60
61
  } catch (err) {
61
62
  console.log(err);
62
63
  }
63
- };
64
+ }, [editor?.selection]);
64
65
  useEditorScroll(editorWrapper, updateAnchorEl);
65
66
  useEffect(() => {
66
67
  const userStoppedSelection = size?.device === "xs" ? true : event === "end"; // for mobile, when user starts the selection, we are gonna show the popup tool
@@ -75,31 +76,46 @@ const PopupTool = props => {
75
76
  if (!isCarouselEdit) {
76
77
  setOpen(true);
77
78
  setPopupType("textFormat");
78
- setIsTextSelected(true);
79
+ // setIsTextSelected(true);
79
80
  }
80
81
  } else if (!anchorEl) {
81
82
  setOpen(false);
82
83
  setPopupType("");
83
- setIsTextSelected(false);
84
+ // setIsTextSelected(false);
84
85
  }
85
86
  }, [event, anchorEl]);
86
87
  useEffect(() => {
87
- if (!selection || Range.isCollapsed(selection) || Editor.string(editor, selection) === "" || selectedElement?.enable === 1) {
88
+ console.log("Editor useEffect", selection);
89
+ if (!selection || Range.isCollapsed(selection) || Editor.string(editor, selection) === "") {
88
90
  setAnchorEl(null);
89
91
  } else {
92
+ console.log("Editor updateAnchorEl", selection);
90
93
  updateAnchorEl();
91
94
  hideSlateSelection(); // removes slate selection background, when there is no selection
92
95
  }
93
- }, [selection, event, selectedElement?.enable]);
96
+ }, [editor?.selection]);
97
+ useEffect(() => {
98
+ const {
99
+ path,
100
+ enable
101
+ } = selectedElement || {};
102
+ const isFreeGridElement = path && path.split("|").length > 2;
103
+ if (enable === 1 && isFreeGridElement) {
104
+ console.log("Editor useEffect isFreeGridElement", selectedElement);
105
+ setAnchorEl(null);
106
+ }
107
+ }, [selection, selectedElement?.path, selectedElement?.enable]);
94
108
  const handleClose = () => {
109
+ console.log("Editor closing");
95
110
  // setAnchorEl(null);
96
111
  setOpen(false);
97
112
  setPopupType("");
98
113
  };
99
114
  return open && !openAI ? /*#__PURE__*/_jsx(ClickAwayListener, {
100
115
  onClickAway: e => {
116
+ console.log("ClickAwayListener", e.target, document.body, e.target !== document.body);
101
117
  // close the mini toolbar, if user clicks outside the editor (in Flozy app.)
102
- if (e.target !== document.body && !isMobile) {
118
+ if (e.target !== document.body) {
103
119
  // e.target returns body, if the user clicks material ui select popup inside the tool bar, on that time, we don't need to close
104
120
  handleClose();
105
121
  }
@@ -116,18 +132,24 @@ const PopupTool = props => {
116
132
  id: id,
117
133
  open: open,
118
134
  anchorEl: anchorEl,
135
+ transition: true,
119
136
  sx: classes.popupWrapper,
120
137
  placement: "top-start",
121
- children: /*#__PURE__*/_jsx(Paper, {
122
- style: {
123
- borderRadius: "6px",
124
- border: "1px solid #8360FD"
125
- },
126
- children: /*#__PURE__*/_jsx(MiniTextFormat, {
127
- editor: editor,
128
- classes: classes,
129
- closeMainPopup: handleClose,
130
- customProps: customProps
138
+ children: ({
139
+ TransitionProps
140
+ }) => /*#__PURE__*/_jsx(Fade, {
141
+ ...TransitionProps,
142
+ children: /*#__PURE__*/_jsx(Paper, {
143
+ style: {
144
+ borderRadius: "6px",
145
+ border: "1px solid #8360FD"
146
+ },
147
+ children: /*#__PURE__*/_jsx(MiniTextFormat, {
148
+ editor: editor,
149
+ classes: classes,
150
+ closeMainPopup: handleClose,
151
+ customProps: customProps
152
+ })
131
153
  })
132
154
  })
133
155
  })
@@ -28,20 +28,16 @@ export const toolbarGroups = [[{
28
28
  type: "dropdown",
29
29
  options: [{
30
30
  text: "Normal",
31
- value: "normal",
32
- numVal: "400"
31
+ value: "normal"
33
32
  }, {
34
33
  text: "Bold",
35
- value: "bold",
36
- numVal: "700"
34
+ value: "bold"
37
35
  }, {
38
36
  text: "Bolder",
39
- value: "bolder",
40
- numVal: "700"
37
+ value: "bolder"
41
38
  }, {
42
39
  text: "Lighter",
43
- value: "lighter",
44
- numVal: "100"
40
+ value: "lighter"
45
41
  }],
46
42
  icon: FormatBoldIcon,
47
43
  width: "100px"
@@ -50,8 +46,7 @@ export const toolbarGroups = [[{
50
46
  format: "bold",
51
47
  type: "mark",
52
48
  title: "Bold",
53
- basic: true,
54
- themeEnabled: true
49
+ basic: true
55
50
  }, {
56
51
  id: 5,
57
52
  format: "underline",
@@ -62,8 +57,7 @@ export const toolbarGroups = [[{
62
57
  format: "italic",
63
58
  type: "mark",
64
59
  title: "Italic",
65
- basic: true,
66
- themeEnabled: true
60
+ basic: true
67
61
  }, {
68
62
  id: 6,
69
63
  format: "strikethrough",
@@ -107,42 +101,6 @@ export const toolbarGroups = [[{
107
101
  type: "block",
108
102
  title: "H3",
109
103
  group: "typography"
110
- }, {
111
- id: 39,
112
- format: "headingFour",
113
- type: "block",
114
- title: "H4",
115
- group: "typography"
116
- }, {
117
- id: 40,
118
- format: "headingFive",
119
- type: "block",
120
- title: "H5",
121
- group: "typography"
122
- }, {
123
- id: 41,
124
- format: "headingSix",
125
- type: "block",
126
- title: "H6",
127
- group: "typography"
128
- }, {
129
- id: 42,
130
- format: "paragraphOne",
131
- type: "block",
132
- title: "Paragraph 1",
133
- group: "typography"
134
- }, {
135
- id: 43,
136
- format: "paragraphTwo",
137
- type: "block",
138
- title: "Paragraph 2",
139
- group: "typography"
140
- }, {
141
- id: 44,
142
- format: "paragraphThree",
143
- type: "block",
144
- title: "Paragraph 3",
145
- group: "typography"
146
104
  }, {
147
105
  id: 14,
148
106
  format: "doublequote",
@@ -1,8 +1,8 @@
1
1
  import React, { useMemo, useState } from "react";
2
2
  import { Grid, Button, Popover } from "@mui/material";
3
+ import ColorPickerTool from "react-gcolor-picker";
3
4
  import { colors } from "../Elements/Color Picker/defaultColors";
4
5
  import SwipeableDrawerComponent from "./SwipeableDrawer";
5
- import CustomColorPicker from "./CustomColorPicker";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
8
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -12,10 +12,7 @@ const ColorPickerToolComponent = ({
12
12
  onSave = () => {},
13
13
  recentColors = [],
14
14
  hideGradient,
15
- handleClose,
16
- closeDrawer,
17
- hideThemeColors,
18
- disableEditTheme
15
+ handleClose
19
16
  }) => {
20
17
  const [color, setColor] = useState(value);
21
18
  const handleSave = () => {
@@ -36,15 +33,11 @@ const ColorPickerToolComponent = ({
36
33
  item: true,
37
34
  xs: 12,
38
35
  children: [/*#__PURE__*/_jsx("div", {
39
- children: /*#__PURE__*/_jsx(CustomColorPicker, {
36
+ children: /*#__PURE__*/_jsx(ColorPickerTool, {
40
37
  gradient: hideGradient ? false : true,
41
- color: color,
38
+ value: color,
42
39
  onChange: handleColorChange,
43
- recentColors: recentColors,
44
- defaultColors: initialColors,
45
- closeDrawer: closeDrawer,
46
- hideThemeColors: hideThemeColors,
47
- disableEditTheme: disableEditTheme
40
+ defaultColors: initialColors
48
41
  })
49
42
  }), /*#__PURE__*/_jsxs("div", {
50
43
  style: {
@@ -55,9 +48,6 @@ const ColorPickerToolComponent = ({
55
48
  children: [/*#__PURE__*/_jsx(Button, {
56
49
  onClick: handleClose,
57
50
  className: "secondaryBtn",
58
- style: {
59
- background: "none"
60
- },
61
51
  children: "Cancel"
62
52
  }), /*#__PURE__*/_jsx(Button, {
63
53
  onClick: handleSave,
@@ -74,11 +64,7 @@ const ColorPickerButton = props => {
74
64
  defaultColors = [],
75
65
  classes = {},
76
66
  recentColors = [],
77
- hideGradient,
78
- children,
79
- handleClose: closeDrawer,
80
- hideThemeColors,
81
- disableEditTheme
67
+ hideGradient
82
68
  } = props;
83
69
  const [anchorEl, setAnchorEl] = useState(null);
84
70
  const open = Boolean(anchorEl);
@@ -90,13 +76,7 @@ const ColorPickerButton = props => {
90
76
  setAnchorEl(null);
91
77
  };
92
78
  return /*#__PURE__*/_jsxs(_Fragment, {
93
- children: [children ? /*#__PURE__*/_jsx("div", {
94
- onClick: handleColorPicker,
95
- style: {
96
- cursor: "pointer"
97
- },
98
- children: children
99
- }) : /*#__PURE__*/_jsx(Button, {
79
+ children: [/*#__PURE__*/_jsx(Button, {
100
80
  style: {
101
81
  background: value,
102
82
  height: "22px",
@@ -123,10 +103,7 @@ const ColorPickerButton = props => {
123
103
  onSave: onSave,
124
104
  recentColors: recentColors,
125
105
  hideGradient: hideGradient,
126
- handleClose: handleClose,
127
- closeDrawer: closeDrawer,
128
- hideThemeColors: hideThemeColors,
129
- disableEditTheme: disableEditTheme
106
+ handleClose: handleClose
130
107
  })
131
108
  })
132
109
  }) : /*#__PURE__*/_jsx(Popover, {
@@ -152,10 +129,7 @@ const ColorPickerButton = props => {
152
129
  onSave: onSave,
153
130
  recentColors: recentColors,
154
131
  hideGradient: hideGradient,
155
- handleClose: handleClose,
156
- closeDrawer: closeDrawer,
157
- hideThemeColors: hideThemeColors,
158
- disableEditTheme: disableEditTheme
132
+ handleClose: handleClose
159
133
  })
160
134
  })
161
135
  })]
@@ -7,7 +7,7 @@ import { useEditorContext } from "../../hooks/useMouseMove";
7
7
  import { Transforms } from "slate";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
- const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree", "grid"];
10
+ const DRAGGABLE_TYPES = ["paragraph", "headingOne", "headingTwo", "headingThree", "grid"];
11
11
  const DragHandleStyle = fromPopper => {
12
12
  const handleDragStyle = fromPopper ? {
13
13
  position: "absolute",
@@ -1,6 +1,7 @@
1
1
  import React, { useEffect } from "react";
2
2
  import { useDraggable } from "@dnd-kit/core";
3
3
  import { Box } from "@mui/material";
4
+ import DragIndicatorIcon from "@mui/icons-material/DragIndicator";
4
5
  import { SectionDragIcon } from "../iconListV2";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
7
  const Draggable = props => {
@@ -1,3 +1,11 @@
1
- const otherFonts = ["PoppinsRegular", "PoppinsBold", "Qwitcher Grypen", "Bulgarian Garamond", "Redacted Script", "Herr Von Muellerhoff", "Dawning of a New Day", "Coming Soon", "Engagement", "Ingrid Darling", "La Belle Aurore", "Mea Culpa", "The Girl Next Door"];
2
- const mostUsedGoogleFonts = ["Roboto", "Poppins", "Lato", "Inter", "Nunito", "Ubuntu", "Oswald", "Rubik", "Roboto Slab", "PT Sans", "Work Sans", "Lora", "Mulish", "DM Sans", "Fira Sans", "Quicksand", "Barlow", "Manrope", "IBM Plex Sans", "PT Serif", "Libre Franklin", "Bebas Neue", "Cabin", "Titillium Web", "Heebo", "Noto Serif", "Jost", "Source Code Pro", "Josefin Sans", "Dosis", "Fira Sans Condensed", "Archivo", "Noto Serif JP", "Crimson Text", "Cairo", "Pacifico", "Red Hat Display", "Assistant", "Comfortaa", "Lexend", "Fjalla One", "Caveat", "Arvo", "Lobster", "Schibsted Grotesk", "EB Garamond", "Sora", "Kalam", "Onest", "Space Grotesk", "Outfit", "Plus Jakarta Sans"];
3
- export const googleFontList = [...mostUsedGoogleFonts, ...otherFonts];
1
+ export const defaultFonts = [
2
+ // "EB Garamond",
3
+ "Anton", "DM Serif Text", "Libre Baskerville", "Montserrat", "Open Sans", "Public Sans", "Raleway", "Space Mono", "Great Vibes", "Zeyada", "Allura", "Pinyon Script", "Dancing Script", "Gaegu", "Kite One", "Merriweather"];
4
+ export const otherFonts = ["PoppinsRegular", "PoppinsBold", "Monaco", "Qwitcher Grypen", "Bulgarian Garamond", "Redacted Script", "Herr Von Muellerhoff", "Dawning of a New Day", "Coming Soon", "Engagement", "Ingrid Darling", "La Belle Aurore", "Mea Culpa", "The Girl Next Door", "Helvetica", "Georgia", "Times New Roman", "Courier New", "Impact"];
5
+ export const googleFontList = ["Roboto", "Noto Sans JP", "Poppins", "Lato", "Inter", "Roboto Condensed", "Roboto Mono", "Oswald", "Noto Sans", "Nunito", "Nunito Sans", "Ubuntu", "Rubik", "Playfair Display", "Noto Sans KR", "Roboto Slab", "PT Sans", "Kanit", "Work Sans", "Lora", "DM Sans", "Mulish", "Quicksand", "Fira Sans", "Noto Sans TC", "Inconsolata", "Barlow", "Manrope", "IBM Plex Sans", "PT Serif", "Karla", "Titillium Web", "Heebo", "Noto Serif", "Nanum Gothic", "Noto Color Emoji", "Agdasima", "Bebas Neue", "Libre Franklin", "Mukta", "Outfit", "Josefin Sans", "Source Code Pro", "Jost", "Space Grotesk", "Hind Siliguri", "Arimo", "Cabin", "Barlow Condensed", "Dosis", "Fira Sans Condensed", "Bitter", "Archivo", "Figtree", "Noto Serif JP", "PT Sans Narrow", "Abel", "Noto Sans SC",
6
+ // "Source Sans 3",
7
+ "Hind",
8
+ // "Exo 2",
9
+ "Teko", "Oxygen", "Cairo", "Crimson Text", "Plus Jakarta Sans", "Overpass", "Pacifico", "Prompt", "Red Hat Display", "Varela Round", "Cormorant Garamond", "Assistant", "Comfortaa", "Lexend", "Signika Negative",
10
+ // "M PLUS Rounded 1c",
11
+ "Fjalla One", "Caveat", "IBM Plex Mono", "Arvo", "Lobster", "Schibsted Grotesk", "Chakra Petch", "Maven Pro", "Sora", "Kalam", "Onest", "Space Grotesk", "Outfit", 'Titillium Web', ...defaultFonts];
@@ -1,11 +1,7 @@
1
- import { useEffect, useState } from "react";
1
+ import { useEffect } from "react";
2
2
  import WebFont from "webfontloader";
3
3
  import { useEditorContext } from "../../hooks/useMouseMove";
4
- import { googleFontList } from "./FontList";
5
- import CircularProgress from "@mui/material/CircularProgress";
6
- import Box from "@mui/material/Box";
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- import { Fragment as _Fragment } from "react/jsx-runtime";
4
+ import { defaultFonts, googleFontList, otherFonts } from "./FontList";
9
5
  const FontLoader = props => {
10
6
  const {
11
7
  otherProps,
@@ -14,72 +10,65 @@ const FontLoader = props => {
14
10
  const {
15
11
  setFontFamilies
16
12
  } = useEditorContext();
17
- const [loading, setLoading] = useState(true);
18
13
  const loadFontsInBatches = (families, batchSize = 5, maxRetries = 3) => {
19
14
  let currentIndex = 0;
20
15
  let retryCount = 0;
21
- let hideLoaderOn = 30;
22
- const loadNextBatch = () => {
23
- try {
24
- if (currentIndex >= families?.length) {
25
- // console.log("All fonts have been loaded");
26
- setLoading(false);
27
- return;
28
- }
29
- const batch = families?.slice(currentIndex, currentIndex + batchSize);
30
- const batchWithWeights = batch.map(font => `${font}:300,400,600,700`);
31
- WebFont.load({
32
- google: {
33
- families: [...batchWithWeights]
34
- },
35
- classes: false,
36
- timeout: 2000,
37
- active: () => {
38
- // console.log(`Fonts loaded successfully: ${batch}`);
16
+ function loadNextBatch() {
17
+ if (currentIndex >= families?.length) {
18
+ // console.log("All fonts have been loaded");
19
+ return;
20
+ }
21
+ const batch = families?.slice(currentIndex, currentIndex + batchSize);
22
+ const batchWithWeights = batch.map(font => `${font}:300,400,600,700`);
23
+ WebFont.load({
24
+ google: {
25
+ families: [...batchWithWeights]
26
+ },
27
+ classes: false,
28
+ timeout: 2000,
29
+ active: () => {
30
+ // console.log(`Fonts loaded successfully: ${batch}`);
31
+ currentIndex += batchSize;
32
+ retryCount = 0; // Reset retry count for the next batch
33
+ loadNextBatch();
34
+ },
35
+ inactive: () => {
36
+ // console.log(`Font loading failed for: ${batch}`);
37
+
38
+ if (retryCount < maxRetries) {
39
+ retryCount++;
40
+ // console.log(`Retrying batch (${retryCount}/${maxRetries})...`);
41
+ // Retry loading the same batch
42
+ loadNextBatch();
43
+ } else {
44
+ // console.log(
45
+ // `Max retries reached for batch: ${batch}. Moving to the next batch.`
46
+ // );
39
47
  currentIndex += batchSize;
40
48
  retryCount = 0; // Reset retry count for the next batch
41
49
  loadNextBatch();
42
- },
43
- inactive: () => {
44
- // console.log(`Font loading failed for: ${batch}`);
45
- if (retryCount < maxRetries) {
46
- retryCount++;
47
- // console.log(`Retrying batch (${retryCount}/${maxRetries})...`);
48
- // Retry loading the same batch
49
- loadNextBatch();
50
- } else {
51
- // console.log(
52
- // `Max retries reached for batch: ${batch}. Moving to the next batch.`
53
- // );
54
- currentIndex += batchSize;
55
- retryCount = 0;
56
- loadNextBatch();
57
- }
58
50
  }
59
- });
60
- } catch (err) {
61
- setLoading(false);
62
- }
63
- };
51
+ }
52
+ });
53
+ }
64
54
  loadNextBatch();
65
55
  };
66
56
  useEffect(() => {
67
- let families = [...googleFontList];
57
+ let families = [...otherFonts, ...defaultFonts];
68
58
  if (!readOnly) {
69
59
  otherProps?.services("listGoogleFont", []).then(data => {
70
- families = [...(data?.data || [])];
60
+ families = [...families, ...(data?.data || [])];
61
+ const filteredfamilies = families?.filter(font => !font?.includes("Material"));
71
62
  setFontFamilies({
72
63
  id: 1,
73
64
  format: "fontFamily",
74
65
  type: "fontfamilydropdown",
75
- options: families || []
66
+ options: filteredfamilies || []
76
67
  });
77
68
  loadFontsInBatches(families);
78
69
  }).catch(err => {
79
70
  // console.log(err);
80
- setLoading(false);
81
71
  });
82
- // setLoading(true);
83
72
  } else {
84
73
  function correctFontArray(fontString) {
85
74
  let fontsArray = fontString.split(",");
@@ -99,32 +88,11 @@ const FontLoader = props => {
99
88
  let families = Array.from(fontSet);
100
89
  families = correctFontArray(families.join(", "));
101
90
  families = families?.map(font => font?.replace(/\"/g, ""));
102
- families = families?.map(font => font?.replace(", sans-serif", ""));
91
+ families = families?.map(font => font?.replace(", sans-serif", "")); //This is temporary fix for patch
103
92
  families = families.filter(font => googleFontList.includes(font));
104
93
  loadFontsInBatches(families);
105
94
  }
106
-
107
- // Set timeout to hide loader after 5 seconds
108
- const timeoutId = setTimeout(() => {
109
- setLoading(false);
110
- }, 5000);
111
- return () => clearTimeout(timeoutId);
112
95
  }, []);
113
- return /*#__PURE__*/_jsx(_Fragment, {
114
- children: loading ? /*#__PURE__*/_jsx(Box, {
115
- sx: {
116
- position: "absolute",
117
- top: 0,
118
- left: 0,
119
- right: 0,
120
- bottom: 0,
121
- zIndex: 99999,
122
- display: "flex",
123
- justifyContent: "center",
124
- alignItems: "center"
125
- },
126
- children: /*#__PURE__*/_jsx(CircularProgress, {})
127
- }) : null
128
- });
96
+ return null;
129
97
  };
130
98
  export default FontLoader;