@flozy/editor 6.0.9 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/Editor/ChatEditor.js +7 -7
  2. package/dist/Editor/CommonEditor.js +25 -81
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +16 -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 +4 -4
  10. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  11. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  12. package/dist/Editor/Elements/Embed/Image.js +2 -2
  13. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +14 -0
  14. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  15. package/dist/Editor/Elements/Grid/GridItem.js +3 -2
  16. package/dist/Editor/Elements/Link/Link.js +43 -70
  17. package/dist/Editor/Elements/SimpleText/index.js +12 -7
  18. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  19. package/dist/Editor/Elements/Table/Table.js +12 -12
  20. package/dist/Editor/Elements/Title/title.js +1 -13
  21. package/dist/Editor/Elements/Variables/Style.js +2 -28
  22. package/dist/Editor/Elements/Variables/VariableButton.js +4 -17
  23. package/dist/Editor/Styles/EditorStyles.js +4 -2
  24. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  25. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  26. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  27. package/dist/Editor/Toolbar/FormatTools/TextSize.js +15 -7
  28. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +8 -9
  29. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  30. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +85 -210
  31. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  32. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +12 -16
  33. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +9 -56
  34. package/dist/Editor/Toolbar/PopupTool/index.js +48 -32
  35. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  36. package/dist/Editor/common/ColorPickerButton.js +9 -32
  37. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  38. package/dist/Editor/common/DnD/Draggable.js +1 -0
  39. package/dist/Editor/common/FontLoader/FontList.js +11 -3
  40. package/dist/Editor/common/FontLoader/FontLoader.js +42 -74
  41. package/dist/Editor/common/Icon.js +0 -28
  42. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  43. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  44. package/dist/Editor/common/ImageSelector/UploadStyles.js +2 -1
  45. package/dist/Editor/common/MentionsPopup/Styles.js +9 -3
  46. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  47. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  48. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  49. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  50. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  51. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  52. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  53. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  54. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  55. package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
  56. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  57. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  58. package/dist/Editor/common/RnD/Utils/gridDropItem.js +4 -5
  59. package/dist/Editor/common/RnD/Utils/index.js +0 -40
  60. package/dist/Editor/common/RnD/index.js +3 -23
  61. package/dist/Editor/common/Section/index.js +89 -60
  62. package/dist/Editor/common/Shorthands/elements.js +0 -54
  63. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  64. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  65. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  66. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  67. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  68. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +11 -35
  69. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  70. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  71. package/dist/Editor/common/Uploader.js +0 -8
  72. package/dist/Editor/commonStyle.js +65 -55
  73. package/dist/Editor/helper/deserialize/index.js +1 -1
  74. package/dist/Editor/helper/index.js +2 -2
  75. package/dist/Editor/helper/theme.js +2 -200
  76. package/dist/Editor/hooks/useDrag.js +11 -17
  77. package/dist/Editor/hooks/useEditorScroll.js +2 -1
  78. package/dist/Editor/hooks/useMouseMove.js +3 -9
  79. package/dist/Editor/plugins/withEmbeds.js +1 -1
  80. package/dist/Editor/plugins/withHTML.js +9 -5
  81. package/dist/Editor/plugins/withLayout.js +1 -1
  82. package/dist/Editor/plugins/withTable.js +1 -1
  83. package/dist/Editor/theme/ThemeList.js +173 -50
  84. package/dist/Editor/utils/SlateUtilityFunctions.js +49 -157
  85. package/dist/Editor/utils/button.js +14 -0
  86. package/dist/Editor/utils/draftToSlate.js +2 -3
  87. package/dist/Editor/utils/font.js +37 -40
  88. package/dist/Editor/utils/helper.js +20 -48
  89. package/dist/Editor/utils/link.js +1 -1
  90. package/package.json +3 -6
  91. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  92. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  93. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  94. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  95. package/dist/Editor/common/CustomDialog/index.js +0 -94
  96. package/dist/Editor/common/CustomDialog/style.js +0 -67
  97. package/dist/Editor/common/CustomSelect.js +0 -33
  98. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  99. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  100. package/dist/Editor/theme/index.js +0 -144
  101. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  102. package/dist/Editor/themeSettings/buttons/index.js +0 -283
  103. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  104. package/dist/Editor/themeSettings/colorTheme/index.js +0 -292
  105. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  106. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  107. package/dist/Editor/themeSettings/fonts/index.js +0 -220
  108. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  109. package/dist/Editor/themeSettings/icons.js +0 -60
  110. package/dist/Editor/themeSettings/index.js +0 -320
  111. package/dist/Editor/themeSettings/style.js +0 -152
  112. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  113. package/dist/Editor/themeSettingsAI/index.js +0 -356
  114. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -197
  115. package/dist/Editor/themeSettingsAI/style.js +0 -250
