@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
@@ -8,8 +8,7 @@ const AppHeaderSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps,
12
- onClose
11
+ customProps
13
12
  } = props;
14
13
  const item_path = path?.split("|").map(m => parseInt(m));
15
14
  const element_path = [...item_path, 0];
@@ -28,7 +27,7 @@ const AppHeaderSettings = props => {
28
27
  });
29
28
  };
30
29
  const handleClose = () => {
31
- onClose();
30
+ console.log("close");
32
31
  };
33
32
  return /*#__PURE__*/_jsx(Box, {
34
33
  component: "div",
@@ -8,8 +8,7 @@ const BoxSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps,
12
- onClose
11
+ customProps
13
12
  } = props;
14
13
  const item_path = path?.split("|").map(m => parseInt(m));
15
14
  const element_path = [...item_path];
@@ -28,7 +27,7 @@ const BoxSettings = props => {
28
27
  });
29
28
  };
30
29
  const handleClose = () => {
31
- onClose();
30
+ console.log("close");
32
31
  };
33
32
  return /*#__PURE__*/_jsx(Box, {
34
33
  component: "div",
@@ -8,8 +8,7 @@ const ButtonSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps,
12
- onClose
11
+ customProps
13
12
  } = props;
14
13
  const item_path = path?.split("|").map(m => parseInt(m));
15
14
  const element_path = [...item_path, 0];
@@ -29,7 +28,7 @@ const ButtonSettings = props => {
29
28
  });
30
29
  };
31
30
  const handleClose = () => {
32
- onClose();
31
+ console.log("close");
33
32
  };
34
33
  return /*#__PURE__*/_jsx(Box, {
35
34
  component: "div",
@@ -8,8 +8,7 @@ const CodeSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps,
12
- onClose
11
+ customProps
13
12
  } = props;
14
13
  const item_path = path?.split("|").map(m => parseInt(m));
15
14
  const element_path = [...item_path, 0];
@@ -28,7 +27,7 @@ const CodeSettings = props => {
28
27
  });
29
28
  };
30
29
  const handleClose = () => {
31
- onClose();
30
+ console.log("close");
32
31
  };
