@flozy/editor 3.7.7 → 3.7.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 (93) hide show
  1. package/dist/Editor/ChatEditor.js +86 -17
  2. package/dist/Editor/CommonEditor.js +111 -169
  3. package/dist/Editor/Elements/Accordion/Accordion.js +7 -74
  4. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +2 -3
  5. package/dist/Editor/Elements/Accordion/AccordionSummary.js +60 -4
  6. package/dist/Editor/Elements/AppHeader/AppHeader.js +4 -26
  7. package/dist/Editor/Elements/Button/EditorButton.js +20 -30
  8. package/dist/Editor/Elements/ChipText/ChipText.js +2 -1
  9. package/dist/Editor/Elements/Color Picker/ColorButtons.js +17 -60
  10. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  11. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  12. package/dist/Editor/Elements/Color Picker/Styles.js +1 -2
  13. package/dist/Editor/Elements/Embed/Image.js +20 -28
  14. package/dist/Editor/Elements/Embed/Video.js +11 -15
  15. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +3 -12
  16. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +1 -2
  17. package/dist/Editor/Elements/Grid/Grid.js +0 -2
  18. package/dist/Editor/Elements/Grid/GridItem.js +1 -3
  19. package/dist/Editor/Elements/Link/Link.js +1 -6
  20. package/dist/Editor/Elements/Link/LinkButton.js +2 -4
  21. package/dist/Editor/Elements/Link/LinkPopup.js +3 -11
  22. package/dist/Editor/Elements/Table/TableCell.js +1 -1
  23. package/dist/Editor/MiniEditor.js +1 -3
  24. package/dist/Editor/Toolbar/Basic/index.js +2 -4
  25. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +2 -26
  26. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  27. package/dist/Editor/Toolbar/FormatTools/TextSize.js +11 -5
  28. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +11 -4
  29. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +86 -213
  30. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  31. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +13 -20
  32. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +7 -52
  33. package/dist/Editor/Toolbar/PopupTool/index.js +11 -12
  34. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  35. package/dist/Editor/common/ColorPickerButton.js +9 -25
  36. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  37. package/dist/Editor/common/Icon.js +2 -30
  38. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -5
  39. package/dist/Editor/common/LinkSettings/index.js +1 -2
  40. package/dist/Editor/common/LinkSettings/navOptions.js +2 -7
  41. package/dist/Editor/common/MUIIcon/index.js +8 -3
  42. package/dist/Editor/common/MentionsPopup/Styles.js +3 -6
  43. package/dist/Editor/common/Shorthands/elements.js +0 -54
  44. package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +7 -7
  45. package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +16 -16
  46. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  47. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +3 -13
  48. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  49. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +1 -1
  50. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +7 -31
  51. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  52. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +6 -3
  53. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +4 -14
  54. package/dist/Editor/common/StyleBuilder/index.js +1 -1
  55. package/dist/Editor/helper/theme.js +4 -190
  56. package/dist/Editor/hooks/useMouseMove.js +2 -4
  57. package/dist/Editor/plugins/withEmbeds.js +1 -1
  58. package/dist/Editor/plugins/withHTML.js +5 -47
  59. package/dist/Editor/plugins/withLayout.js +10 -15
  60. package/dist/Editor/plugins/withTable.js +2 -2
  61. package/dist/Editor/theme/ThemeList.js +173 -50
  62. package/dist/Editor/utils/SlateUtilityFunctions.js +25 -157
  63. package/dist/Editor/utils/button.js +17 -1
  64. package/dist/Editor/utils/events.js +4 -11
  65. package/dist/Editor/utils/font.js +37 -40
  66. package/dist/Editor/utils/helper.js +13 -73
  67. package/package.json +1 -1
  68. package/dist/Editor/Elements/Link/LinkPopupStyles.js +0 -28
  69. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  70. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  71. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  72. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  73. package/dist/Editor/common/CustomDialog/index.js +0 -94
  74. package/dist/Editor/common/CustomDialog/style.js +0 -67
  75. package/dist/Editor/common/CustomSelect.js +0 -33
  76. package/dist/Editor/common/EditorCmds.js +0 -35
  77. package/dist/Editor/hooks/useEditorTheme.js +0 -139
  78. package/dist/Editor/theme/index.js +0 -144
  79. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  80. package/dist/Editor/themeSettings/buttons/index.js +0 -290
  81. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  82. package/dist/Editor/themeSettings/colorTheme/index.js +0 -290
  83. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  84. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -123
  85. package/dist/Editor/themeSettings/fonts/index.js +0 -213
  86. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  87. package/dist/Editor/themeSettings/icons.js +0 -60
  88. package/dist/Editor/themeSettings/index.js +0 -320
  89. package/dist/Editor/themeSettings/style.js +0 -152
  90. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  91. package/dist/Editor/themeSettingsAI/index.js +0 -356
  92. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -190
  93. package/dist/Editor/themeSettingsAI/style.js +0 -247
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useMemo, useRef, useState, useEffect, useImperativeHandle, forwardRef } from "react";
2
2
  import { Editable, Slate, ReactEditor } from 'slate-react';
