@flozy/editor 3.8.9 → 3.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. package/dist/Editor/ChatEditor.js +55 -45
  2. package/dist/Editor/CommonEditor.js +8 -69
  3. package/dist/Editor/DialogWrapper.js +3 -4
  4. package/dist/Editor/Editor.css +12 -5
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +36 -47
  6. package/dist/Editor/Elements/Accordion/AccordionSummary.js +15 -4
  7. package/dist/Editor/Elements/AppHeader/AppHeader.js +23 -36
  8. package/dist/Editor/Elements/Button/EditorButton.js +16 -23
  9. package/dist/Editor/Elements/Embed/Image.js +14 -15
  10. package/dist/Editor/Elements/Embed/Video.js +8 -12
  11. package/dist/Editor/Elements/Emoji/EmojiButton.js +7 -11
  12. package/dist/Editor/Elements/Emoji/EmojiPicker.js +4 -2
  13. package/dist/Editor/Elements/Form/Form.js +1 -1
  14. package/dist/Editor/Elements/Grid/Grid.js +8 -12
  15. package/dist/Editor/Elements/Grid/GridItem.js +21 -31
  16. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +5 -1
  17. package/dist/Editor/Elements/SimpleText/index.js +8 -9
  18. package/dist/Editor/Elements/SimpleText/style.js +0 -37
  19. package/dist/Editor/Styles/EditorStyles.js +0 -23
  20. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +25 -1
  21. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +0 -1
  22. package/dist/Editor/Toolbar/PopupTool/index.js +0 -8
  23. package/dist/Editor/Toolbar/Toolbar.js +0 -7
  24. package/dist/Editor/Toolbar/toolbarGroups.js +0 -5
  25. package/dist/Editor/common/Icon.js +2 -9
  26. package/dist/Editor/common/MentionsPopup/MentionsListCard.js +6 -1
  27. package/dist/Editor/common/MentionsPopup/index.js +8 -12
  28. package/dist/Editor/common/Section/index.js +12 -21
  29. package/dist/Editor/common/Section/styles.js +1 -6
  30. package/dist/Editor/common/Shorthands/elements.js +0 -12
  31. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +31 -32
  32. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +18 -16
  33. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +14 -3
  34. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +2 -4
  35. package/dist/Editor/common/StyleBuilder/index.js +2 -2
  36. package/dist/Editor/common/StyleBuilder/sectionStyle.js +2 -13
  37. package/dist/Editor/helper/index.js +0 -139
  38. package/dist/Editor/helper/theme.js +2 -50
  39. package/dist/Editor/hooks/useMouseMove.js +8 -36
  40. package/dist/Editor/hooks/withCommon.js +1 -2
  41. package/dist/Editor/utils/SlateUtilityFunctions.js +3 -23
  42. package/dist/Editor/utils/draftToSlate.js +1 -1
  43. package/dist/Editor/utils/events.js +0 -5
  44. package/dist/Editor/utils/helper.js +0 -29
  45. package/package.json +2 -5
  46. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +0 -391
  47. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +0 -193
  48. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +0 -23
  49. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +0 -184
  50. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +0 -36
  51. package/dist/Editor/Elements/FreeGrid/Options/More.js +0 -24
  52. package/dist/Editor/Elements/FreeGrid/Options/SectionSettings.js +0 -47
  53. package/dist/Editor/Elements/FreeGrid/Options/sectionItemOptions.js +0 -11
  54. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +0 -75
  55. package/dist/Editor/Elements/FreeGrid/styles.js +0 -159
  56. package/dist/Editor/ErrorBoundary.js +0 -30
  57. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +0 -105
  58. package/dist/Editor/common/RnD/ContextMenu/index.js +0 -38
  59. package/dist/Editor/common/RnD/ContextMenu/styles.js +0 -21
  60. package/dist/Editor/common/RnD/DragInfo/index.js +0 -31
  61. package/dist/Editor/common/RnD/DragInfo/styles.js +0 -15
  62. package/dist/Editor/common/RnD/DragOver/index.js +0 -46
  63. package/dist/Editor/common/RnD/DragOver/styles.js +0 -23
  64. package/dist/Editor/common/RnD/ElementOptions/Actions.js +0 -82
  65. package/dist/Editor/common/RnD/ElementOptions/Icons/LinkIcon.js +0 -26
  66. package/dist/Editor/common/RnD/ElementOptions/index.js +0 -93
  67. package/dist/Editor/common/RnD/ElementOptions/styles.js +0 -41
  68. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Link.js +0 -153
  69. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +0 -58
  70. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/index.js +0 -7
  71. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +0 -46
  72. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +0 -46
  73. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +0 -46
  74. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +0 -30
  75. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +0 -46
  76. package/dist/Editor/common/RnD/ElementSettings/Settings/index.js +0 -13
  77. package/dist/Editor/common/RnD/ElementSettings/index.js +0 -17
  78. package/dist/Editor/common/RnD/ElementSettings/settingsConstants.js +0 -14
  79. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -76
  80. package/dist/Editor/common/RnD/GuideLines/BoundaryLine.js +0 -52
  81. package/dist/Editor/common/RnD/GuideLines/index.js +0 -33
  82. package/dist/Editor/common/RnD/GuideLines/styles.js +0 -60
  83. package/dist/Editor/common/RnD/OptionsPopup/index.js +0 -50
  84. package/dist/Editor/common/RnD/OptionsPopup/style.js +0 -36
  85. package/dist/Editor/common/RnD/RnDCopy.js +0 -23
  86. package/dist/Editor/common/RnD/ShadowElement.js +0 -34
  87. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +0 -40
  88. package/dist/Editor/common/RnD/SwitchViewport/styles.js +0 -24
  89. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +0 -63
  90. package/dist/Editor/common/RnD/TransformHandles/CornerHandle.js +0 -19
  91. package/dist/Editor/common/RnD/TransformHandles/Icons/BottomRightIcon.js +0 -13
  92. package/dist/Editor/common/RnD/TransformHandles/SizeHandle.js +0 -18
  93. package/dist/Editor/common/RnD/TransformHandles/index.js +0 -62
  94. package/dist/Editor/common/RnD/Utils/alignmentDetection.js +0 -26
  95. package/dist/Editor/common/RnD/Utils/calculateDropItem.js +0 -98
  96. package/dist/Editor/common/RnD/Utils/collisionDetection.js +0 -52
  97. package/dist/Editor/common/RnD/Utils/gridDropItem.js +0 -148
  98. package/dist/Editor/common/RnD/Utils/index.js +0 -251
  99. package/dist/Editor/common/RnD/VirtualElement/index.js +0 -76
  100. package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -27
  101. package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +0 -28
  102. package/dist/Editor/common/RnD/index.js +0 -503
  103. package/dist/Editor/common/RnD/styles.js +0 -4
  104. package/dist/Editor/common/StyleBuilder/boxStyle.js +0 -30
  105. package/dist/Editor/helper/RnD/focusOnNewItem.js +0 -39
  106. package/dist/Editor/helper/RnD/scrollToNewSection.js +0 -24
  107. package/dist/Editor/helper/breakpoint.js +0 -5
  108. package/dist/Editor/hooks/useBreakpoints.js +0 -34
  109. package/dist/Editor/hooks/withErrorHandling.js +0 -14
  110. package/dist/Editor/utils/RnD/RnDCtrlCmds.js +0 -168
  111. package/dist/Editor/utils/freegrid.js +0 -49
