@flozy/editor 9.8.4 → 9.8.5

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 (139) hide show
  1. package/dist/Editor/ChatEditor.js +18 -18
  2. package/dist/Editor/CommonEditor.js +18 -118
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +7 -11
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +3 -11
  6. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  7. package/dist/Editor/Elements/Button/EditorButton.js +25 -37
  8. package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -60
  9. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  10. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
  11. package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
  12. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +2 -4
  13. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +6 -21
  14. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +1 -5
  15. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +2 -3
  16. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +0 -11
  17. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +4 -8
  18. package/dist/Editor/Elements/Embed/Image.js +2 -2
  19. package/dist/Editor/Elements/Embed/Video.js +1 -1
  20. package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
  21. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +21 -48
  22. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -25
  23. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +3 -46
  24. package/dist/Editor/Elements/FreeGrid/Options/More.js +2 -7
  25. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  26. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  27. package/dist/Editor/Elements/List/CheckList.js +1 -4
  28. package/dist/Editor/Elements/Search/SearchButton.js +1 -1
  29. package/dist/Editor/Elements/Search/SearchList.js +2 -3
  30. package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +8 -2
  31. package/dist/Editor/Elements/SimpleText/index.js +1 -9
  32. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  33. package/dist/Editor/Elements/Table/Table.js +3 -3
  34. package/dist/Editor/Elements/Title/title.js +8 -9
  35. package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
  36. package/dist/Editor/MiniEditor.js +1 -2
  37. package/dist/Editor/Styles/EditorStyles.js +5 -5
  38. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  39. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  40. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  41. package/dist/Editor/Toolbar/FormatTools/TextSize.js +13 -10
  42. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +2 -4
  43. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
  45. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +4 -7
  46. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
  47. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +11 -71
  48. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +23 -95
  49. package/dist/Editor/Toolbar/PopupTool/index.js +1 -1
  50. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  51. package/dist/Editor/common/ColorPickerButton.js +14 -39
  52. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  53. package/dist/Editor/common/FontLoader/FontLoader.js +0 -3
  54. package/dist/Editor/common/Icon.js +1 -31
  55. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  56. package/dist/Editor/common/MUIIcon/index.js +3 -0
  57. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +0 -24
  58. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  59. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  60. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +1 -3
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  68. package/dist/Editor/common/RnD/ShadowElement.js +1 -2
  69. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -8
  70. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  71. package/dist/Editor/common/RnD/Utils/gridDropItem.js +9 -73
  72. package/dist/Editor/common/RnD/Utils/index.js +0 -3
  73. package/dist/Editor/common/RnD/VirtualElement/index.js +103 -187
  74. package/dist/Editor/common/RnD/VirtualElement/styles.js +7 -155
  75. package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +3 -5
  76. package/dist/Editor/common/RnD/index.js +10 -59
  77. package/dist/Editor/common/Shorthands/elements.js +0 -54
  78. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  79. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +0 -5
  80. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  81. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  82. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +8 -16
  83. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -35
  84. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +7 -16
  85. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +6 -7
  86. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +3 -3
  87. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  88. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +7 -5
  89. package/dist/Editor/common/SwipeableDrawer/index.js +1 -1
  90. package/dist/Editor/common/Uploader.js +0 -8
  91. package/dist/Editor/commonStyle.js +57 -68
  92. package/dist/Editor/helper/theme.js +2 -202
  93. package/dist/Editor/hooks/useMouseMove.js +3 -9
  94. package/dist/Editor/plugins/withEmbeds.js +1 -1
  95. package/dist/Editor/plugins/withHTML.js +9 -11
  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 +45 -171
  99. package/dist/Editor/utils/draftToSlate.js +2 -3
  100. package/dist/Editor/utils/font.js +37 -40
  101. package/dist/Editor/utils/freegrid.js +2 -2
  102. package/dist/Editor/utils/helper.js +19 -90
  103. package/package.json +4 -4
  104. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -448
  105. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -436
  106. package/dist/Editor/assets/svg/ClearAllRounded.js +0 -31
  107. package/dist/Editor/assets/svg/ResetIconNew.js +0 -23
  108. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  109. package/dist/Editor/common/CustomColorPicker/index.js +0 -131
  110. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  111. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  112. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  113. package/dist/Editor/common/CustomSelect.js +0 -43
  114. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  115. package/dist/Editor/common/RnD/VirtualElement/BoxHeaderAutoAlignment.js +0 -43
  116. package/dist/Editor/common/RnD/VirtualElement/ForceAutoAlignment.js +0 -44
  117. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +0 -134
  118. package/dist/Editor/common/RnD/VirtualElement/helper.js +0 -382
  119. package/dist/Editor/common/SnackBar/index.js +0 -43
  120. package/dist/Editor/helper/textIndeces.js +0 -58
  121. package/dist/Editor/hooks/useAutoScroll.js +0 -38
  122. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  123. package/dist/Editor/hooks/useThemeValues.js +0 -63
  124. package/dist/Editor/theme/index.js +0 -149
  125. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  126. package/dist/Editor/themeSettings/buttons/index.js +0 -290
  127. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  128. package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
  129. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  130. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  131. package/dist/Editor/themeSettings/fonts/index.js +0 -240
  132. package/dist/Editor/themeSettings/fonts/style.js +0 -61
  133. package/dist/Editor/themeSettings/icons.js +0 -60
  134. package/dist/Editor/themeSettings/index.js +0 -351
  135. package/dist/Editor/themeSettings/style.js +0 -220
  136. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  137. package/dist/Editor/themeSettingsAI/index.js +0 -355
  138. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -205
  139. package/dist/Editor/themeSettingsAI/style.js +0 -259
