@flozy/editor 8.0.7 → 8.0.8

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 (132) hide show
  1. package/dist/Editor/ChatEditor.js +2 -1
  2. package/dist/Editor/CommonEditor.js +112 -33
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +32 -16
  5. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  6. package/dist/Editor/Elements/Button/EditorButton.js +25 -9
  7. package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
  8. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  9. package/dist/Editor/Elements/Color Picker/ColorPicker.js +9 -7
  10. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  11. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
  12. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
  13. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +6 -1
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +19 -9
  15. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +1 -1
  16. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +32 -2
  17. package/dist/Editor/Elements/DataView/Layouts/TableView.js +126 -29
  18. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
  19. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  20. package/dist/Editor/Elements/DataView/styles.js +8 -8
  21. package/dist/Editor/Elements/Embed/Image.js +2 -2
  22. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +0 -14
  23. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +2 -1
  24. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +2 -1
  25. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  26. package/dist/Editor/Elements/Grid/GridItem.js +2 -3
  27. package/dist/Editor/Elements/Link/Link.js +70 -43
  28. package/dist/Editor/Elements/SimpleText/index.js +7 -12
  29. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  30. package/dist/Editor/Elements/Table/Table.js +17 -16
  31. package/dist/Editor/Elements/Table/TableCell.js +4 -3
  32. package/dist/Editor/Elements/Title/title.js +13 -1
  33. package/dist/Editor/Elements/Variables/Style.js +28 -2
  34. package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
  35. package/dist/Editor/Styles/EditorStyles.js +287 -291
  36. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  37. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  38. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  39. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
  40. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -0
  41. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +9 -8
  42. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  43. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +210 -85
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
  45. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
  46. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +56 -9
  47. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
  48. package/dist/Editor/Toolbar/PopupTool/index.js +34 -56
  49. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  50. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  51. package/dist/Editor/common/ColorPickerButton.js +35 -9
  52. package/dist/Editor/common/CustomColorPicker/index.js +106 -0
  53. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  54. package/dist/Editor/common/CustomDialog/index.js +90 -0
  55. package/dist/Editor/common/CustomDialog/style.js +67 -0
  56. package/dist/Editor/common/CustomDialog/styles.js +80 -0
  57. package/dist/Editor/common/CustomSelect.js +33 -0
  58. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  59. package/dist/Editor/common/DnD/Draggable.js +0 -1
  60. package/dist/Editor/common/FontLoader/FontList.js +3 -11
  61. package/dist/Editor/common/FontLoader/FontLoader.js +74 -42
  62. package/dist/Editor/common/Icon.js +28 -0
  63. package/dist/Editor/common/ImageSelector/Options/Upload.js +2 -2
  64. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  65. package/dist/Editor/common/ImageSelector/UploadStyles.js +9 -10
  66. package/dist/Editor/common/LinkSettings/NavComponents.js +0 -5
  67. package/dist/Editor/common/LinkSettings/index.js +0 -5
  68. package/dist/Editor/common/MentionsPopup/Styles.js +6 -12
  69. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  70. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  71. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  72. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  73. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  74. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
  75. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  76. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  77. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  78. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -2
  79. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +8 -2
  80. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  81. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  82. package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
  83. package/dist/Editor/common/RnD/Utils/index.js +45 -0
  84. package/dist/Editor/common/RnD/index.js +23 -3
  85. package/dist/Editor/common/Section/index.js +60 -89
  86. package/dist/Editor/common/Shorthands/elements.js +54 -0
  87. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  88. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
  89. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  90. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  91. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  92. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +35 -11
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
  94. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  95. package/dist/Editor/common/Uploader.js +8 -0
  96. package/dist/Editor/commonStyle.js +114 -69
  97. package/dist/Editor/helper/deserialize/index.js +1 -1
  98. package/dist/Editor/helper/index.js +2 -2
  99. package/dist/Editor/helper/theme.js +200 -2
  100. package/dist/Editor/hooks/useDrag.js +17 -11
  101. package/dist/Editor/hooks/useEditorScroll.js +1 -2
  102. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  103. package/dist/Editor/hooks/useMouseMove.js +9 -3
  104. package/dist/Editor/plugins/withEmbeds.js +1 -1
  105. package/dist/Editor/plugins/withHTML.js +20 -21
  106. package/dist/Editor/plugins/withLayout.js +1 -1
  107. package/dist/Editor/plugins/withTable.js +1 -1
  108. package/dist/Editor/theme/ThemeList.js +50 -173
  109. package/dist/Editor/theme/index.js +144 -0
  110. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  111. package/dist/Editor/themeSettings/buttons/index.js +283 -0
  112. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  113. package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
  114. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  115. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  116. package/dist/Editor/themeSettings/fonts/index.js +220 -0
  117. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  118. package/dist/Editor/themeSettings/icons.js +60 -0
  119. package/dist/Editor/themeSettings/index.js +320 -0
  120. package/dist/Editor/themeSettings/style.js +152 -0
  121. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  122. package/dist/Editor/themeSettingsAI/index.js +356 -0
  123. package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
  124. package/dist/Editor/themeSettingsAI/style.js +250 -0
  125. package/dist/Editor/utils/SlateUtilityFunctions.js +157 -49
  126. package/dist/Editor/utils/button.js +0 -14
  127. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  128. package/dist/Editor/utils/draftToSlate.js +3 -2
  129. package/dist/Editor/utils/font.js +40 -37
  130. package/dist/Editor/utils/helper.js +59 -19
  131. package/dist/Editor/utils/link.js +1 -1
  132. package/package.json +6 -3