3
- import { createEditor } from 'slate';
3
+ import { createEditor, Transforms } from 'slate';
4
4
  import { useDebounce } from "use-debounce";
5
5
  import withCommon from "./hooks/withCommon";
6
6
  import { getBlock, getMarked } from "./utils/chatEditor/SlateUtilityFunctions";
@@ -26,7 +26,8 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
26
26
  needLayout = false,
27
27
  toolBar = true,
28
28
  onSave,
29
- onsubmit
29
+ onsubmit,
30
+ onBlur = () => {}
30
31
  } = props;
31
32
  const classes = usePopupStyle(theme);
32
33
  const convertedContent = draftToSlate({
@@ -36,6 +37,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
36
37
  const [value, setValue] = useState(convertedContent);
37
38
  const [loadedValue] = useState(value);
38
39
  const [deboundedValue] = useDebounce(value, 500);
40
+ const [isExternalUpdate, setIsExternalUpdate] = useState(false);
39
41
  const editor = useMemo(() => {
40
42
  return withCommon(createEditor(), {
41
43
  needLayout
@@ -46,17 +48,60 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
46
48
  emojiClick: emoji => {
47
49
  if (editor) {
48
50
  insertEmoji(editor, emoji?.native, editor.selection);
51
+ if (editor.selection) {
52
+ const path = editor.selection.anchor.path;
53
+ const offset = editor.selection.anchor.offset + emoji?.native.length;
54
+ const position = {
55
+ anchor: {
56
+ path: [0],
57
+ offset: 0
58
+ },
59
+ focus: {
60
+ path: [0],
61
+ offset: 0
62
+ }
63
+ };
64
+ // Create a new selection
65
+ Transforms.select(editor, position);
66
+ }
49
67
  ReactEditor.focus(editor);
50
68
  }
51
69
  },
70
+ setContent: newContent => {
71
+ setIsExternalUpdate(true);
72
+ setValue(newContent);
73
+ ReactEditor.focus(editor);
74
+ },
52
75
  // Focus enable
53
- enableFocus: () => {
54
- if (editor) {
55
- ReactEditor.focus(editor);
76
+ // enableFocus: () => {
77
+ // if (editor) {
78
+ // const position = {
79
+ // anchor: { path: [0], offset: 0 },
80
+ // focus: { path: [0], offset: 0 },
81
+ // };
82
+ // Transforms.select(editor, position);
83
+ // ReactEditor.focus(editor);
84
+ // }
85
+ // },
86
+
87
+ clearAll: () => {
88
+ if (!editor) return;
89
+ while (editor.children.length > 0) {
90
+ Transforms.removeNodes(editor, {
91
+ at: [0]
92
+ });
56
93
  }
94
+ Transforms.insertNodes(editor, {
95
+ type: 'paragraph',
96
+ children: [{
97
+ text: ''
98
+ }]
99
+ });
100
+ ReactEditor.focus(editor);
57
101
  }
58
102
  }));
59
103
  useEffect(() => {
104
+ setIsExternalUpdate(true);
60
105
  setValue(draftToSlate({
61
106
  data: content
62
107
  }));
@@ -123,9 +168,14 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
123
168
  });
124
169
  };
125
170
  const handleEditorChange = newValue => {
126
- setValue(newValue);
127
- if (!isInteracted) {
128
- setIsInteracted(true);
171
+ if (isExternalUpdate) {
172
+ setIsExternalUpdate(false);
173
+ return;
174
+ } else {
175
+ setValue(newValue);
176
+ if (!isInteracted) {
177
+ setIsInteracted(true);
178
+ }
129
179
  }
130
180
  };
131
181
  const Element = props => {
@@ -162,18 +212,36 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
162
212
  event,
163
213
  editor
164
214
  });
165
- } else if (event.key === "Enter" && !event.shiftKey) {
166
- const {
167
- value: strVal,
168
- ...restVal
169
- } = getOnSaveData(value);
170
- onsubmit(false, {
171
- strVal,
172
- restVal
173
- });
215
+ } else if (event.key === "Enter") {
216
+ const isEmpty = value.length === 1 && value[0].type === 'paragraph' && value[0].children.length === 1 && value[0].children[0].text === '';
217
+ if (isEmpty) {
218
+ event.preventDefault();
219
+ return;
220
+ }
221
+ if (!event.shiftKey) {
222
+ const {
223
+ value: strVal,
224
+ ...restVal
225
+ } = getOnSaveData(value);
226
+ onsubmit(false, {
227
+ strVal,
228
+ restVal
229
+ });
230
+ event.preventDefault();
231
+ }
174
232
  }
175
233
  }, [chars, editor, target, mentions, setMentions, search, type, mentionsRef]);
176
234
  const handleClose = () => {};
235
+ const handleBlur = () => {
236
+ const {
237
+ value: strVal,
238
+ ...restVal
239
+ } = getOnSaveData(value);
240
+ onBlur({
241
+ strVal,
242
+ restVal
243
+ });
244
+ };
177
245
  return /*#__PURE__*/_jsx(EditorProvider, {
178
246
  theme: theme,
179
247
  editor: editor,
@@ -192,6 +260,7 @@ const ChatEditor = /*#__PURE__*/forwardRef((props, ref) => {
192
260
  placeholder: "Start typing ...",
193
261
  spellCheck: true,
194
262
  autoFocus: true,
263
+ onBlur: handleBlur,
195
264
  onKeyDown: onKeyDown
196
265
  }), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
197
266
  ref: mentionsRef,
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-unused-vars */
2
- import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle, createContext } from "react";
2
+ import React, { useRef, useCallback, useEffect, useMemo, useState, forwardRef, useImperativeHandle } from "react";
3
3
  import { createEditor, Transforms } from "slate";
4
4
  import { Slate, Editable, ReactEditor } from "slate-react";
5
5
  import { useDebounce, useDebouncedCallback } from "use-debounce";
@@ -18,7 +18,7 @@ import { getThumbnailImage, invertColor } from "./helper";
18
18
  import PopupTool from "./Toolbar/PopupTool";
19
19
  import "./font.css";
20
20
  import "./Editor.css";
21
- import { Box, IconButton, Typography } from "@mui/material";
21
+ import { Box, Button, Typography } from "@mui/material";
22
22
  import Shorthands from "./common/Shorthands";
23
23
  import MiniToolbar from "./Toolbar/Mini/MiniToolbar";
24
24
  import { EditorProvider } from "./hooks/useMouseMove";
@@ -28,19 +28,12 @@ import DragAndDrop from "./common/DnD";
28
28
  import Section from "./common/Section";
29
29
  import "animate.css";
30
30
  import decorators from "./utils/Decorators";
31
- import { getTRBLBreakPoints, getVariableValue } from "./helper/theme";
32
- import { handleInsertLastElement, onDeleteKey, outsideEditorClickLabel } from "./utils/helper";
31
+ import { getTRBLBreakPoints } from "./helper/theme";
32
+ import { handleInsertLastElement, outsideEditorClickLabel } from "./utils/helper";
33
33
  import useWindowResize from "./hooks/useWindowResize";
34
- import { getTheme } from "./theme";
35
- import { useTheme } from "@emotion/react";
36
- import ThemeSettings from "./themeSettings";
37
- import ThemeSettingsAI from "./themeSettingsAI";
38
- import { Experimental_CssVarsProvider as CssVarsProvider, experimental_extendTheme as extendTheme } from "@mui/material/styles";
39
34
  import PopoverAIInput from "./Elements/AI/PopoverAIInput";
40
- import { ThemeAIIcon, ThemePaintIcon } from "./assets/svg/ThemeIcons";
41
35
  import { jsx as _jsx } from "react/jsx-runtime";
42
36
  import { jsxs as _jsxs } from "react/jsx-runtime";
43
- export const ThemeContext = /*#__PURE__*/createContext(null);
44
37
  const Item = /*#__PURE__*/forwardRef(({
45
38
  children,
46
39
  ...props
@@ -67,8 +60,7 @@ const Leaf = ({
67
60
  children,
68
61
  leaf
69
62
  }) => {
70
- const theme = useTheme();
71
- children = getMarked(leaf, children, theme);
63
+ children = getMarked(leaf, children);
72
64
  return /*#__PURE__*/_jsx("span", {
73
65
  ...attributes,
74
66
  children: children
@@ -87,8 +79,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
87
79
  toolbarOptions,
88
80
  otherProps,
89
81
  isIframe,
90
- theme,
91
- showThemeButtons
82
+ theme
92
83
  } = props;
93
84
  const editorWrapper = useRef();
94
85
  const mentionsRef = useRef();
@@ -132,11 +123,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
132
123
  const {
133
124
  bannerSpacing,
134
125
  pageBgImage,
135
- pageColor = "",
126
+ pageColor,
136
127
  color: pageTextColor,
137
128
  pageWidth,
138
- maxWidth: pageMaxWidth,
139
- theme: selectedTheme
129
+ maxWidth: pageMaxWidth
140
130
  } = pageSt?.pageProps || {
141
131
  bannerSpacing: {
142
132
  left: 0,
@@ -147,11 +137,9 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
147
137
  };
148
138
  const classes = editorStyles({
149
139
  padHeight: !fullScreen ? otherProps?.padHeight : 20,
150
- placeHolderColor: invertColor(pageColor.startsWith("var") ? getVariableValue(pageColor) : pageColor || "#FFF"),
140
+ placeHolderColor: invertColor(pageColor || "#FFF"),
151
141
  theme
152
142
  });
153
- const [openTheme, setOpenTheme] = useState(false);
154
- const [openAITheme, setOpenAITheme] = useState(false);
155
143
  useEffect(() => {
156
144
  setValue(draftToSlate({
157
145
  data: content
@@ -251,12 +239,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
251
239
  redo() {
252
240
  editor?.redo();
253
241
  },
254
- toggleTheme() {
255
- setOpenTheme(!openTheme);
256
- },
257
- toggleAITheme() {
258
- setOpenAITheme(!openAITheme);
259
- },
260
242
  getPageSettings: {
261
243
  background: pageBgImage && pageBgImage !== "none" ? `url(${pageBgImage})` : pageColor || ""
262
244
  }
@@ -337,8 +319,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
337
319
  } else if (isCtrlKey) {
338
320
  commands({
339
321
  event,
340
- editor,
341
- needLayout
322
+ editor
342
323
  });
343
324
  } else if (event.key === "Tab") {
344
325
  event.preventDefault();
@@ -404,152 +385,113 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
404
385
  }
405
386
  return style;
406
387
  }, [pageBgImage, pageColor]);
407
- const themeProps = getTheme(selectedTheme);
408
- return /*#__PURE__*/_jsx(ThemeContext.Provider, {
409
- value: {
410
- openTheme,
411
- setOpenTheme
412
- },
413
- children: /*#__PURE__*/_jsx(CssVarsProvider, {
414
- theme: extendTheme(selectedTheme?.theme?.cssVars || {}),
415
- children: /*#__PURE__*/_jsxs(EditorProvider, {
416
- theme: theme,
417
- editor: editor,
418
- children: [showThemeButtons ? /*#__PURE__*/_jsxs("div", {
419
- style: {
420
- display: "flex",
421
- justifyContent: "end",
422
- alignItems: "center",
423
- gap: "8px",
424
- width: "70vw",
425
- margin: "auto"
426
- },
427
- children: [/*#__PURE__*/_jsx(IconButton, {
428
- onClick: () => setOpenTheme(true),
429
- children: /*#__PURE__*/_jsx(ThemePaintIcon, {})
430
- }), /*#__PURE__*/_jsx(IconButton, {
431
- onClick: () => setOpenAITheme(true),
432
- style: {
433
- marginTop: "4px"
434
- },
435
- children: /*#__PURE__*/_jsx(ThemeAIIcon, {})
436
- })]
437
- }) : null, /*#__PURE__*/_jsx(DialogWrapper, {
438
- classes: classes,
439
- ...props,
440
- fullScreen: fullScreen,
441
- footer: footer || "",
442
- children: /*#__PURE__*/_jsx(Box, {
443
- component: "div",
444
- className: `${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
445
- sx: classes.root,
446
- style: {
447
- ...dotBg
448
- },
449
- children: /*#__PURE__*/_jsxs(Slate, {
450
- editor: editor,
451
- initialValue: value,
452
- onChange: handleEditorChange,
453
- children: [/*#__PURE__*/_jsx(DragAndDrop, {
454
- children: /*#__PURE__*/_jsxs(Overlay, {
455
- children: [/*#__PURE__*/_jsx(Box, {
456
- className: `${hasTopBanner() ? "has-topbanner" : ""} ${!pageColor ? "no-color" : ""} ${isScrolling ? "" : "hideScroll"} scrollable-content scrollSmooth`,
457
- sx: classes.slateWrapper,
458
- id: "slate-wrapper-scroll-container"
459
- // style={editorWrapperStyle}
460
- ,
461
- ref: editorWrapper,
462
- onClick: e => {
463
- handleInsertLastElement(e, editor);
464
- },
465
- onScroll: handleScroll,
466
- style: editorWrapperStyle,
388
+ return /*#__PURE__*/_jsx(EditorProvider, {
389
+ theme: theme,
390
+ editor: editor,
391
+ children: /*#__PURE__*/_jsx(DialogWrapper, {
392
+ classes: classes,
393
+ ...props,
394
+ fullScreen: fullScreen,
395
+ footer: footer || "",
396
+ children: /*#__PURE__*/_jsx(Box, {
397
+ component: "div",
398
+ className: `${editorClass || ""} ${isIframe ? "iframe-editor" : ""}`,
399
+ sx: classes.root,
400
+ style: {
401
+ ...dotBg
402
+ },
403
+ children: /*#__PURE__*/_jsxs(Slate, {
404
+ editor: editor,
405
+ initialValue: value,
406
+ onChange: handleEditorChange,
407
+ children: [/*#__PURE__*/_jsx(DragAndDrop, {
408
+ children: /*#__PURE__*/_jsxs(Overlay, {
409
+ children: [/*#__PURE__*/_jsx(Box, {
410
+ className: `${hasTopBanner() ? "has-topbanner" : ""} ${!pageColor ? "no-color" : ""} ${isScrolling ? "" : "hideScroll"} scrollable-content scrollSmooth`,
411
+ sx: classes.slateWrapper,
412
+ id: "slate-wrapper-scroll-container"
413
+ // style={editorWrapperStyle}
414
+ ,
415
+ ref: editorWrapper,
416
+ onClick: e => {
417
+ handleInsertLastElement(e, editor);
418
+ },
419
+ onScroll: handleScroll,
420
+ style: editorWrapperStyle,
421
+ children: /*#__PURE__*/_jsxs(Box, {
422
+ component: "div",
423
+ className: "max-content",
424
+ "data-info": outsideEditorClickLabel,
425
+ children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
426
+ className: "scroll-area",
427
+ "data-info": outsideEditorClickLabel,
467
428
  children: /*#__PURE__*/_jsxs(Box, {
468
429
  component: "div",
469
- className: "max-content",
470
- sx: themeProps?.sxProps || {},
471
- "data-info": outsideEditorClickLabel,
472
- children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
473
- className: "scroll-area",
474
- "data-info": outsideEditorClickLabel,
475
- children: /*#__PURE__*/_jsxs(Box, {
476
- component: "div",
477
- className: `editor-wrapper ${pageWidth === "fixed" ? "fixed" : "full"}`,
478
- sx: {
479
- backgroundColor: "transparent",
480
- padding: {
481
- ...getTRBLBreakPoints(bannerSpacing)
482
- },
483
- width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
484
- height: viewport.h ? `${viewport.h}px` : `100%`,
485
- alignSelf: "center",
486
- transformOrigin: "left top",
487
- transition: "all 0.3s",
488
- minHeight: "87%",
489
- maxWidth: pageMaxWidth ? `${parseInt(pageMaxWidth)}px !important` : "auto"
490
- },
491
- "data-info": outsideEditorClickLabel,
492
- children: [/*#__PURE__*/_jsx(Editable, {
493
- className: "innert-editor-textbox",
494
- readOnly: isReadOnly,
495
- renderElement: renderElement,
496
- renderLeaf: renderLeaf,
497
- decorate: decorators,
498
- onKeyDown: onKeyDown
499
- }), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
500
- ref: mentionsRef,
501
- mentions: mentions,
502
- setMentions: setMentions,
503
- editor: editor,
504
- target: target,
505
- index: index,
506
- chars: chars,
507
- type: type,
508
- theme: theme
509
- }) : null]
510
- })
511
- }), !hideMiniToolBar ? /*#__PURE__*/_jsx(MiniToolbar, {
512
- customProps: customProps,
513
- toolbarOptions: toolbarOptions,
514
- theme: theme
515
- }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
516
- otherProps: otherProps || {}
517
- }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
518
- sx: {
519
- color: "rgb(100, 116, 139)",
520
- fontSize: "13px",
521
- paddingBottom: hideMiniToolBar ? "0px" : "12px",
522
- cursor: "pointer"
430
+ className: `editor-wrapper ${pageWidth === "fixed" ? "fixed" : "full"}`,
431
+ sx: {
432
+ backgroundColor: "transparent",
433
+ padding: {
434
+ ...getTRBLBreakPoints(bannerSpacing)
523
435
  },
524
- align: "center",
525
- "data-info": outsideEditorClickLabel,
526
- onClick: handleFooterClick,
527
- children: footer
528
- }), openTheme ? /*#__PURE__*/_jsx(ThemeSettings, {
529
- open: openTheme,
530
- setOpen: setOpenTheme,
436
+ width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
437
+ height: viewport.h ? `${viewport.h}px` : `100%`,
438
+ alignSelf: "center",
439
+ transformOrigin: "left top",
440
+ transition: "all 0.3s",
441
+ minHeight: "87%",
442
+ maxWidth: pageMaxWidth ? `${parseInt(pageMaxWidth)}px !important` : "auto"
443
+ },
444
+ "data-info": outsideEditorClickLabel,
445
+ children: [/*#__PURE__*/_jsx(Editable, {
446
+ className: "innert-editor-textbox",
447
+ readOnly: isReadOnly,
448
+ renderElement: renderElement,
449
+ renderLeaf: renderLeaf,
450
+ decorate: decorators,
451
+ onKeyDown: onKeyDown
452
+ }), !readOnly ? /*#__PURE__*/_jsx(MentionsPopup, {
453
+ ref: mentionsRef,
454
+ mentions: mentions,
455
+ setMentions: setMentions,
531
456
  editor: editor,
532
- services: otherProps?.services
533
- }) : null, /*#__PURE__*/_jsx(ThemeSettingsAI, {
534
- openAITheme: openAITheme,
535
- setOpenAITheme: setOpenAITheme,
536
- onSaveTheme: otherProps?.onSaveTheme
537
- })]
457
+ target: target,
458
+ index: index,
459
+ chars: chars,
460
+ type: type,
461
+ theme: theme
462
+ }) : null]
538
463
  })
539
- }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
540
- onDrawerOpen: onDrawerOpen,
541
- theme: theme,
542
- setIsTextSelected: setIsTextSelected,
543
- customProps: customProps
544
- }) : null]
464
+ }), !hideMiniToolBar ? /*#__PURE__*/_jsx(MiniToolbar, {
465
+ customProps: customProps,
466
+ toolbarOptions: toolbarOptions,
467
+ theme: theme
468
+ }) : null, /*#__PURE__*/_jsx(PopoverAIInput, {
469
+ otherProps: otherProps || {}
470
+ }), footer && (fullScreen || readOnly) && /*#__PURE__*/_jsx(Typography, {
471
+ sx: {
472
+ color: "rgb(100, 116, 139)",
473
+ fontSize: "13px",
474
+ paddingBottom: hideMiniToolBar ? "0px" : "12px",
475
+ cursor: "pointer"
476
+ },
477
+ align: "center",
478
+ "data-info": outsideEditorClickLabel,
479
+ onClick: handleFooterClick,
480
+ children: footer
481
+ })]
545
482
  })
546
- }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
547
- ...htmlAction,
548
- handleCodeToText: handleCodeToText
549
- })]
550
- }, id)
551
- })
552
- })]
483
+ }), !readOnly ? /*#__PURE__*/_jsx(PopupTool, {
484
+ onDrawerOpen: onDrawerOpen,
485
+ theme: theme,
486
+ setIsTextSelected: setIsTextSelected,
487
+ customProps: customProps
488
+ }) : null]
489
+ })
490
+ }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
491
+ ...htmlAction,
492
+ handleCodeToText: handleCodeToText
493
+ })]
494
+ }, id)
553
495
  })
554
496
  })
555
497
  });
@@ -9,55 +9,6 @@ import Icon from "../../common/Icon";
9
9
  import { useEditorSelection } from "../../hooks/useMouseMove";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
- const accordionBtnStyleKeys = {
13
- accordionTextColor: "textColor",
14
- accordionBgColor: "bgColor",
15
- accordionBorderColor: "borderColor"
16
- };
17
- const getAccordionData = updateData => {
18
- const accordionBtnStyle = {}; // accordion btn style will come under type: accordion node
19
- const accordionTitleStyle = {}; // accordion title style will come under type: accordion-summary node
20
-
21
- Object.entries(updateData).forEach(([key, value]) => {
22
- const accordionBtnStyleKey = accordionBtnStyleKeys[key];
23
- if (accordionBtnStyleKey) {
24
- // converting accordion button elementProp keys to node keys e.g: accordionTextColor -> textColor
25
- accordionBtnStyle[accordionBtnStyleKey] = value;
26
- return;
27
- }
28
- accordionTitleStyle[key] = value;
29
- });
30
- return {
31
- accordionBtnStyle,
32
- accordionTitleStyle
33
- };
34
- };
35
- const convertAccordionBtnStyleKeys = (data = {}) => {
36
- const style = {
37
- ...data
38
- };
39
- Object.entries(accordionBtnStyleKeys).forEach(([key, value]) => {
40
- const val = data[value];
41
- if (val) {
42
- // deleting the existing style key in node e.g: textColor
43
- delete style[value];
44
-
45
- // convertint into new key in element props e.g: accordionTextColor
46
- style[key] = val;
47
- }
48
- });
49
- return style;
50
- };
51
- const getElementProps = element => {
52
- const accordionSummary = element.children?.find(c => c.type === "accordion-summary");
53
-
54
- // joining accordion title and button styles
55
- const elementProps = {
56
- ...accordionSummary,
57
- ...convertAccordionBtnStyleKeys(element)
58
- };
59
- return elementProps;
60
- };
61
12
  const Accordion = props => {
62
13
  const {
63
14
  attributes,
@@ -118,34 +69,16 @@ const Accordion = props => {
118
69
  at: path
119
70
  });
120
71
  };
121
- const setNodes = (data, path) => {
122
- Transforms.setNodes(editor, data, {
123
- at: path
124
- });
125
- };
126
72
  const onSave = data => {
127
73
  const updateData = {
128
74
  ...data
129
75
  };
130
- const {
131
- accordionBtnStyle,
132
- accordionTitleStyle
133
- } = getAccordionData(updateData);
134
-
135
- // applying accordion title style
136
- const accordionSummary = data.children?.find(c => c.type === "accordion-summary");
137
- const accordionSummaryPath = ReactEditor.findPath(editor, accordionSummary);
138
- setNodes({
139
- ...accordionTitleStyle,
140
- type: "accordion-summary",
141
- children: accordionSummary.children
142
- }, accordionSummaryPath);
143
-
144
- // applying accordion button style
145
- delete accordionBtnStyle.children;
146
- setNodes({
147
- ...accordionBtnStyle
148
- }, path);
76
+ delete updateData.children;
77
+ Transforms.setNodes(editor, {
78
+ ...updateData
79
+ }, {
80
+ at: path
81
+ });
149
82
  onClose();
150
83
  };
151
84
  const onClose = () => {
@@ -190,7 +123,7 @@ const Accordion = props => {
190
123
  },
191
124
  children: children[1]
192
125
  }), !readOnly && /*#__PURE__*/_jsx(ToolBar, {}), openSetttings ? /*#__PURE__*/_jsx(AccordionBtnPopup, {
193
- element: getElementProps(element),
126
+ element: element,
194
127
  onSave: onSave,
195
128
  onClose: onClose,
196
129
  customProps: customProps
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import StyleBuilder from "../../common/StyleBuilder";
3
3
  import accordionTitleBtnStyle from "../../common/StyleBuilder/accordionTitleBtnStyle";
4
- import accordionTitleStyle from "../../common/StyleBuilder/accordionTitleStyle";
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  const AccordionBtnPopup = props => {
7
6
  const {
@@ -11,12 +10,12 @@ const AccordionBtnPopup = props => {
11
10
  customProps
12
11
  } = props;
13
12
  return /*#__PURE__*/_jsx(StyleBuilder, {
14
- title: "Accordion Settings",
13
+ title: "Accordion Collapse Button",
15
14
  type: "accordionTitleBtnStyle",
16
15
  element: element,
17
16
  onSave: onSave,
18
17
  onClose: onClose,
19
- renderTabs: [...accordionTitleBtnStyle, ...accordionTitleStyle],
18
+ renderTabs: accordionTitleBtnStyle,
20
19
  customProps: customProps
21
20
  });
22
21
  };