@@ -1,236 +1,152 @@
1
- import React, { useEffect, useMemo, useRef, useState } from "react";
1
+ import React, { useEffect, useRef } from "react";
2
2
  import { Box } from "@mui/material";
3
3
  import useVirtualElementStyles from "./styles";
4
4
  import updateAutoProps from "./updateAutoProps";
5
- import { ROW_HEIGHT, calculateGridArea } from "../Utils/gridDropItem";
5
+ import { calculateGridArea } from "../Utils/gridDropItem";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const ROOT_ITEM_CLASS = ".freegrid-item.path-3";
8
- export function getStartRow(el) {
9
- const gridArea = el.dataset.gridAreaXs;
10
- if (gridArea) {
11
- const [startRow] = gridArea.split("/").map(num => parseInt(num));
12
- return startRow;
13
- }
14
- }
15
- function appendGridOccupied(domItem, startRow, fullHeight, lastRow) {
16
- const endRow = startRow + Math.floor(fullHeight / ROW_HEIGHT) + 1;
17
- lastRow = Math.max(endRow, lastRow);
18
- const gridArea = `${startRow}/1/${endRow}/2`;
19
- domItem.style.setProperty("--gridArea_xs", gridArea);
20
- domItem.dataset.gridAreaXs = gridArea;
21
- domItem.classList.add("exclude-virtual");
22
- return {
23
- domItem,
24
- updatedLastRow: lastRow,
25
- gridArea
26
- };
27
- }
28
8
 
29
9
  // Function to group items by path and calculate heights