@@ -1,251 +0,0 @@
1
- import { Transforms, Node } from "slate";
2
- import { ReactEditor } from "slate-react";
3
- import { getNearestItem } from "./calculateDropItem";
4
- const GUIDE_LINE_THRESHOLD = 5;
5
- const GUIDE_LINE_OVERLAP_THRESHOLD = 50;
6
- const handleMoveNode = (editor, path, newPath, {
7
- isEmpty
8
- }) => {
9
- try {
10
- const replaceNode = Node.get(editor, path);
11
- if (isEmpty) {
12
- const toPath = [...newPath, 0];
13
- Transforms.insertNodes(editor, [{
14
- ...replaceNode
15
- }], {
16
- at: toPath
17
- });
18
- Transforms.removeNodes(editor, {
19
- at: path
20
- });
21
- return toPath;
22
- } else {
23
- Transforms.insertNodes(editor, [{
24
- ...replaceNode
25
- }], {
26
- at: newPath
27
- });
28
- Transforms.removeNodes(editor, {
29
- at: path
30
- });
31
- return newPath;
32
- }
33
- } catch (err) {
34
- console.log(err);
35
- console.log("Drop Node error");
36
- return null;
37
- }
38
- };
39
- export function triggerClick(editor, path = []) {
40
- try {
41
- const triggerNode = Node.get(editor, path);
42
- const triggerNodeDOM = ReactEditor.toDOMNode(editor, triggerNode);
43
- triggerNodeDOM?.closest(".freegrid-item")?.click();
44
- } catch (err) {
45
- console.log(err);
46
- }
47
- }
48
- export function updatePositions(props, closestClass) {
49
- try {
50
- const {
51
- editor,
52
- path,
53
- offsetY,
54
- dragOver,
55
- x,
56
- y,
57
- diffX,
58
- parentPath
59
- } = props;
60
- const posY = y - offsetY;
61
- const posX = parseInt(x - window.innerWidth / 2 + 490 - diffX);
62
- let addToSectionDOMRect = null;
63
- let newPath = [];
64
- let toSectionNode = null;
65
- const needMove = dragOver !== parentPath;
66
- const moveTo = dragOver.split("|").map(m => parseInt(m));
67
- const from = parentPath.split("|").map(m => parseInt(m));
68
- newPath = moveTo;
69
- toSectionNode = Node.get(editor, newPath);
70
- const addToSectionDOM = ReactEditor.toDOMNode(editor, toSectionNode);
71
- addToSectionDOMRect = addToSectionDOM?.getBoundingClientRect();
72
-
73
- // update top and left properties
74
- const newProperties = {};
75
- newProperties.left = posX;
76
- newProperties.marginTop = posY > addToSectionDOMRect.top ? posY - addToSectionDOMRect.top : addToSectionDOMRect.top - posY;
77
- Transforms.setNodes(editor, newProperties, {
78
- at: path
79
- });
80
- const returnData = {};
81
- if (needMove) {
82
- const isEmpty = toSectionNode?.children[0]?.type === undefined;
83
- if (!isEmpty) {
84
- newPath = [...newPath, toSectionNode?.children?.length];
85
- }
86
- newPath = newPath.map(m => parseInt(m));
87
- const rPath = handleMoveNode(editor, path, newPath, {
88
- isEmpty
89
- });
90
- // to update path index need to re-render items in parent sections
91
- Transforms.setNodes(editor, {
92
- updated_at: new Date().getTime
93
- }, {
94
- at: parentPath.split("|").map(m => parseInt(m))
95
- });
96
- returnData.updated_at = rPath;
97
- }
98
- returnData.updated_at = path;
99
- if (needMove) {
100
- getNearestItem(editor, moveTo, {
101
- currentItem: path
102
- });
103
- } else {
104
- getNearestItem(editor, from, {
105
- currentItem: path
106
- });
107
- }
108
- return returnData;
109
- } catch (err) {
110
- console.log(err);
111
- }
112
- }
113
- const isOverLapLine = ({
114
- x,
115
- y
116
- }, lines) => {
117
- return lines.find(f => Math.abs(f.x - x) <= GUIDE_LINE_OVERLAP_THRESHOLD || Math.abs(f.y - y) <= GUIDE_LINE_OVERLAP_THRESHOLD);
118
- };
119
- export function getClosestDraggable(x, y, className, activeClassName) {
120
- const draggables = document.querySelectorAll(className);
121
- const activeDragEle = document.querySelectorAll(activeClassName)[0];
122
- const {
123
- left: aLeft,
124
- top: aTop,
125
- width: aWidth,
126
- height: aHeight
127
- } = activeDragEle?.getBoundingClientRect() || {};
128
- let lines = [];
129
- draggables.forEach(draggable => {
130
- const {
131
- left,
132
- top,
133
- width,
134
- height
135
- } = draggable.getBoundingClientRect();
136
- let xVal = 0;
137
- let yVal = 0;
138
-
139
- // top match
140
- xVal = x < left ? aLeft : left;
141
- yVal = top;
142
- if (Math.abs(top - aTop) <= GUIDE_LINE_THRESHOLD && !isOverLapLine({
143
- x: xVal,
144
- y: yVal
145
- }, lines)) {
146
- lines.push({
147
- y: top,
148
- x: xVal,
149
- width: x > left ? Math.abs(aLeft + aWidth - left) : Math.abs(aLeft - (left + width)),
150
- height: 1
151
- });
152
- }
153
-
154
- // bottom match
155
- xVal = x < left ? aLeft : left;
156
- yVal = top + height;
157
- if (Math.abs(top + height - (aTop + aHeight)) <= GUIDE_LINE_THRESHOLD && !isOverLapLine({
158
- x: xVal,
159
- y: yVal
160
- }, lines)) {
161
- lines.push({
162
- y: yVal,
163
- x: xVal,
164
- width: x > left ? Math.abs(aLeft + aWidth - left) : Math.abs(aLeft - (left + width)),
165
- height: 1
166
- });
167
- }
168
-
169
- // center match
170
- xVal = x < left ? aLeft : left;
171
- yVal = top + height / 2;
172
- if (Math.abs(top + height / 2 - (aTop + aHeight / 2)) <= GUIDE_LINE_THRESHOLD && !isOverLapLine({
173
- x: xVal,
174
- y: yVal
175
- }, lines, "y")) {
176
- lines.push({
177
- y: yVal,
178
- x: xVal,
179
- width: x > left ? Math.abs(aLeft + aWidth - left) : Math.abs(aLeft - (left + width)),
180
- height: 1
181
- });
182
- }
183
-
184
- // right match
185
- xVal = left + width;
186
- yVal = top < aTop ? top : aTop;
187
- if ((Math.abs(left + width - aLeft) <= GUIDE_LINE_THRESHOLD || Math.abs(left - aLeft) <= GUIDE_LINE_THRESHOLD) && !isOverLapLine({
188
- x: xVal,
189
- y: yVal
190
- }, lines)) {
191
- lines.push({
192
- y: yVal,
193
- x: xVal,
194
- width: 1,
195
- height: Math.abs(aTop - top)
196
- });
197
- }
198
-
199
- // left match
200
- xVal = left;
201
- yVal = top < aTop ? top : aTop;
202
- if ((Math.abs(aLeft + aWidth - left) <= GUIDE_LINE_THRESHOLD || Math.abs(aLeft - left) <= GUIDE_LINE_THRESHOLD) && !isOverLapLine({
203
- x: xVal,
204
- y: yVal
205
- }, lines)) {
206
- lines.push({
207
- y: yVal,
208
- x: xVal,
209
- width: 1,
210
- height: Math.abs(aTop - top)
211
- });
212
- }
213
-
214
- // middle match
215
- xVal = left + width / 2;
216
- yVal = top < aTop ? top : aTop;
217
- if (Math.abs(aLeft + aWidth / 2 - (left + width / 2)) <= GUIDE_LINE_THRESHOLD && !isOverLapLine({
218
- x: xVal,
219
- y: yVal
220
- }, lines)) {
221
- lines.push({
222
- y: yVal,
223
- x: xVal,
224
- width: 1,
225
- height: Math.abs(aTop - top)
226
- });
227
- }
228
- });
229
- return lines;
230
- }
231
- export function isDragOver(rect, mousePosition) {
232
- const {
233
- x,
234
- y
235
- } = mousePosition;
236
- if (x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom) {
237
- return true;
238
- }
239
- return false;
240
- }
241
- export function getParentSectionPath(props, closestClass) {
242
- try {
243
- const {
244
- ref
245
- } = props;
246
- const parentDom = ref?.closest(closestClass);
247
- return parentDom?.dataset?.path;
248
- } catch (err) {
249
- console.log(err);
250
- }
251
- }
@@ -1,76 +0,0 @@
1
- import React, { useEffect, useRef } from "react";
2
- import { Box } from "@mui/material";
3
- import useVirtualElementStyles from "./styles";
4
- import updateAutoProps from "./updateAutoProps";
5
- import { calculateGridArea } from "../Utils/gridDropItem";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- const VirtualElement = props => {
8
- const classes = useVirtualElementStyles();
9
- const {
10
- editor,
11
- path,
12
- parentEle,
13
- updated_at
14
- } = props;
15
- const cloneNode = parentEle?.cloneNode(true);
16
- const virtualRef = useRef();
17
- useEffect(() => {
18
- if (virtualRef?.current) {
19
- setTimeout(() => {
20
- calculateProps();
21
- }, 0);
22
- }
23
- }, [updated_at, virtualRef?.current]);
24
- const calculateProps = () => {
25
- const rect = virtualRef?.current?.getBoundingClientRect();
26
- const sectionProps = {
27
- path,
28
- props: {
29
- height: rect.height
30
- }
31
- };
32
- const itemsData = [];
33
- const items = virtualRef?.current?.querySelectorAll(".freegrid-item");
34
- let sectionHeight = 0;
35
- for (let i = 0; i < items.length; i++) {
36
- const itemRect = items[i]?.getBoundingClientRect();
37
- const y = Math.abs(rect.top - itemRect?.top);
38
- itemsData.push({
39
- path: items[i]?.dataset.path,
40
- props: {
41
- top: y,
42
- left: 24,
43
- marginTop: 12,
44
- width: itemRect?.width,
45
- height: itemRect?.height,
46
- gridArea: calculateGridArea(y)
47
- }
48
- });
49
- sectionHeight += itemRect?.height;
50
- }
51
- if (sectionHeight > sectionProps?.props?.height) {
52
- sectionProps.props.height = sectionHeight;
53
- }
54
- const allData = [sectionProps, itemsData]?.flat();
55
- // it should trigger by auto alignment or on clicking mobile view change
56
- updateAutoProps(editor, allData, "xs");
57
- };
58
- const getItems = () => {
59
- const items = cloneNode?.querySelectorAll(".freegrid-item") || [];
60
- let itemsHTML = "";
61
- for (let i = 0; i < items?.length; i++) {
62
- items[i].classList.add("exclude-virtual");
63
- itemsHTML += items[i].outerHTML;
64
- }
65
- return itemsHTML;
66
- };
67
- return /*#__PURE__*/_jsx(Box, {
68
- className: "mobile-virtual-mode",
69
- ref: virtualRef,
70
- sx: classes.root,
71
- dangerouslySetInnerHTML: {
72
- __html: getItems()
73
- }
74
- });
75
- };
76
- export default VirtualElement;
@@ -1,27 +0,0 @@
1
- const useVirtualElementStyles = () => ({
2
- root: {
3
- width: "320px",
4
- position: "fixed",
5
- backgroundColor: "red",
6
- height: "auto",
7
- overflow: "visible",
8
- pointerEvents: "none",
9
- opacity: 0,
10
- right: 0,
11
- top: 0,
12
- "& .freegrid-item": {
13
- gridArea: "none !important",
14
- width: "calc(100% - 48px) !important",
15
- height: "auto !important",
16
- left: "24px !important",
17
- marginTop: "24px !important",
18
- "& .debug-info, & .editor-blocker": {
19
- display: "none"
20
- },
21
- "& .embed": {
22
- minHeight: "300px"
23
- }
24
- }
25
- }
26
- });
27
- export default useVirtualElementStyles;
@@ -1,28 +0,0 @@
1
- import { Node, Transforms } from "slate";
2
- const updateAutoProps = (editor, datas = [], breakpoint = "") => {
3
- try {
4
- for (let i = 0; i < datas.length; i++) {
5
- const {
6
- path,
7
- props
8
- } = datas[i] || {};
9
- const int_path = path.split("|").map(m => parseInt(m));
10
- const updatedProps = Object.keys(props).reduce((a, b) => {
11
- const key = breakpoint ? `${b}_${breakpoint}` : b;
12
- a[key] = props[b];
13
- return a;
14
- }, {});
15
- const oldProps = Node.get(editor, int_path);
16
- if (!oldProps?.xs_updatedOn) {
17
- Transforms.setNodes(editor, {
18
- ...updatedProps
19
- }, {
20
- at: int_path
21
- });
22
- }
23
- }
24
- } catch (err) {
25
- console.log(err);
26
- }
27
- };
28
- export default updateAutoProps;