@@ -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,10 +31,17 @@ const PopupTool = props => {
33
31
  const [event] = useDrag(anchorEl);
34
32
  const id = open ? "popup-edit-tool" : "";
35
33
  const [size] = useWindowResize();
36
- const updateAnchorEl = isScroll => {
34
+ const {
35
+ selectedElement
36
+ } = useEditorContext();
37
+ console.log("Editor debug ====>", event, open, anchorEl, selection);
38
+ const updateAnchorEl = useCallback(() => {
37
39
  try {
40
+ const {
41
+ selection
42
+ } = editor;
38
43
  const isHavingSelection = selection && !Range.isCollapsed(selection);
39
- if (isHavingSelection && event === "end") {
44
+ if (isHavingSelection) {
40
45
  const domRange = ReactEditor.toDOMRange(editor, editor.selection);
41
46
  const editorContainer = document.querySelector("#slate-wrapper-scroll-container")?.getBoundingClientRect();
42
47
  const rect = domRange.getBoundingClientRect();
@@ -45,21 +50,16 @@ const PopupTool = props => {
45
50
  rect.y = -500; // hide the popper
46
51
  }
47
52
 
48
- // Create a dummy anchor element to match Popper's requirements
49
- const anchor = document.createElement("div");
50
- anchor.style.position = "absolute";
51
- anchor.style.top = `${rect.top + window.scrollY}px`;
52
- anchor.style.left = `${rect.left + window.scrollX}px`;
53
- document.body.appendChild(anchor);
54
- if (!anchorEl || isScroll === "scroll") {
55
- setAnchorEl(anchor);
56
- setOpen(true);
57
- }
53
+ setAnchorEl({
54
+ clientWidth: rect.width,
55
+ clientHeight: rect.height,
56
+ getBoundingClientRect: () => rect
57
+ });
58
58
  }
59
59
  } catch (err) {
60
60
  console.log(err);
61
61
  }
62
- };
62
+ }, [editor?.selection]);
63
63
  useEditorScroll(editorWrapper, updateAnchorEl);
64
64
  useEffect(() => {
65
65
  const userStoppedSelection = size?.device === "xs" ? true : event === "end"; // for mobile, when user starts the selection, we are gonna show the popup tool
@@ -74,22 +74,32 @@ const PopupTool = props => {
74
74
  if (!isCarouselEdit) {
75
75
  setOpen(true);
76
76
  setPopupType("textFormat");
77
- setIsTextSelected(true);
77
+ // setIsTextSelected(true);
78
78
  }
79
79
  } else if (!anchorEl) {
80
80
  setOpen(false);
81
81
  setPopupType("");
82
- setIsTextSelected(false);
82
+ // setIsTextSelected(false);
83
83
  }
84
84
  }, [event, anchorEl]);
85
85
  useEffect(() => {
86
- if (!selection || Range.isCollapsed(selection) || Editor.string(editor, selection) === "" || selectedElement?.enable === 1) {
86
+ if (!selection || Range.isCollapsed(selection) || Editor.string(editor, selection) === "") {
87
87
  setAnchorEl(null);
88
88
  } else {
89
89
  updateAnchorEl();
90
90
  hideSlateSelection(); // removes slate selection background, when there is no selection
91
91
  }
92
- }, [selection, event, selectedElement?.enable]);
92
+ }, [selection]);
93
+ useEffect(() => {
94
+ const {
95
+ path,
96
+ enable
97
+ } = selectedElement || {};
98
+ const isFreeGridElement = path && path.split("|").length > 2;
99
+ if (enable === 1 && isFreeGridElement) {
100
+ setAnchorEl(null);
101
+ }
102
+ }, [selection, selectedElement?.path, selectedElement?.enable]);
93
103
  const handleClose = () => {
94
104
  // setAnchorEl(null);
95
105
  setOpen(false);
@@ -115,18 +125,24 @@ const PopupTool = props => {
115
125
  id: id,
116
126
  open: open,
117
127
  anchorEl: anchorEl,
128
+ transition: true,
118
129
  sx: classes.popupWrapper,
119
130
  placement: "top-start",
120
- children: /*#__PURE__*/_jsx(Paper, {
121
- style: {
122
- borderRadius: "6px",
123
- border: "1px solid #8360FD"
124
- },
125
- children: /*#__PURE__*/_jsx(MiniTextFormat, {
126
- editor: editor,
127
- classes: classes,
128
- closeMainPopup: handleClose,
129
- customProps: customProps
131
+ children: ({
132
+ TransitionProps
133
+ }) => /*#__PURE__*/_jsx(Fade, {
134
+ ...TransitionProps,
135
+ children: /*#__PURE__*/_jsx(Paper, {
136
+ style: {
137
+ borderRadius: "6px",
138
+ border: "1px solid #8360FD"
139
+ },
140
+ children: /*#__PURE__*/_jsx(MiniTextFormat, {
141
+ editor: editor,
142
+ classes: classes,
143
+ closeMainPopup: handleClose,
144
+ customProps: customProps
145
+ })
130
146
  })
131
147
  })
132
148
  })
@@ -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: {
@@ -71,11 +64,7 @@ const ColorPickerButton = props => {
71
64
  defaultColors = [],
72
65
  classes = {},
73
66
  recentColors = [],
74
- hideGradient,
75
- children,
76
- handleClose: closeDrawer,
77
- hideThemeColors,
78
- disableEditTheme
67
+ hideGradient
79
68
  } = props;
80
69
  const [anchorEl, setAnchorEl] = useState(null);
81
70
  const open = Boolean(anchorEl);
@@ -87,13 +76,7 @@ const ColorPickerButton = props => {
87
76
  setAnchorEl(null);
88
77
  };
89
78
  return /*#__PURE__*/_jsxs(_Fragment, {
90
- children: [children ? /*#__PURE__*/_jsx("div", {
91
- onClick: handleColorPicker,
92
- style: {
93
- cursor: "pointer"
94
- },
95
- children: children
96
- }) : /*#__PURE__*/_jsx(Button, {
79
+ children: [/*#__PURE__*/_jsx(Button, {
97
80
  style: {
98
81
  background: value,
99
82
  height: "22px",
@@ -120,10 +103,7 @@ const ColorPickerButton = props => {
120
103
  onSave: onSave,
121
104
  recentColors: recentColors,
122
105
  hideGradient: hideGradient,
123
- handleClose: handleClose,
124
- closeDrawer: closeDrawer,
125
- hideThemeColors: hideThemeColors,
126
- disableEditTheme: disableEditTheme
106
+ handleClose: handleClose
127
107
  })
128
108
  })
129
109
  }) : /*#__PURE__*/_jsx(Popover, {
@@ -149,10 +129,7 @@ const ColorPickerButton = props => {
149
129
  onSave: onSave,
150
130
  recentColors: recentColors,
151
131
  hideGradient: hideGradient,
152
- handleClose: handleClose,
153
- closeDrawer: closeDrawer,
154
- hideThemeColors: hideThemeColors,
155
- disableEditTheme: disableEditTheme
132
+ handleClose: handleClose
156
133
  })
157
134
  })
158
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;
@@ -44,16 +44,6 @@ import ChervDown from "../assets/svg/ChervDown";
44
44
  import ChervUp from "../assets/svg/ChervUp";
45
45
  import { jsx as _jsx } from "react/jsx-runtime";
46
46
  import { jsxs as _jsxs } from "react/jsx-runtime";
47
- const HeadingIcon = ({
48
- variant
49
- }) => {
50
- return /*#__PURE__*/_jsx("div", {
51
- style: {
52
- color: "#64748B"
53
- },
54
- children: variant
55
- });
56
- };
57
47
  const iconList = {
58
48
  fontFamily: /*#__PURE__*/_jsx(FontFamilyIcon, {
59
49
  size: 20
@@ -86,24 +76,6 @@ const iconList = {
86
76
  size: 18,
87
77
  fill: "#64748B"
88
78
  }),
89
- headingFour: /*#__PURE__*/_jsx(HeadingIcon, {
90
- variant: "H4"
91
- }),
92
- headingFive: /*#__PURE__*/_jsx(HeadingIcon, {
93
- variant: "H5"
94
- }),
95
- headingSix: /*#__PURE__*/_jsx(HeadingIcon, {
96
- variant: "H6"
97
- }),
98
- paragraphOne: /*#__PURE__*/_jsx(HeadingIcon, {
99
- variant: "P1"
100
- }),
101
- paragraphTwo: /*#__PURE__*/_jsx(HeadingIcon, {
102
- variant: "P2"
103
- }),
104
- paragraphThree: /*#__PURE__*/_jsx(HeadingIcon, {
105
- variant: "P3"
106
- }),
107
79
  blockquote: /*#__PURE__*/_jsx(MdFormatQuote, {
108
80
  size: 20,
109
81
  fill: "#64748B",
@@ -18,7 +18,7 @@ const Upload = props => {
18
18
  item: true,
19
19
  xs: 12,
20
20
  sx: {
21
- padding: 0,
21
+ padding: '10px',
22
22
  height: '100%'
23
23
  },
24
24
  className: "ims-right",
@@ -76,7 +76,7 @@ const ImageSelectorStyles = theme => ({
76
76
  background: theme?.palette?.editor?.deviderBgColor,
77
77
  "@media only screen and (min-width: 899px)": {
78
78
  margin: "0px 24px",
79
- width: "calc(100% - 48px)"
79
+ width: 'calc(100% - 48px)'
80
80
  }
81
81
  },
82
82
  "& .primaryBtn": {
@@ -104,6 +104,12 @@ const ImageSelectorStyles = theme => ({
104
104
  marginRight: "8px !important"
105
105
  },
106
106
  "& .MuiGrid-root": {
107
+ "&::-webkit-scrollbar-thumb": {
108
+ background: `none !important`
109
+ },
110
+ "&::-webkit-scrollbar-track": {
111
+ visibility: "hidden"
112
+ },
107
113
  "&::-webkit-scrollbar-thumb": {
108
114
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
109
115
  },
@@ -112,10 +118,10 @@ const ImageSelectorStyles = theme => ({
112
118
  }
113
119
  },
114
120
  "& .MuiImageList-root": {
115
- margin: "0px"
121
+ margin: '0px'
116
122
  },
117
123
  "& .MuiDialogContent-root": {
118
- padding: "20px 24px 5px 24px"
124
+ padding: '20px 24px 5px 24px'
119
125
  }
120
126
  },
121
127
  titleTypo: {
@@ -6,7 +6,8 @@ const UploadStyles = theme => ({
6
6
  boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.16)",
7
7
  background: theme?.palette?.editor?.uploadFileBg,
8
8
  height: '100%',
9
- minHeight: '150px'
9
+ minHeight: '150px',
10
+ height: "inherit"
10
11
  },
11
12
  uploadField: {
12
13
  width: "100%",
@@ -59,6 +59,12 @@ const usePopupStyles = theme => ({
59
59
  "& .orderedListIcon, .bulletedListTextIcon, .checkedListTextIcon, .accordianIconSvgTextFormat": {
60
60
  width: "20px !important"
61
61
  },
62
+ "&::-webkit-scrollbar-thumb": {
63
+ background: `none !important`
64
+ },
65
+ "&::-webkit-scrollbar-track": {
66
+ visibility: "hidden"
67
+ },
62
68
  "&::-webkit-scrollbar-thumb": {
63
69
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
64
70
  },
@@ -142,13 +148,13 @@ const usePopupStyles = theme => ({
142
148
  }
143
149
  },
144
150
  "& .calederIconSvg": {
145
- "& rect": {
151
+ '& rect': {
146
152
  stroke: theme?.palette?.editor?.closeButtonSvgStroke
147
153
  },
148
- "& .strokePath": {
154
+ '& .strokePath': {
149
155
  stroke: theme?.palette?.editor?.closeButtonSvgStroke
150
156
  },
151
- "& .fillPath": {
157
+ '& .fillPath': {
152
158
  fill: theme?.palette?.editor?.closeButtonSvgStroke
153
159
  }
154
160
  }
@@ -65,8 +65,7 @@ const Settings = props => {
65
65
  editor: editor,
66
66
  path: path,
67
67
  customProps: customProps,
68
- theme: theme,
69
- onClose: onClose
68
+ theme: theme
70
69
  }) : null
71
70
  })]
72
71
  })