30
- // function groupByPathAndCalculateHeight(allData) {
31
- // const data = JSON.parse(JSON.stringify([...allData]));
32
- // const root = {};
33
- // const heightData = {};
34
-
35
- // // Step 1: Group items based on their path
36
- // data.forEach((item) => {
37
- // const segments = item.path.split("|");
38
- // let current = root;
39
-
40
- // segments.forEach((segment, index) => {
41
- // if (!current[segment]) {
42
- // current[segment] = { children: {}, props: { height: 0 } };
43
- // }
44
-
45
- // if (index === segments.length - 1) {
46
- // // Assign the properties of the item including height
47
- // current[segment] = { ...item, children: current[segment].children };
48
- // }
49
-
50
- // current = current[segment].children;
51
- // });
52
- // });
53
-
54
- // // Step 2: Recursively calculate the height of each parent based on children
55
- // const calculateHeight = (node) => {
56
- // if (!node.children || Object.keys(node.children).length === 0) {
57
- // // Base case: If there are no children, return the node's height
58
- // return node.props.height;
59
- // }
60
-
61
- // // Calculate the height by summing the heights of all children
62
- // let totalHeight = 0;
63
- // Object.values(node.children).forEach((child) => {
64
- // totalHeight += calculateHeight(child);
65
- // });
10
+ function groupByPathAndCalculateHeight(data) {
11
+ const root = {};
12
+ const heightData = {};
13
+
14
+ // Step 1: Group items based on their path
15
+ data.forEach(item => {
16
+ const segments = item.path.split("|");
17
+ let current = root;
18
+ segments.forEach((segment, index) => {
19
+ if (!current[segment]) {
20
+ current[segment] = {
21
+ children: {},
22
+ props: {
23
+ height: 0
24
+ }
25
+ };
26
+ }
27
+ if (index === segments.length - 1) {
28
+ // Assign the properties of the item including height
29
+ current[segment] = {
30
+ ...item,
31
+ children: current[segment].children
32
+ };
33
+ }
34
+ current = current[segment].children;
35
+ });
36
+ });
66
37
 
67
- // // Update the parent's height to be the total height of its children
68
- // node.props.height = totalHeight;
69
- // if (node?.path) {
70
- // heightData[node.path] = totalHeight;
71
- // }
72
- // return totalHeight;
73
- // };
38
+ // Step 2: Recursively calculate the height of each parent based on children
39
+ const calculateHeight = node => {
40
+ if (!node.children || Object.keys(node.children).length === 0) {
41
+ // Base case: If there are no children, return the node's height
42
+ return node.props.height;
43
+ }
74
44
 
75
- // // Start calculation from the root
76
- // Object.values(root).forEach((node) => calculateHeight(node));
45
+ // Calculate the height by summing the heights of all children
46
+ let totalHeight = 0;
47
+ Object.values(node.children).forEach(child => {
48
+ totalHeight += calculateHeight(child);
49
+ });
77
50
 
78
- // return { root, heightData };
79
- // }
51
+ // Update the parent's height to be the total height of its children
52
+ node.props.height = totalHeight;
53
+ if (node?.path) {
54
+ heightData[node.path] = totalHeight;
55
+ }
56
+ return totalHeight;
57
+ };
80
58
 
81
- const handleGridItem = (dom, lastRow) => {
82
- const startRow = getStartRow(dom);
83
- const {
84
- marginTopXs,
85
- heightXs
86
- } = dom.dataset;
87
- const marginTop = marginTopXs ? Number(marginTopXs) : 0;
88
- const fullHeight = Number(heightXs) + marginTop;
89
- return appendGridOccupied(dom, startRow, fullHeight, lastRow);
90
- };
91
- const handleNonGridItem = (dom, lastRow) => {
92
- const rect = dom.getBoundingClientRect();
93
- dom.style.setProperty("--height_xs", rect.height + "px"); // assign the auto height that taken
94
- const startRow = lastRow || 1;
95
- const DEFAULT_NEW_ELEMENT_MARGIN_TOP = 12;
96
- let fullHeight = rect.height + DEFAULT_NEW_ELEMENT_MARGIN_TOP;
97
- const gridOccupiedData = appendGridOccupied(dom, startRow, fullHeight, lastRow);
59
+ // Start calculation from the root
60
+ Object.values(root).forEach(node => calculateHeight(node));
98
61
  return {
99
- ...gridOccupiedData,
100
- fullHeight
62
+ root,
63
+ heightData
101
64
  };
102
- };
103
- const appendContainerItems = async (sectionCls, virtualRef, dataSets) => {
104
- const cloneNode = document.querySelector(sectionCls)?.cloneNode(true);
105
- const items = cloneNode?.querySelectorAll(ROOT_ITEM_CLASS) || [];
106
- if (!cloneNode || !items?.length || !virtualRef.current) {
107
- return;
108
- }
109
-
110
- // Remove all existing elements inside virtualRef.current
111
- virtualRef.current.innerHTML = "";
112
- virtualRef.current.style.height = `auto`;
113
- virtualRef.current.style.gridTemplateRows = `unset`;
114
-
115
- // temporary append section items to get the dom styles
116
- virtualRef.current.append(...items);
117
- let itemsHTML = "";
118
- let lastRow = 0;
119
- const gridItems = [];
120
- const nonGridItems = [];
121
- items.forEach(item => {
122
- if (getStartRow(item)) {
123
- gridItems.push(item);
124
- } else {
125
- nonGridItems.push(item);
126
- }
127
- });
128
-
129
- // to find the previously occupied rows
130
- gridItems.forEach(item => {
131
- const {
132
- updatedLastRow,
133
- domItem
134
- } = handleGridItem(item, lastRow);
135
- lastRow = updatedLastRow;
136
- itemsHTML += domItem.outerHTML;
137
- });
138
- let containerHeight = lastRow ? (lastRow - 1) * ROW_HEIGHT : 0;
139
-
140
- //place it on the next rows that are available
141
- nonGridItems.forEach(item => {
142
- const {
143
- domItem,
144
- updatedLastRow,
145
- fullHeight
146
- } = handleNonGridItem(item, lastRow);
147
- lastRow = updatedLastRow;
148
- itemsHTML += domItem.outerHTML;
149
- containerHeight += fullHeight;
150
- });
151
- const oldSectionHeight = dataSets["data-height-xs"];
152
- const newHeight = oldSectionHeight && oldSectionHeight > containerHeight ? oldSectionHeight : containerHeight;
153
- virtualRef.current.style.height = `${newHeight}px`;
154
- virtualRef.current.style.gridTemplateRows = `repeat(${lastRow - 1}, ${ROW_HEIGHT}px)`;
155
- virtualRef.current.innerHTML = itemsHTML;
156
- };
65
+ }
157
66
  const VirtualElement = props => {
158
67
  const classes = useVirtualElementStyles();
159
68
  const {
160
69
  editor,
161
70
  path,
162
- updated_at,
163
- sectionCls,
164
- dataSets
71
+ parentEle,
72
+ updated_at
165
73
  } = props;
74
+ const cloneNode = parentEle?.cloneNode(true);
166
75
  const virtualRef = useRef();
167
- const [toggleUpdate, setToggleUpdate] = useState(false);
168
76
  useEffect(() => {
169
77
  if (virtualRef?.current) {
170
78
  const timeoutId = setTimeout(() => {
171
79
  const allData = calculateProps(path, virtualRef?.current, ROOT_ITEM_CLASS, []);
172
- // const groupData = groupByPathAndCalculateHeight(allData);
173
- // console.log("allData", allData);
80
+ const groupData = groupByPathAndCalculateHeight(allData);
174
81
  // it should trigger by auto alignment or on clicking mobile view change
175
- updateAutoProps(editor, allData, "xs");
82
+ updateAutoProps(editor, allData, "xs", groupData);
176
83
  }, 100);
177
- setToggleUpdate(prev => !prev);
178
84
  return () => clearTimeout(timeoutId);
179
85
  }
180
86
  }, [updated_at, virtualRef?.current]);
181
87
  const calculateProps = (curPath, dom, domClass, allData) => {
182
88
  const rect = dom?.getBoundingClientRect();
183
-
184
- // const sectionRect = virtualRef?.current?.getBoundingClientRect();
185
-
186
- const bufferHeight = 12; // for spacing
187
-
89
+ const sectionRect = virtualRef?.current?.getBoundingClientRect();
188
90
  const sectionProps = {
189
91
  path: curPath,
190
92
  props: {
191
- height: rect?.height + bufferHeight
93
+ height: rect?.height
192
94
  }
193
95
  };
194
96
  const itemsData = [];
195
- const items = dom ? dom.querySelectorAll(domClass) : [];
97
+ const items = dom.querySelectorAll(domClass);
98
+ const nextItemPathLength = curPath?.split("|").length + 2;
99
+ let sectionHeight = 12;
196
100
  for (let i = 0; i < items.length; i++) {
197
- const item = items[i];
198
- const itemRect = item?.getBoundingClientRect();
199
- const {
200
- path
201
- } = item?.dataset;
202
- const y = Math.abs(rect.top - itemRect?.top);
203
- itemsData.push({
204
- path,
205
- props: {
206
- top: y,
207
- left: 24,
208
- marginTop: 12,
209
- width: itemRect?.width,
210
- height: itemRect?.height,
211
- gridArea: calculateGridArea(y)
212
- }
213
- });
101
+ const itemRect = items[i]?.getBoundingClientRect();
102
+ if (items[i]?.classList.contains("type_box")) {
103
+ allData = calculateProps(items[i]?.dataset.path, items[i], `.freegrid-item.path-${nextItemPathLength}`, allData);
104
+ } else {
105
+ const y = Math.abs(rect.top - itemRect?.top);
106
+ itemsData.push({
107
+ path: items[i]?.dataset.path,
108
+ props: {
109
+ top: y,
110
+ left: 24,
111
+ marginTop: 12,
112
+ width: itemRect?.width,
113
+ height: itemRect?.height,
114
+ gridArea: calculateGridArea(y)
115
+ }
116
+ });
117
+ sectionHeight += itemRect?.height;
118
+ }
119
+ }
120
+ if (dom?.classList.contains("type_box")) {
121
+ const y = Math.abs(sectionRect.top - rect?.top);
122
+ sectionProps.props.gridArea = calculateGridArea(y);
123
+ }
124
+ if (sectionHeight > sectionProps?.props?.height) {
125
+ sectionProps.props.height = sectionHeight;
214
126
  }
215
127
  allData = [sectionProps, [...allData, ...itemsData]]?.flat();
216
128
  return allData;
217
129
  };
218
- useMemo(() => {
219
- return appendContainerItems(sectionCls, virtualRef, dataSets);
220
- }, [toggleUpdate]);
130
+ const getItems = () => {
131
+ const items = cloneNode?.querySelectorAll(ROOT_ITEM_CLASS) || [];
132
+ let itemsHTML = "";
133
+ for (let i = 0; i < items?.length; i++) {
134
+ items[i].classList.add("exclude-virtual");
135
+ itemsHTML += items[i].outerHTML;
136
+ }
137
+ return itemsHTML;
138
+ };
221
139
  return /*#__PURE__*/_jsx(Box, {
222
140
  className: "mobile-virtual-mode",
223
141
  ref: virtualRef,
224
- sx: {
225
- display: "grid",
226
- gridTemplateColumns: "100%",
227
- visibility: "hidden",
228
- // height: `${containerHeight}px !important`,
229
- // gridTemplateRows: `repeat(${lastRow - 1}, ${ROW_HEIGHT}px)`,
230
- ...classes.root
142
+ sx: classes.root,
143
+ dangerouslySetInnerHTML: {
144
+ __html: getItems()
145
+ },
146
+ style: {
147
+ visibility: "hidden"
231
148
  },
232
- "aria-hidden": "true",
233
- contentEditable: false
149
+ "aria-hidden": "true"
234
150
  });
235
151
  };
236
152
  export default VirtualElement;
@@ -2,175 +2,27 @@ const useVirtualElementStyles = () => ({
2
2
  root: {
3
3
  width: "320px",
4
4
  position: "fixed",
5
- // backgroundColor: "red",
6
- // height: "fit-content",
5
+ backgroundColor: "red",
6
+ height: "auto",
7
7
  overflow: "visible",
8
8
  pointerEvents: "none",
9
- opacity: 1,
9
+ opacity: 0,
10
10
  right: 0,
11
11
  top: 0,
12
- "& .leaf-item": {
13
- fontSize: "var(--fontSize_xs) !important",
14
- "& span": {
15
- fontSize: "var(--fontSize_xs) !important"
16
- }
17
- },
18
- "& .editor-blocker": {
19
- display: "none"
20
- },
21
- "& .freegrid-item": {
22
- position: "relative !important",
23
- top: "0 !important",
24
- gridArea: "var(--gridArea_xs) !important",
25
- width: "calc(100% - 48px) !important",
26
- height: "var(--height_xs) !important",
27
- left: "24px !important",
28
- marginTop: "var(--marginTop_xs) !important",
29
- outline: "1px solid gray !important",
30
- "&.type_text": {
31
- height: "auto !important"
32
- },
33
- "&.type_image": {
34
- width: "calc(--width_xs) !important",
35
- height: "var(--height_xs) !important"
36
- },
37
- // "&.type_box": {
38
- // // display: "grid !important",
39
- // // gridTemplateRows: "repeat(auto-fill, 50px) !important",
40
- // // height: "min-content !important",
41
- // },
42
-
43
- "& .debug-info, & .editor-blocker": {
44
- display: "none"
45
- },
46
- "& .embed": {
47
- minHeight: "300px"
48
- }
49
- }
50
- }
51
- });
52
- export default useVirtualElementStyles;
53
- export const useAutoAlignStyles = () => ({
54
- root: {
55
- width: "320px",
56
- position: "fixed",
57
- overflow: "visible",
58
- opacity: 1,
59
- right: 0,
60
- top: 0,
61
- height: "auto !important",
62
- pointerEvents: "none",
63
- visibility: "hidden",
64
- "& .leaf-item": {
65
- fontSize: "var(--fontSize_xs) !important",
66
- "& span": {
67
- fontSize: "var(--fontSize_xs) !important"
68
- }
69
- },
70
- "& .editor-blocker": {
71
- display: "none"
72
- },
73
12
  "& .freegrid-item": {
74
13
  position: "relative !important",
75
- top: "0 !important",
76
14
  gridArea: "none !important",
77
15
  width: "calc(100% - 48px) !important",
78
- height: "var(--height_xs) !important",
16
+ height: "auto !important",
79
17
  left: "24px !important",
80
- marginTop: "12px !important",
81
- minHeight: "auto",
82
- display: "inherit !important",
83
- "&.type_box": {
84
- height: "auto !important"
85
- },
86
- "&.type_image": {
87
- width: "var(--width_xs) !important",
88
- height: "var(--height_xs) !important"
89
- },
90
- "&.type_text": {
91
- height: "auto !important"
92
- },
93
- // start - default signature classes on free-grid
94
- "& .fgi_type_signature": {
95
- height: "100%",
96
- "& .signature-container": {
97
- height: "100%",
98
- LineHeight: 1.43,
99
- "& .signature-btn-container": {
100
- height: "100%",
101
- display: "flex",
102
- flexDirection: "column",
103
- "& .sign-placeholder": {
104
- display: "flex",
105
- // remove hidden sign placeholder
106
- width: "100%",
107
- flexGrow: 1
108
- },
109
- "& button": {
110
- margin: "6px 0px"
111
- }
112
- }
113
- }
114
- },
115
- "& .fgi_type_sign": {
116
- width: "100%",
117
- height: "100%",
118
- "& .signature-signed-wrapper": {
119
- width: "100%",
120
- height: "100%",
121
- "& .signature-signed-span": {
122
- width: "100%",
123
- height: "100%",
124
- "& .signed-btn": {
125
- width: "100%",
126
- height: "100%",
127
- display: "flex",
128
- flexDirection: "column",
129
- "& img": {
130
- width: "100% !important",
131
- maxWidth: "none !important",
132
- height: "70% !important",
133
- flexGrow: 1
134
- }
135
- }
136
- }
137
- }
138
- },
139
- // end - default signature classes on free-grid
140
-
18
+ marginTop: "24px !important",
141
19
  "& .debug-info, & .editor-blocker": {
142
20
  display: "none"
143
21
  },
144
22
  "& .embed": {
145
23
  minHeight: "300px"
146
24
  }
147
- },
148
- "& .appHeaderBox, &.header-box-mobile-virtual-mode": {
149
- width: "calc(100% - 12px) !important",
150
- "& .fgi_type_box": {
151
- display: "flex",
152
- justifyContent: "space-evenly !important",
153
- flexWrap: "wrap"
154
- },
155
- "& .freegrid-item": {
156
- left: "4px !important",
157
- marginLeft: "0px !important"
158
- },
159
- "& .type_text": {
160
- width: "fit-content !important"
161
- },
162
- "& .type_appHeader": {
163
- width: "40px !important"
164
- },
165
- "& .shadow-element": {
166
- display: "none"
167
- }
168
- },
169
- "&.header-box-mobile-virtual-mode": {
170
- width: "320px !important",
171
- display: "flex",
172
- justifyContent: "space-evenly !important",
173
- flexWrap: "wrap"
174
25
  }
175
26
  }
176
- });
27
+ });
28
+ export default useVirtualElementStyles;
@@ -1,5 +1,5 @@
1
1
  import { Node, Transforms } from "slate";