33
32
  return /*#__PURE__*/_jsx(Box, {
34
33
  component: "div",
@@ -12,8 +12,7 @@ const FormSettings = props => {
12
12
  const {
13
13
  editor,
14
14
  path,
15
- customProps,
16
- onClose
15
+ customProps
17
16
  } = props;
18
17
  const item_path = path?.split("|").map(m => parseInt(m));
19
18
  const element_path = [...item_path];
@@ -56,14 +55,13 @@ const FormSettings = props => {
56
55
  }
57
56
  };
58
57
  const handleClose = () => {
59
- onClose();
58
+ console.log("close");
60
59
  };
61
60
  const muiTheme = createTheme({
62
61
  components: {
63
62
  MuiAccordion: {
64
63
  styleOverrides: {
65
64
  root: {
66
- background: theme?.palette?.editor?.miniToolBarBackground,
67
65
  "& .MuiAccordionSummary-root": {
68
66
  flexDirection: "row-reverse",
69
67
  "& .MuiSvgIcon-root": {
@@ -8,8 +8,7 @@ const ImageSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps,
12
- onClose
11
+ customProps
13
12
  } = props;
14
13
  const item_path = path?.split("|").map(m => parseInt(m));
15
14
  const element_path = [...item_path, 0];
@@ -28,7 +27,7 @@ const ImageSettings = props => {
28
27
  });
29
28
  };
30
29
  const handleClose = () => {
31
- onClose();
30
+ console.log("close");
32
31
  };
33
32
  return /*#__PURE__*/_jsx(Box, {
34
33
  component: "div",
@@ -9,8 +9,7 @@ const TableSettings = props => {
9
9
  const {
10
10
  editor,
11
11
  path,
12
- customProps,
13
- onClose
12
+ customProps
14
13
  } = props;
15
14
  const item_path = path?.split("|").map(m => parseInt(m));
16
15
  const element_path = [...item_path, 0];
@@ -58,7 +57,7 @@ const TableSettings = props => {
58
57
  }
59
58
  };
60
59
  const handleClose = () => {
61
- onClose();
60
+ console.log("close");
62
61
  };
63
62
  return /*#__PURE__*/_jsx(Box, {
64
63
  component: "div",
@@ -8,8 +8,7 @@ const VideoSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps,
12
- onClose
11
+ customProps
13
12
  } = props;
14
13
  const item_path = path?.split("|").map(m => parseInt(m));
15
14
  const element_path = [...item_path, 0];
@@ -29,7 +28,7 @@ const VideoSettings = props => {
29
28
  });
30
29
  };
31
30
  const handleClose = () => {
32
- onClose();
31
+ console.log("close");
33
32
  };
34
33
  return /*#__PURE__*/_jsx(Box, {
35
34
  component: "div",
@@ -58,6 +58,7 @@ const useElementSettingsStyle = theme => ({
58
58
  maxHeight: "500px",
59
59
  overflowX: "hidden",
60
60
  overflowY: "auto",
61
+ paddingLeft: "4px",
61
62
  background: theme?.palette?.editor?.background,
62
63
  "& .MuiTypography-root, .MuiInputBase-root, input": {
63
64
  color: theme?.palette?.editor?.textColor
@@ -9,23 +9,17 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const SwitchViewport = props => {
10
10
  const {
11
11
  breakpoint,
12
- onChange,
13
- show
12
+ onChange
14
13
  } = props;
15
14
  const classes = useSwitchViewport();
16
15
  const {
17
- setSelectedElement,
18
16
  setActiveBreakPoint
19
17
  } = useEditorContext();
20
18
  useEffect(() => {
21
- // to reset selection on viewport changes - FS-6589
22
- setSelectedElement({});
19
+ console.log(breakpoint);
23
20
  }, [breakpoint]);
24
21
  return /*#__PURE__*/_jsxs(Box, {
25
22
  sx: classes.root,
26
- style: {
27
- display: show ? "block" : "none"
28
- },
29
23
  children: [/*#__PURE__*/_jsx(Tooltip, {
30
24
  title: "Desktop View",
31
25
  children: /*#__PURE__*/_jsx(IconButton, {
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
- import { useTheme, createTheme } from "@mui/material";
2
+ import { useTheme, ThemeProvider, createTheme } from "@mui/material";
3
3
  import { isStimulator, STIMULATOR_MOCK } from "../../../hooks/useBreakpoints";
4
- import MainThemeProvider from "./MainThemeProvider";
5
4
 
6
5
  // Custom breakpoints functions
7
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -52,14 +51,12 @@ const extendedTheme = prevTheme => createTheme({
52
51
  }
53
52
  });
54
53
  const ViewportStimulator = ({
55
- children,
56
- selectedTheme
54
+ children
57
55
  }) => {
58
56
  const theme = useTheme();
59
57
  const viewportTheme = extendedTheme(theme);
60
- return /*#__PURE__*/_jsx(MainThemeProvider, {
58
+ return /*#__PURE__*/_jsx(ThemeProvider, {
61
59
  theme: viewportTheme,
62
- userSelectedTheme: selectedTheme,
63
60
  children: children
64
61
  });
65
62
  };
@@ -2,11 +2,10 @@ import { Transforms, Node, Path } from "slate";
2
2
  import { ReactEditor } from "slate-react";
3
3
  import { handleNegativeInteger } from "../../../utils/helper";
4
4
  export const ROW_HEIGHT = 50;
5
-
6
- // const MARGIN_OF = {
7
- // xs: 160,
8
- // lg: 490,
9
- // };
5
+ const MARGIN_OF = {
6
+ xs: 160,
7
+ lg: 490
8
+ };
10
9
 
11
10
  /**
12
11
  * This method will update the grid template rows of parent section based on height
@@ -1,8 +1,6 @@
1
1
  import { Transforms, Node } from "slate";
2
2
  import { ReactEditor } from "slate-react";
3
3
  import { getNearestItem } from "./calculateDropItem";
4
- import { ROW_HEIGHT, getBorderWidth } from "./gridDropItem";
5
- import { handleNegativeInteger } from "../../../utils/helper";
6
4
  const GUIDE_LINE_THRESHOLD = 5;
7
5
  const GUIDE_LINE_OVERLAP_THRESHOLD = 5;
8
6
  const handleMoveNode = (editor, path, newPath, {
@@ -250,42 +248,4 @@ export function getParentSectionPath(props, closestClass) {
250
248
  } catch (err) {
251
249
  console.log(err);
252
250
  }
253
- }
254
- export function getAbsolutePositionX(currentEle) {
255
- const {
256
- left: currElementLeft
257
- } = currentEle?.getBoundingClientRect() || {};
258
- const parentBoxDom = currentEle?.closest(".fgi_type_box");
259
- const relativeElementX = parentBoxDom || document.querySelector(".rnd-guideline-lv");
260
- const {
261
- left
262
- } = relativeElementX?.getBoundingClientRect() || {};
263
- const borderLeftWidth = getBorderWidth(relativeElementX, "borderLeftWidth");
264
- const absolutePositionX = parseInt(currElementLeft - left - borderLeftWidth);
265
- return {
266
- absolutePositionX
267
- };
268
- }
269
- export function getAbsolutePositionY(currentEle) {
270
- const {
271
- top: currElementTop
272
- } = currentEle?.getBoundingClientRect() || {};
273
- const relativeElementY = currentEle?.closest(".freegrid-container-parent");
274
- const borderTopWidth = getBorderWidth(relativeElementY, "borderTopWidth");
275
- const rect = relativeElementY.getBoundingClientRect();
276
- const absolutePositionY = handleNegativeInteger(currElementTop - rect.top - borderTopWidth);
277
-
278
- // Calculate grid position
279
- const row = Math.floor(absolutePositionY / ROW_HEIGHT) + 1;
280
-
281
- // Update grid area
282
- const gridArea = `${row} / 1 / ${row + 1} / 2`;
283
-
284
- // to calculate difference inside the grid
285
- const marginTop = Math.abs((row - 1) * ROW_HEIGHT - absolutePositionY);
286
- return {
287
- absolutePositionY,
288
- gridArea,
289
- marginTop
290
- };
291
251
  }
@@ -6,7 +6,7 @@ import Handles from "./TransformHandles";
6
6
  import { useEditorContext } from "../../hooks/useMouseMove";
7
7
  import ElementOptions from "./ElementOptions";
8
8
  import ElementSettings from "./ElementSettings";
9
- import { getAbsolutePositionX, getAbsolutePositionY, getClosestDraggable, getParentSectionPath } from "./Utils";
9
+ import { getClosestDraggable, getParentSectionPath } from "./Utils";
10
10
  import DragInfo from "./DragInfo";
11
11
  import GuideLines from "./GuideLines";
12
12
  import ShadowElement from "./ShadowElement";
@@ -425,26 +425,9 @@ const RnD = props => {
425
425
  };
426
426
  const onResizeStop = (e, direction, ref, d, position) => {
427
427
  e.preventDefault();
428
- let updatedPosition = {};
429
- if (type !== "parent") {
430
- // update element position while resizing, (for free grid box and item)
431
- const {
432
- absolutePositionX
433
- } = getAbsolutePositionX(ref);
434
- const {
435
- gridArea,
436
- marginTop
437
- } = getAbsolutePositionY(ref);
438
- updatedPosition = {
439
- left: absolutePositionX,
440
- gridArea: gridArea,
441
- marginTop: marginTop
442
- };
443
- }
444
428
  const updatedSize = {
445
429
  width: delta?.width + d.width,
446
- height: delta?.height + d.height,
447
- ...updatedPosition
430
+ height: delta?.height + d.height
448
431
  };
449
432
  onChange({
450
433
  ...updatedSize
@@ -522,10 +505,7 @@ const RnD = props => {
522
505
  ref: c => {
523
506
  positionRef.current = c;
524
507
  },
525
- className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"} ${Object.keys(absPosition)?.length ? "" : "remove-resize-styles"
526
- // Fix rerender issue (remove-resize-styles): After resizing, click close button on a free grid-selected element
527
- // doesn't remove the default `transform` style from react-rnd. Removing it manually.
528
- }`,
508
+ className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"}`,
529
509
  "data-path": str_path,
530
510
  style: {
531
511
  position: "relative",
@@ -2,34 +2,36 @@ import React, { useRef, useState } from "react";
2
2
  import { useTheme } from "@mui/material";
3
3
  import { Transforms } from "slate";
4
4
  import { ReactEditor, useSlateStatic } from "slate-react";
5
- import { Box, IconButton, Tooltip } from "@mui/material";
5
+ import { Box, IconButton, Popper, Tooltip } from "@mui/material";
6
6
  import SectionPopup from "../../Elements/Grid/SectionPopup";
7
7
  import { getBreakPointsValue, getTRBLBreakPoints, groupByBreakpoint } from "../../helper/theme";
8
- // import DragHandle from "../DnD/DragHandleButton";
9
- // import { useEditorSelection } from "../../hooks/useMouseMove";
8
+ import DragHandle from "../DnD/DragHandleButton";
9
+ import { useEditorSelection } from "../../hooks/useMouseMove";
10
10
  import SectionStyle from "./styles";
11
11
  import useWindowResize from "../../hooks/useWindowResize";
12
12
  import { SectionSettingIcon } from "../iconListV2";
13
-
14
- // const list_types = ["orderedList", "unorderedList"];
15
13
  import { jsx as _jsx } from "react/jsx-runtime";
16
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { Fragment as _Fragment } from "react/jsx-runtime";
17
16
  const Toolbar = ({
17
+ fromPopper,
18
18
  readOnly,
19
19
  showTool,
20
- onSettings,
21
- isSectionFullWidth
20
+ onSettings
22
21
  }) => {
23
22
  return !readOnly && !showTool ? /*#__PURE__*/_jsx(Box, {
24
23
  component: "div",
25
24
  className: `element-toolbar no-border-button hr section-tw sectionIcon`,
26
25
  contentEditable: false,
27
- sx: {
28
- left: isSectionFullWidth ? "0px" : "-28px",
29
- top: isSectionFullWidth ? "-28px" : "1px",
30
- "&:hover": {
31
- backgroundColor: "rgba(0,0,0,0.5)"
32
- }
26
+ style: fromPopper ? {
27
+ position: "unset",
28
+ marginLeft: "28px",
29
+ paddingTop: "4px",
30
+ marginRight: "10px",
31
+ height: "100%"
32
+ } : {
33
+ left: "-28px",
34
+ top: "1px"
33
35
  },
34
36
  children: /*#__PURE__*/_jsx(Tooltip, {
35
37
  title: "Section Settings",
@@ -40,6 +42,7 @@ const Toolbar = ({
40
42
  })
41
43
  }) : null;
42
44
  };
45
+ const list_types = ["orderedList", "unorderedList"];
43
46
  const Section = props => {
44
47
  const themeReact = useTheme();
45
48
  const theme = props?.theme;
@@ -53,8 +56,7 @@ const Section = props => {
53
56
  readOnly
54
57
  } = customProps;
55
58
  const editor = useSlateStatic();
56
- // const [isHovering, setIsHovering] = useState(false);
57
- const [size] = useWindowResize();
59
+ const [showTool] = useEditorSelection(editor);
58
60
  const [openSetttings, setOpenSettings] = useState(false);
59
61
  const {
60
62
  sectionBgColor,
@@ -71,43 +73,16 @@ const Section = props => {
71
73
  } = sectionAlignment || {};
72
74
  const path = ReactEditor.findPath(editor, element);
73
75
  const anchorEl = useRef(null);
74
- // const popperEl = useRef(null);
75
- // const [showTool] = useEditorSelection(editor);
76
+ const popperEl = useRef(null);
77
+ const [size] = useWindowResize();
76
78
  const isSectionFullWidth = sectionGridSize && sectionGridSize[size?.device] >= 12;
77
- const isFreeGrid = element?.children[0]?.type === "freegrid";
78
- const needHover = false;
79
- let tempProps = {};
80
- if (element?.type === "temp") {
81
- tempProps = {
82
- "--left": `${element?.left}px`,
83
- "--top": `${element?.top}px`
84
- };
85
- }
86
- const sectionBgImage = sectionBackgroundImage && sectionBackgroundImage !== "none" ? {
87
- backgroundImage: `url(${sectionBackgroundImage})`
88
- } : {};
89
- const edSectionSp = groupByBreakpoint({
90
- padding: {
91
- ...getTRBLBreakPoints(sectionBannerSpacing)
92
- },
93
- borderRadius: {
94
- ...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
95
- }
96
- }, themeReact);
97
- const edInnerSp = groupByBreakpoint({
98
- width: {
99
- ...getBreakPointsValue(sectionGridSize || 8, null, "overrideGridSize", true)
100
- }
101
- }, themeReact);
102
-
103
- // const onMouseEnter = () => {
104
- // setIsHovering(true);
105
- // };
106
-
107
- // const onMouseLeave = () => {
108
- // setIsHovering(false);
109
- // };
110
-
79
+ const [isHovering, setIsHovering] = useState(false);
80
+ const onMouseEnter = () => {
81
+ setIsHovering(true);
82
+ };
83
+ const onMouseLeave = () => {
84
+ setIsHovering(false);
85
+ };
111
86
  const onSettings = () => {
112
87
  setOpenSettings(true);
113
88
  };
@@ -131,6 +106,31 @@ const Section = props => {
131
106
  at: path
132
107
  });
133
108
  };
109
+ const isFreeGrid = element?.children?.find(f => f.type === "freegrid");
110
+ const needHover = element?.children?.find(f => f.type === "grid" && !list_types.includes(element.type)) ? "" : "";
111
+ let tempProps = {};
112
+ if (element?.type === "temp") {
113
+ tempProps = {
114
+ "--left": `${element?.left}px`,
115
+ "--top": `${element?.top}px`
116
+ };
117
+ }
118
+ const sectionBgImage = sectionBackgroundImage && sectionBackgroundImage !== "none" ? {
119
+ backgroundImage: `url(${sectionBackgroundImage})`
120
+ } : {};
121
+ const edSectionSp = groupByBreakpoint({
122
+ padding: {
123
+ ...getTRBLBreakPoints(sectionBannerSpacing)
124
+ },
125
+ borderRadius: {
126
+ ...getBreakPointsValue(sectionBorderRadius || {}, null, "overrideBorderRadius", true)
127
+ }
128
+ }, themeReact);
129
+ const edInnerSp = groupByBreakpoint({
130
+ width: {
131
+ ...getBreakPointsValue(sectionGridSize || 8, null, "overrideGridSize", true)
132
+ }
133
+ }, themeReact);
134
134
  return path.length === 1 && !isFreeGrid ? /*#__PURE__*/_jsxs(Box, {
135
135
  component: "div",
136
136
  className: `ed-section-wrapper ${readOnly ? "" : "hselect"} ${needHover} is-${element?.type}`,
@@ -145,10 +145,9 @@ const Section = props => {
145
145
  flexDirection: flexDirection || "column",
146
146
  alignItems: horizantal,
147
147
  justifyContent: vertical
148
- }
149
- // onMouseEnter={onMouseEnter}
150
- // onMouseLeave={onMouseLeave}
151
- ,
148
+ },
149
+ onMouseEnter: onMouseEnter,
150
+ onMouseLeave: onMouseLeave,
152
151
  children: [/*#__PURE__*/_jsxs(Box, {
153
152
  className: "ed-section-inner",
154
153
  sx: {
@@ -156,11 +155,41 @@ const Section = props => {
156
155
  ...edInnerSp
157
156
  },
158
157
  ref: anchorEl,
159
- children: [/*#__PURE__*/_jsx(Toolbar, {
160
- isSectionFullWidth: isSectionFullWidth,
161
- readOnly: readOnly,
162
- showTool: false,
163
- onSettings: onSettings
158
+ children: [isHovering && isSectionFullWidth ? /*#__PURE__*/_jsx(Popper, {
159
+ open: isHovering && isSectionFullWidth,
160
+ anchorEl: anchorEl?.current,
161
+ placement: "top-start",
162
+ sx: {
163
+ zIndex: 9999
164
+ },
165
+ disablePortal: true,
166
+ ref: popperEl,
167
+ className: "sectionPopper",
168
+ children: /*#__PURE__*/_jsxs(Box, {
169
+ sx: {
170
+ bgcolor: "background.paper",
171
+ height: "30px",
172
+ position: "relative",
173
+ background: theme?.palette?.type === "dark" ? theme?.palette?.editor?.miniToolBarBackground : "#F6F6F6"
174
+ },
175
+ children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
176
+ ...props,
177
+ fromPopper: true
178
+ }) : null, /*#__PURE__*/_jsx(Toolbar, {
179
+ fromPopper: true,
180
+ readOnly: readOnly,
181
+ showTool: showTool,
182
+ onSettings: onSettings
183
+ })]
184
+ })
185
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
186
+ children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
187
+ ...props
188
+ }) : null, /*#__PURE__*/_jsx(Toolbar, {
189
+ readOnly: readOnly,
190
+ showTool: showTool,
191
+ onSettings: onSettings
192
+ })]
164
193
  }), children]
165
194
  }), openSetttings ? /*#__PURE__*/_jsx(SectionPopup, {
166
195
  element: {
@@ -43,60 +43,6 @@ const ELEMENTS_LIST = [{
43
43
  icon: "headingThree"
44
44
  }),
45
45
  onInsert: editor => toggleBlock(editor, "headingThree", false)
46
- }, {
47
- name: "Heading 4",
48
- desc: "",
49
- group: "Text",
50
- type: "headingFour",
51
- icon: /*#__PURE__*/_jsx(Icon, {
52
- icon: "headingFour"
53
- }),
54
- onInsert: editor => toggleBlock(editor, "headingFour", false)
55
- }, {
56
- name: "Heading 5",
57
- desc: "",
58
- group: "Text",
59
- type: "headingFive",
60
- icon: /*#__PURE__*/_jsx(Icon, {
61
- icon: "headingFive"
62
- }),
63
- onInsert: editor => toggleBlock(editor, "headingFive", false)
64
- }, {
65
- name: "Heading 6",
66
- desc: "",
67
- group: "Text",
68
- type: "headingSix",
69
- icon: /*#__PURE__*/_jsx(Icon, {
70
- icon: "headingSix"
71
- }),
72
- onInsert: editor => toggleBlock(editor, "headingSix", false)
73
- }, {
74
- name: "Paragraph 1",
75
- desc: "",
76
- group: "Text",
77
- type: "paragraphOne",
78
- icon: /*#__PURE__*/_jsx(Icon, {
79
- icon: "paragraphOne"
80
- }),
81
- onInsert: editor => toggleBlock(editor, "paragraphOne", false)
82
- }, {
83
- name: "Paragraph 2",
84
- desc: "",
85
- group: "Text",
86
- type: "paragraphTwo",
87
- icon: /*#__PURE__*/_jsx(Icon, {
88
- icon: "paragraphTwo"
89
- }),
90
- onInsert: editor => toggleBlock(editor, "paragraphTwo", false)
91
- }, {
92
- name: "Paragraph 3",
93
- desc: "",
94
- group: "Text",
95
- type: "paragraphThree",
96
- icon: /*#__PURE__*/_jsx(Icon, {
97
- icon: "paragraphThree"
98
- }),
99
- onInsert: editor => toggleBlock(editor, "paragraphThree", false)
100
46
  }, {
101
47
  name: "Quote",
102
48
  desc: "",
@@ -21,8 +21,7 @@ const buttonStyle = [{
21
21
  },
22
22
  children: option.text
23
23
  });
24
- },
25
- themeEnabled: true
24
+ }
26
25
  }, {
27
26
  label: "Font Size",
28
27
  key: "textSize",
@@ -46,8 +45,7 @@ const buttonStyle = [{
46
45
  }, {
47
46
  label: "Button Color",
48
47
  key: "bgColor",
49
- type: "color",
50
- themeEnabled: true
48
+ type: "color"
51
49
  }, {
52
50
  label: "Border Color",
53
51
  key: "borderColor",
@@ -73,11 +73,6 @@ const BackgroundImage = props => {
73
73
  children: "REMOVE"
74
74
  }) : /*#__PURE__*/_jsx(Grid, {
75
75
  className: "uploadImageText",
76
- sx: {
77
- padding: 0,
78
- background: `${theme?.palette?.editor?.inputFieldBgColor}`,
79
- border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
80
- },
81
76
  children: /*#__PURE__*/_jsxs(Button, {
82
77
  component: "label",
83
78
  variant: "text",