@@ -18,8 +18,8 @@ const Upload = props => {
18
18
  item: true,
19
19
  xs: 12,
20
20
  sx: {
21
- padding: "10px",
22
- height: "100%"
21
+ padding: 0,
22
+ height: '100%'
23
23
  },
24
24
  className: "ims-right",
25
25
  children: /*#__PURE__*/_jsx(Uploader, {
@@ -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,12 +104,6 @@ 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
- },
113
107
  "&::-webkit-scrollbar-thumb": {
114
108
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
115
109
  },
@@ -118,10 +112,10 @@ const ImageSelectorStyles = theme => ({
118
112
  }
119
113
  },
120
114
  "& .MuiImageList-root": {
121
- margin: '0px'
115
+ margin: "0px"
122
116
  },
123
117
  "& .MuiDialogContent-root": {
124
- padding: '20px 24px 5px 24px'
118
+ padding: "20px 24px 5px 24px"
125
119
  }
126
120
  },
127
121
  titleTypo: {
@@ -5,9 +5,8 @@ const UploadStyles = theme => ({
5
5
  borderRadius: "11px",
6
6
  boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.16)",
7
7
  background: theme?.palette?.editor?.uploadFileBg,
8
- height: "100%",
9
- minHeight: "150px",
10
- height: "inherit"
8
+ height: '100%',
9
+ minHeight: '150px'
11
10
  },
12
11
  uploadField: {
13
12
  width: "100%",
@@ -19,21 +18,21 @@ const UploadStyles = theme => ({
19
18
  backgroundColor: theme?.palette?.editor?.uploadFileInnerBg,
20
19
  borderRadius: "9px",
21
20
  border: "1px dashed #2563EB",
22
- minHeight: "150px"
21
+ minHeight: '150px'
23
22
  },
24
23
  uploadIcon: {
25
24
  display: "grid !important",
26
25
  "& svg": {
27
- display: "flex",
28
- width: "100%",
26
+ display: 'flex',
27
+ width: '100%',
29
28
  "& path": {
30
29
  stroke: "#2563EB"
31
30
  }
32
31
  },
33
- "& span": {
34
- display: "flex",
35
- width: "100%",
36
- marginTop: "5px"
32
+ '& span': {
33
+ display: 'flex',
34
+ width: '100%',
35
+ marginTop: '5px'
37
36
  }
38
37
  }
39
38
  });
@@ -168,11 +168,6 @@ export const ScrollTopBottom = props => {
168
168
  fullWidth: true,
169
169
  value: value,
170
170
  onChange: e => onChange(e.target.value),
171
- MenuProps: {
172
- sx: {
173
- zIndex: "1302 !important"
174
- }
175
- },
176
171
  children: scrollToOptions.map((option, i) => {
177
172
  return /*#__PURE__*/_jsx(MenuItem, {
178
173
  value: option.value,
@@ -86,11 +86,6 @@ export default function LinkSettings(props) {
86
86
  setNavValue("");
87
87
  },
88
88
  displayEmpty: true,
89
- MenuProps: {
90
- sx: {
91
- zIndex: "1302 !important"
92
- }
93
- },
94
89
  children: navOptions.map((navOption, i) => {
95
90
  return /*#__PURE__*/_jsx(MenuItem, {
96
91
  value: navOption.value,
@@ -53,18 +53,12 @@ const usePopupStyles = theme => ({
53
53
  "& button": {
54
54
  color: theme?.palette?.editor?.textColor
55
55
  },
56
- "@media only screen and (min-width: 899px)": {
57
- maxHeight: "400px"
58
- },
56
+ // "@media only screen and (min-width: 899px)": {
57
+ // maxHeight: "400px",
58
+ // },
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
- },
68
62
  "&::-webkit-scrollbar-thumb": {
69
63
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
70
64
  },
@@ -148,13 +142,13 @@ const usePopupStyles = theme => ({
148
142
  }
149
143
  },
150
144
  "& .calederIconSvg": {
151
- '& rect': {
145
+ "& rect": {
152
146
  stroke: theme?.palette?.editor?.closeButtonSvgStroke
153
147
  },
154
- '& .strokePath': {
148
+ "& .strokePath": {
155
149
  stroke: theme?.palette?.editor?.closeButtonSvgStroke
156
150
  },
157
- '& .fillPath': {
151
+ "& .fillPath": {
158
152
  fill: theme?.palette?.editor?.closeButtonSvgStroke
159
153
  }
160
154
  }
@@ -65,7 +65,8 @@ const Settings = props => {
65
65
  editor: editor,
66
66
  path: path,
67
67
  customProps: customProps,
68
- theme: theme
68
+ theme: theme,
69
+ onClose: onClose
69
70
  }) : null
70
71
  })]
71
72
  })
@@ -8,7 +8,8 @@ const AppHeaderSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps
11
+ customProps,
12
+ onClose
12
13
  } = props;
13
14
  const item_path = path?.split("|").map(m => parseInt(m));
14
15
  const element_path = [...item_path, 0];
@@ -27,7 +28,7 @@ const AppHeaderSettings = props => {
27
28
  });
28
29
  };
29
30
  const handleClose = () => {
30
- console.log("close");
31
+ onClose();
31
32
  };
32
33
  return /*#__PURE__*/_jsx(Box, {
33
34
  component: "div",
@@ -8,7 +8,8 @@ const BoxSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps
11
+ customProps,
12
+ onClose
12
13
  } = props;
13
14
  const item_path = path?.split("|").map(m => parseInt(m));
14
15
  const element_path = [...item_path];
@@ -27,7 +28,7 @@ const BoxSettings = props => {
27
28
  });
28
29
  };
29
30
  const handleClose = () => {
30
- console.log("close");
31
+ onClose();
31
32
  };
32
33
  return /*#__PURE__*/_jsx(Box, {
33
34
  component: "div",
@@ -8,7 +8,8 @@ const ButtonSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps
11
+ customProps,
12
+ onClose
12
13
  } = props;
13
14
  const item_path = path?.split("|").map(m => parseInt(m));
14
15
  const element_path = [...item_path, 0];
@@ -28,7 +29,7 @@ const ButtonSettings = props => {
28
29
  });
29
30
  };
30
31
  const handleClose = () => {
31
- console.log("close");
32
+ onClose();
32
33
  };
33
34
  return /*#__PURE__*/_jsx(Box, {
34
35
  component: "div",
@@ -8,7 +8,8 @@ const CodeSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps
11
+ customProps,
12
+ onClose
12
13
  } = props;
13
14
  const item_path = path?.split("|").map(m => parseInt(m));
14
15
  const element_path = [...item_path, 0];
@@ -27,7 +28,7 @@ const CodeSettings = props => {
27
28
  });
28
29
  };
29
30
  const handleClose = () => {
30
- console.log("close");
31
+ onClose();
31
32
  };
32
33
  return /*#__PURE__*/_jsx(Box, {
33
34
  component: "div",
@@ -12,7 +12,8 @@ const FormSettings = props => {
12
12
  const {
13
13
  editor,
14
14
  path,
15
- customProps
15
+ customProps,
16
+ onClose
16
17
  } = props;
17
18
  const item_path = path?.split("|").map(m => parseInt(m));
18
19
  const element_path = [...item_path];
@@ -55,13 +56,14 @@ const FormSettings = props => {
55
56
  }
56
57
  };
57
58
  const handleClose = () => {
58
- console.log("close");
59
+ onClose();
59
60
  };
60
61
  const muiTheme = createTheme({
61
62
  components: {
62
63
  MuiAccordion: {
63
64
  styleOverrides: {
64
65
  root: {
66
+ background: theme?.palette?.editor?.miniToolBarBackground,
65
67
  "& .MuiAccordionSummary-root": {
66
68
  flexDirection: "row-reverse",
67
69
  "& .MuiSvgIcon-root": {
@@ -8,7 +8,8 @@ const ImageSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps
11
+ customProps,
12
+ onClose
12
13
  } = props;
13
14
  const item_path = path?.split("|").map(m => parseInt(m));
14
15
  const element_path = [...item_path, 0];
@@ -27,7 +28,7 @@ const ImageSettings = props => {
27
28
  });
28
29
  };
29
30
  const handleClose = () => {
30
- console.log("close");
31
+ onClose();
31
32
  };
32
33
  return /*#__PURE__*/_jsx(Box, {
33
34
  component: "div",
@@ -9,7 +9,8 @@ const TableSettings = props => {
9
9
  const {
10
10
  editor,
11
11
  path,
12
- customProps
12
+ customProps,
13
+ onClose
13
14
  } = props;
14
15
  const item_path = path?.split("|").map(m => parseInt(m));
15
16
  const element_path = [...item_path, 0];
@@ -57,7 +58,7 @@ const TableSettings = props => {
57
58
  }
58
59
  };
59
60
  const handleClose = () => {
60
- console.log("close");
61
+ onClose();
61
62
  };
62
63
  return /*#__PURE__*/_jsx(Box, {
63
64
  component: "div",
@@ -8,7 +8,8 @@ const VideoSettings = props => {
8
8
  const {
9
9
  editor,
10
10
  path,
11
- customProps
11
+ customProps,
12
+ onClose
12
13
  } = props;
13
14
  const item_path = path?.split("|").map(m => parseInt(m));
14
15
  const element_path = [...item_path, 0];
@@ -28,7 +29,7 @@ const VideoSettings = props => {
28
29
  });
29
30
  };
30
31
  const handleClose = () => {
31
- console.log("close");
32
+ onClose();
32
33
  };
33
34
  return /*#__PURE__*/_jsx(Box, {
34
35
  component: "div",
@@ -58,9 +58,7 @@ const useElementSettingsStyle = theme => ({
58
58
  maxHeight: "500px",
59
59
  overflowX: "hidden",
60
60
  overflowY: "auto",
61
- paddingLeft: "4px",
62
61
  background: theme?.palette?.editor?.background,
63
- paddingLeft: "4px",
64
62
  "& .MuiTypography-root, .MuiInputBase-root, input": {
65
63
  color: theme?.palette?.editor?.textColor
66
64
  },
@@ -9,17 +9,23 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const SwitchViewport = props => {
10
10
  const {
11
11
  breakpoint,
12
- onChange
12
+ onChange,
13
+ show
13
14
  } = props;
14
15
  const classes = useSwitchViewport();
15
16
  const {
17
+ setSelectedElement,
16
18
  setActiveBreakPoint
17
19
  } = useEditorContext();
18
20
  useEffect(() => {
19
- console.log(breakpoint);
21
+ // to reset selection on viewport changes - FS-6589
22
+ setSelectedElement({});
20
23
  }, [breakpoint]);
21
24
  return /*#__PURE__*/_jsxs(Box, {
22
25
  sx: classes.root,
26
+ style: {
27
+ display: show ? "block" : "none"
28
+ },
23
29
  children: [/*#__PURE__*/_jsx(Tooltip, {
24
30
  title: "Desktop View",
25
31
  children: /*#__PURE__*/_jsx(IconButton, {
@@ -0,0 +1,17 @@
1
+ import { Experimental_CssVarsProvider as CssVarsProvider, experimental_extendTheme as extendTheme } from "@mui/material/styles";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ function MainThemeProvider({
4
+ children,
5
+ userSelectedTheme,
6
+ theme = {}
7
+ }) {
8
+ const themeVars = extendTheme(userSelectedTheme?.theme?.cssVars || {});
9
+ return /*#__PURE__*/_jsx(CssVarsProvider, {
10
+ theme: {
11
+ ...themeVars,
12
+ ...theme
13
+ },
14
+ children: children
15
+ });
16
+ }
17
+ export default MainThemeProvider;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
- import { useTheme, ThemeProvider, createTheme } from "@mui/material";
2
+ import { useTheme, createTheme } from "@mui/material";
3
3
  import { isStimulator, STIMULATOR_MOCK } from "../../../hooks/useBreakpoints";
4
+ import MainThemeProvider from "./MainThemeProvider";
4
5
 
5
6
  // Custom breakpoints functions
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -51,12 +52,14 @@ const extendedTheme = prevTheme => createTheme({
51
52
  }
52
53
  });
53
54
  const ViewportStimulator = ({
54
- children
55
+ children,
56
+ selectedTheme
55
57
  }) => {
56
58
  const theme = useTheme();
57
59
  const viewportTheme = extendedTheme(theme);
58
- return /*#__PURE__*/_jsx(ThemeProvider, {
60
+ return /*#__PURE__*/_jsx(MainThemeProvider, {
59
61
  theme: viewportTheme,
62
+ userSelectedTheme: selectedTheme,
60
63
  children: children
61
64
  });
62
65
  };
@@ -2,10 +2,11 @@ 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
- const MARGIN_OF = {
6
- xs: 160,
7
- lg: 490
8
- };
5
+
6
+ // const MARGIN_OF = {
7
+ // xs: 160,
8
+ // lg: 490,
9
+ // };
9
10
 
10
11
  /**
11
12
  * This method will update the grid template rows of parent section based on height
@@ -1,6 +1,9 @@
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
+ import { getDevice } from "../../../helper/theme";
4
7
  const GUIDE_LINE_THRESHOLD = 5;
5
8
  const GUIDE_LINE_OVERLAP_THRESHOLD = 5;
6
9
  const handleMoveNode = (editor, path, newPath, {
@@ -248,4 +251,46 @@ export function getParentSectionPath(props, closestClass) {
248
251
  } catch (err) {
249
252
  console.log(err);
250
253
  }
254
+ }
255
+ export function getAbsolutePositionX(currentEle) {
256
+ const isMobile = getDevice(window.innerWidth) === "xs";
257
+ const {
258
+ left: currElementLeft
259
+ } = currentEle?.getBoundingClientRect() || {};
260
+ let parentBoxDom = currentEle?.closest(".fgi_type_box");
261
+ if (isMobile && !parentBoxDom) {
262
+ parentBoxDom = currentEle?.closest(".freegrid-section");
263
+ }
264
+ const relativeElementX = parentBoxDom || document.querySelector(".rnd-guideline-lv");
265
+ const {
266
+ left
267
+ } = relativeElementX?.getBoundingClientRect() || {};
268
+ const borderLeftWidth = getBorderWidth(relativeElementX, "borderLeftWidth");
269
+ const absolutePositionX = parseInt(currElementLeft - left - borderLeftWidth);
270
+ return {
271
+ absolutePositionX
272
+ };
273
+ }
274
+ export function getAbsolutePositionY(currentEle) {
275
+ const {
276
+ top: currElementTop
277
+ } = currentEle?.getBoundingClientRect() || {};
278
+ const relativeElementY = currentEle?.closest(".freegrid-container-parent");
279
+ const borderTopWidth = getBorderWidth(relativeElementY, "borderTopWidth");
280
+ const rect = relativeElementY.getBoundingClientRect();
281
+ const absolutePositionY = handleNegativeInteger(currElementTop - rect.top - borderTopWidth);
282
+
283
+ // Calculate grid position
284
+ const row = Math.floor(absolutePositionY / ROW_HEIGHT) + 1;
285
+
286
+ // Update grid area
287
+ const gridArea = `${row} / 1 / ${row + 1} / 2`;
288
+
289
+ // to calculate difference inside the grid
290
+ const marginTop = Math.abs((row - 1) * ROW_HEIGHT - absolutePositionY);
291
+ return {
292
+ absolutePositionY,
293
+ gridArea,
294
+ marginTop
295
+ };
251
296
  }
@@ -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 { getClosestDraggable, getParentSectionPath } from "./Utils";
9
+ import { getAbsolutePositionX, getAbsolutePositionY, getClosestDraggable, getParentSectionPath } from "./Utils";
10
10
  import DragInfo from "./DragInfo";
11
11
  import GuideLines from "./GuideLines";
12
12
  import ShadowElement from "./ShadowElement";
@@ -425,9 +425,26 @@ 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
+ }
428
444
  const updatedSize = {
429
445
  width: delta?.width + d.width,
430
- height: delta?.height + d.height
446
+ height: delta?.height + d.height,
447
+ ...updatedPosition
431
448
  };
432
449
  onChange({
433
450
  ...updatedSize
@@ -505,7 +522,10 @@ const RnD = props => {
505
522
  ref: c => {
506
523
  positionRef.current = c;
507
524
  },
508
- className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"}`,
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
+ }`,
509
529
  "data-path": str_path,
510
530
  style: {
511
531
  position: "relative",