2
- const updateAutoProps = (editor, datas = [], breakpoint = "", updateAll) => {
2
+ const updateAutoProps = (editor, datas = [], breakpoint = "", groupData) => {
3
3
  try {
4
4
  // const { heightData } = groupData;
5
5
  for (let i = 0; i < datas.length; i++) {
@@ -14,11 +14,9 @@ const updateAutoProps = (editor, datas = [], breakpoint = "", updateAll) => {
14
14
  return a;
15
15
  }, {});
16
16
  const oldProps = Node.get(editor, int_path);
17
- const updateNode = !oldProps?.xs_updatedOn || updateAll;
18
- if (updateNode) {
17
+ if (!oldProps?.xs_updatedOn) {
19
18
  Transforms.setNodes(editor, {
20
- ...updatedProps,
21
- xs_updatedOn: new Date().getTime()
19
+ ...updatedProps
22
20
  }, {
23
21
  at: int_path
24
22
  });
@@ -19,11 +19,6 @@ import { removeSign } from "./ElementSettings/OtherSettings";
19
19
  import useDragging from "../../hooks/useDragging";
20
20
  import { dragOverOn } from "../../helper/RnD/focusNode";
21
21
  import { focusSelection, clearSelection, clearSelectionOnly } from "../../helper";
22
- // import { reRenderChildNodes } from "./Utils/gridDropItem";
23
- import VirtualTextElement from "./VirtualElement/VirtualTextElement";
24
- import useAutoScroll from "../../hooks/useAutoScroll";
25
- import ForceAutoAlignment from "./VirtualElement/ForceAutoAlignment";
26
- import BoxHeaderAutoAlignment from "./VirtualElement/BoxHeaderAutoAlignment";
27
22
  import { jsx as _jsx } from "react/jsx-runtime";
28
23
  import { jsxs as _jsxs } from "react/jsx-runtime";
29
24
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -70,12 +65,7 @@ const RnD = props => {
70
65
  breakpoint = "",
71
66
  handleContextMenuClick = () => {},
72
67
  itemData = {},
73
- customProps,
74
- sectionElement,
75
- dataSets,
76
- autoAlign,
77
- setAutoAlign,
78
- isBoxHeader
68
+ customProps
79
69
  } = props;
80
70
  const {
81
71
  isSelectedElement,
@@ -120,10 +110,6 @@ const RnD = props => {
120
110
  const {
121
111
  translation
122
112
  } = customProps;
123
- const {
124
- startAutoScroll,
125
- stopAutoScroll
126
- } = useAutoScroll(10, "slate-wrapper-scroll-container");
127
113
  useEffect(() => {
128
114
  if (ITEM_TYPES.includes(type)) {
129
115
  if (enable === 1) {
@@ -365,16 +351,6 @@ const RnD = props => {
365
351
  };
366
352
  const onDrag = e => {
367
353
  e.preventDefault();
368
- const {
369
- clientY
370
- } = e;
371
- if (clientY < 50) {
372
- startAutoScroll("up");
373
- } else if (window.innerHeight - clientY < 50) {
374
- startAutoScroll("down");
375
- } else {
376
- stopAutoScroll();
377
- }
378
354
  const lines = getClosestDraggable(e.clientX, e.clientY, `.freegrid-section_${parentSectionPath} .freegrid-container .freegrid-item.inactive-drag`.replace(/\|/g, "\\|"), ".freegrid-item.active-drag:not(.exclude-virtual)");
379
355
  setAbsPosition({
380
356
  ...absPosition,
@@ -417,7 +393,6 @@ const RnD = props => {
417
393
  const onDragStop = (e, d) => {
418
394
  e.preventDefault();
419
395
  e.stopPropagation();
420
- stopAutoScroll();
421
396
  if (dragging?.isDragging === 2 && dragging?.position?.strXY && dragging?.dragOver) {
422
397
  d.x = e.x;
423
398
  d.y = e.y;
@@ -478,24 +453,14 @@ const RnD = props => {
478
453
  }
479
454
  const updatedSize = {
480
455
  width: delta?.width + d.width,
481
- height: ref.offsetHeight,
456
+ height: delta?.height + d.height,
482
457
  ...updatedPosition
483
458
  };
484
459
  onChange({
485
460
  ...updatedSize
486
461
  });
487
462
  handleResizeEvent("stop");
488
-
489
- // const parentPath = getParentSectionPath(
490
- // { ref },
491
- // ".freegrid-container-parent"
492
- // );
493
-
494
- // const formatParentPath = parentPath?.split("|")?.map((m) => parseInt(m));
495
-
496
- // reRenderChildNodes(editor, formatParentPath);
497
463
  };
498
-
499
464
  const onCloseSettings = () => {
500
465
  setSelectedElement({
501
466
  ...selectedElementProps,
@@ -509,6 +474,13 @@ const RnD = props => {
509
474
  }
510
475
  e.preventDefault();
511
476
  e.stopPropagation();
477
+ const isMuiBackdrop = e.target.classList.contains("MuiBackdrop-root");
478
+ if (isMuiBackdrop) {
479
+ setContextMenu({
480
+ path: null
481
+ });
482
+ return;
483
+ }
512
484
  onClick({
513
485
  detail: 1
514
486
  });
@@ -596,7 +568,6 @@ const RnD = props => {
596
568
  ...DISABLE_RESIZING
597
569
  },
598
570
  ...getEventProps(),
599
- ...(dataSets || {}),
600
571
  children: [/*#__PURE__*/_jsx("div", {
601
572
  id: `opt_ref_${str_path}`,
602
573
  style: {
@@ -669,29 +640,9 @@ const RnD = props => {
669
640
  theme: theme,
670
641
  translation: translation
671
642
  }), type === "parent" && breakpoint === "lg" && !readOnly ? /*#__PURE__*/_jsx(VirtualElement, {
643
+ parentEle: positionRef?.current?.resizableElement?.current,
672
644
  updated_at: updated_at,
673
645
  path: str_path,
674
- editor: editor,
675
- sectionElement: sectionElement,
676
- sectionCls: `.freegrid-section_${path.join("_")}`,
677
- dataSets: dataSets
678
- }) : null, childType === "text" && breakpoint === "lg" && !readOnly && enable ? /*#__PURE__*/_jsx(VirtualTextElement, {
679
- editor: editor,
680
- dataSets: dataSets,
681
- getCurrentEle: getCurrentEle,
682
- path: path
683
- }) : null, type === "parent" && breakpoint === "xs" && !readOnly && autoAlign ? /*#__PURE__*/_jsx(ForceAutoAlignment, {
684
- updated_at: updated_at,
685
- path: str_path,
686
- editor: editor,
687
- sectionElement: sectionElement,
688
- sectionCls: `.freegrid-section_${path.join("_")}`,
689
- dataSets: dataSets,
690
- autoAlign: autoAlign,
691
- setAutoAlign: setAutoAlign
692
- }) : null, isBoxHeader && breakpoint === "lg" ? /*#__PURE__*/_jsx(BoxHeaderAutoAlignment, {
693
- boxCls: `.freegrid-box_${path.join("_")}`,
694
- path: str_path,
695
646
  editor: editor
696
647
  }) : null]
697
648
  });