@flozy/editor 3.9.9 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. package/dist/Editor/ChatEditor.js +28 -17
  2. package/dist/Editor/CommonEditor.js +109 -177
  3. package/dist/Editor/Editor.css +12 -8
  4. package/dist/Editor/Elements/AI/AIInput.js +24 -18
  5. package/dist/Editor/Elements/AI/CustomSelect.js +12 -19
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +89 -66
  7. package/dist/Editor/Elements/AI/Styles.js +1 -2
  8. package/dist/Editor/Elements/AI/helper.js +3 -5
  9. package/dist/Editor/Elements/Accordion/Accordion.js +1 -1
  10. package/dist/Editor/Elements/Accordion/AccordionSummary.js +21 -5
  11. package/dist/Editor/Elements/AppHeader/AppHeader.js +4 -26
  12. package/dist/Editor/Elements/Button/EditorButton.js +16 -28
  13. package/dist/Editor/Elements/Color Picker/ColorButtons.js +17 -60
  14. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  15. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  16. package/dist/Editor/Elements/Color Picker/Styles.js +1 -2
  17. package/dist/Editor/Elements/Emoji/EmojiPicker.js +4 -2
  18. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +3 -12
  19. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +1 -2
  20. package/dist/Editor/Elements/Grid/Grid.js +3 -27
  21. package/dist/Editor/Elements/Grid/GridItem.js +1 -3
  22. package/dist/Editor/Elements/Link/Link.js +1 -6
  23. package/dist/Editor/Elements/Link/LinkButton.js +2 -4
  24. package/dist/Editor/Elements/Link/LinkPopup.js +3 -10
  25. package/dist/Editor/Elements/List/CheckList.js +2 -1
  26. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +3 -3
  27. package/dist/Editor/Elements/Signature/SignaturePopup.js +5 -20
  28. package/dist/Editor/Elements/Table/Styles.js +1 -23
  29. package/dist/Editor/Elements/Table/Table.js +1 -2
  30. package/dist/Editor/Elements/Table/TableCell.js +7 -69
  31. package/dist/Editor/Elements/TableContextMenu/TableContextMenu.js +0 -1
  32. package/dist/Editor/MiniEditor.js +1 -3
  33. package/dist/Editor/Styles/EditorStyles.js +1 -1
  34. package/dist/Editor/Toolbar/Basic/index.js +2 -4
  35. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +2 -26
  36. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  37. package/dist/Editor/Toolbar/FormatTools/TextSize.js +18 -29
  38. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -4
  39. package/dist/Editor/Toolbar/Mini/Options/Options.js +0 -10
  40. package/dist/Editor/Toolbar/Mini/Styles.js +0 -7
  41. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +13 -12
  42. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +13 -12
  43. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +11 -4
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +86 -213
  45. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +1 -2
  46. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +33 -40
  47. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +7 -52
  48. package/dist/Editor/Toolbar/PopupTool/index.js +5 -4
  49. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  50. package/dist/Editor/assets/svg/AIIcons.js +1 -153
  51. package/dist/Editor/assets/svg/AddTemplateIcon.js +10 -13
  52. package/dist/Editor/assets/svg/TextIcon.js +5 -8
  53. package/dist/Editor/common/ColorPickerButton.js +18 -26
  54. package/dist/Editor/common/DnD/DragHandleButton.js +47 -56
  55. package/dist/Editor/common/Icon.js +3 -43
  56. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -5
  57. package/dist/Editor/common/LinkSettings/index.js +2 -4
  58. package/dist/Editor/common/LinkSettings/navOptions.js +2 -7
  59. package/dist/Editor/common/LinkSettings/style.js +8 -11
  60. package/dist/Editor/common/Section/index.js +7 -57
  61. package/dist/Editor/common/Section/styles.js +0 -11
  62. package/dist/Editor/common/Shorthands/elements.js +0 -54
  63. package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +2 -1
  64. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  65. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +29 -33
  66. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +25 -31
  67. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +1 -1
  68. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +7 -29
  69. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  70. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +4 -14
  71. package/dist/Editor/common/StyleBuilder/index.js +1 -1
  72. package/dist/Editor/common/iconslist.js +31 -0
  73. package/dist/Editor/helper/index.js +22 -0
  74. package/dist/Editor/helper/theme.js +4 -189
  75. package/dist/Editor/hooks/useMouseMove.js +1 -4
  76. package/dist/Editor/hooks/useWindowMessage.js +7 -10
  77. package/dist/Editor/plugins/withEmbeds.js +1 -1
  78. package/dist/Editor/plugins/withHTML.js +1 -1
  79. package/dist/Editor/plugins/withTable.js +1 -1
  80. package/dist/Editor/theme/ThemeList.js +173 -50
  81. package/dist/Editor/utils/SlateUtilityFunctions.js +27 -169
  82. package/dist/Editor/utils/button.js +17 -1
  83. package/dist/Editor/utils/events.js +2 -54
  84. package/dist/Editor/utils/font.js +37 -40
  85. package/dist/Editor/utils/helper.js +2 -31
  86. package/dist/Editor/utils/table.js +43 -51
  87. package/package.json +3 -4
  88. package/dist/Editor/Elements/AI/VoiceToText/AudioWave.js +0 -73
  89. package/dist/Editor/Elements/AI/VoiceToText/index.js +0 -184
  90. package/dist/Editor/Elements/AI/VoiceToText/style.js +0 -40
  91. package/dist/Editor/Elements/Link/LinkPopupStyles.js +0 -28
  92. package/dist/Editor/Elements/Redo/RedoButton.js +0 -14
  93. package/dist/Editor/Elements/Undo/UndoButton.js +0 -14
  94. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -438
  95. package/dist/Editor/assets/svg/RedoIcon.js +0 -27
  96. package/dist/Editor/assets/svg/SettingsIcon.js +0 -28
  97. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  98. package/dist/Editor/assets/svg/UndoIcon.js +0 -27
  99. package/dist/Editor/common/CustomColorPicker/index.js +0 -106
  100. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  101. package/dist/Editor/common/CustomDialog/index.js +0 -94
  102. package/dist/Editor/common/CustomDialog/style.js +0 -67
  103. package/dist/Editor/common/CustomSelect.js +0 -33
  104. package/dist/Editor/hooks/useEditorTheme.js +0 -139
  105. package/dist/Editor/theme/index.js +0 -144
  106. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  107. package/dist/Editor/themeSettings/buttons/index.js +0 -290
  108. package/dist/Editor/themeSettings/buttons/style.js +0 -21
  109. package/dist/Editor/themeSettings/colorTheme/index.js +0 -290
  110. package/dist/Editor/themeSettings/colorTheme/style.js +0 -77
  111. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -123
  112. package/dist/Editor/themeSettings/fonts/index.js +0 -213
  113. package/dist/Editor/themeSettings/fonts/style.js +0 -44
  114. package/dist/Editor/themeSettings/icons.js +0 -60
  115. package/dist/Editor/themeSettings/index.js +0 -320
  116. package/dist/Editor/themeSettings/style.js +0 -152
  117. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  118. package/dist/Editor/themeSettingsAI/index.js +0 -356
  119. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -190
  120. package/dist/Editor/themeSettingsAI/style.js +0 -247
@@ -1,26 +1,20 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
2
  import { useEditorContext } from "../../hooks/useMouseMove";
3
3
  import Styles from "./Styles";
4
- import { Fade, Paper, Popper } from "@mui/material";
4
+ import { Box, Fade, Paper, Popper } from "@mui/material";
5
5
  import AIInput from "./AIInput";
6
6
  import { ReactEditor, useSlate } from "slate-react";
7
- import { Node, Transforms } from "slate";
7
+ import { Editor, Node, Path, Transforms } from "slate";
8
+ import useWindowResize from "../../hooks/useWindowResize";
8
9
  import { MODES } from "./helper";
9
10
  import { getSelectedText } from "../../utils/helper";
10
- import { VoiceToText } from "./VoiceToText";
11
- import deserialize from "../../helper/deserialize";
12
11
  import { jsx as _jsx } from "react/jsx-runtime";
13
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
- const scrollToAIInput = editor => {
13
+ const scrollToAIInput = () => {
15
14
  try {
16
15
  setTimeout(() => {
17
16
  const slateWrapper = document.getElementById("slate-wrapper-scroll-container");
18
- let selectionRect;
19
- if (getSelectedText(editor)) {
20
- selectionRect = window.getSelection().getRangeAt(0).getBoundingClientRect();
21
- } else {
22
- selectionRect = ReactEditor.toDOMRange(editor, getNextLine(editor).at).getBoundingClientRect();
23
- }
17
+ const selectionRect = window.getSelection().getRangeAt(0).getBoundingClientRect();
24
18
  const halfOfWrapper = slateWrapper.clientHeight / 2;
25
19
  const selectionScollTop = selectionRect.y + selectionRect.height;
26
20
  if (selectionScollTop > halfOfWrapper) {
@@ -35,19 +29,26 @@ const scrollToAIInput = editor => {
35
29
  console.log(err);
36
30
  }
37
31
  };
38
- const insertText = (editor, text, options) => {
39
- const parsed = new DOMParser().parseFromString(text, "text/html");
40
- const fragment = deserialize(parsed.body);
41
- Transforms.insertFragment(editor, fragment, options);
42
- };
43
32
  const insertAtNextLine = (editor, text) => {
44
33
  const nextLine = getNextLine(editor);
45
- insertText(editor, text, {
34
+ Transforms.splitNodes(editor, {
46
35
  at: nextLine.at
47
36
  });
48
- Transforms.splitNodes(editor, {
37
+ Transforms.insertNodes(editor, {
38
+ type: "paragraph",
39
+ children: [{
40
+ text
41
+ }]
42
+ }, {
49
43
  at: nextLine.at
50
44
  });
45
+ const currentPath = Path.parent(nextLine.at.focus.path);
46
+ const nextPath = Path.next(currentPath);
47
+ ReactEditor.focus(editor);
48
+ Transforms.select(editor, {
49
+ anchor: Editor.start(editor, nextPath),
50
+ focus: Editor.end(editor, nextPath)
51
+ });
51
52
  };
52
53
  const getNextLine = editor => {
53
54
  const {
@@ -100,14 +101,8 @@ const updateAnchorEl = (setAnchorEl, editor) => {
100
101
  // selected text as caret
101
102
  caret = selection.getRangeAt(0);
102
103
  } else {
103
- const domElement = ReactEditor.toDOMRange(editor, getNextLine(editor).at);
104
- const {
105
- textContent,
106
- parentElement
107
- } = domElement?.commonAncestorContainer || {};
108
- caret = textContent ? domElement : parentElement; // in mobile, if textContent in not available, it is pointing some <br> tag (getBoundingClientRect not working correctly for <br>), to avoid that, we are pointing the parent element as caret
104
+ caret = ReactEditor.toDOMRange(editor, getNextLine(editor).at);
109
105
  }
110
-
111
106
  const getBoundingClientRect = () => {
112
107
  const editorContainer = document.querySelector("#slate-wrapper-scroll-container")?.getBoundingClientRect();
113
108
  const editorEle = document.querySelector(".ed-section-inner")?.getBoundingClientRect();
@@ -152,6 +147,7 @@ function PopoverAIInput({
152
147
  const targetRef = useRef();
153
148
  const classes = Styles();
154
149
  const editor = useSlate();
150
+ const [size] = useWindowResize();
155
151
  const onClickOutside = () => {
156
152
  setAnchorEl(null);
157
153
  setOpenAI("");
@@ -167,8 +163,8 @@ function PopoverAIInput({
167
163
  updateAnchorEl(setAnchorEl, editor);
168
164
  }, [openAI, editor.selection]);
169
165
  useEffect(() => {
170
- if (openAI) {
171
- scrollToAIInput(editor);
166
+ if (openAI === "fromToolBar") {
167
+ scrollToAIInput();
172
168
  }
173
169
  }, [openAI]);
174
170
  const onSend = async (type, option) => {
@@ -176,35 +172,12 @@ function PopoverAIInput({
176
172
  onClickOutside();
177
173
  return;
178
174
  }
179
- if (type === "done") {
180
- // Get the current selection point
181
- const {
182
- anchor
183
- } = editor.selection;
184
- const {
185
- path
186
- } = anchor;
187
- const {
188
- text: selectText
189
- } = Node.get(editor, path);
190
- if (selectText?.length) {
191
- insertAtNextLine(editor, generatedText);
192
- } else {
193
- insertText(editor, generatedText);
194
- }
195
- onClickOutside();
196
- return;
197
- }
198
175
  if (type === "replace_selection") {
199
176
  // replace generated text
200
- insertText(editor, generatedText);
177
+ Transforms.insertText(editor, generatedText);
201
178
  onClickOutside();
202
179
  return;
203
180
  }
204
- if (type === "speech_to_text") {
205
- setGeneratedText(option.text);
206
- return;
207
- }
208
181
  if (type === "try_again") {
209
182
  // resetting the previous option and try again
210
183
  option = selectedOption;
@@ -215,7 +188,7 @@ function PopoverAIInput({
215
188
  setLoading(true);
216
189
  const payload = {
217
190
  mode: option.mode || 0,
218
- query: option?.inputValue || inputValue
191
+ query: inputValue
219
192
  };
220
193
  if (option.mode === MODES.translate || option.mode === MODES.rephraseTone) {
221
194
  payload.textOptionInput = type;
@@ -241,7 +214,47 @@ function PopoverAIInput({
241
214
  }
242
215
  return;
243
216
  }
244
- insertText(editor, text);
217
+
218
+ // Get the current selection point
219
+ const {
220
+ anchor
221
+ } = editor.selection;
222
+ const {
223
+ path
224
+ } = anchor;
225
+ const {
226
+ text: selectText
227
+ } = Node.get(editor, path);
228
+ const insertInNewLine = option.isSendBtn && selectText?.length || type === "continue_writing";
229
+ if (insertInNewLine) {
230
+ if (getSelectedText(editor)) {
231
+ const currentPath = Path.parent(editor.selection.focus.path);
232
+ const nextPath = Path.next(currentPath);
233
+ Transforms.insertNodes(editor, {
234
+ type: "paragraph",
235
+ children: [{
236
+ text
237
+ }]
238
+ }, {
239
+ at: nextPath,
240
+ select: true
241
+ });
242
+ } else {
243
+ insertAtNextLine(editor, text);
244
+ return;
245
+ }
246
+ } else {
247
+ Transforms.insertText(editor, text);
248
+ }
249
+ const range = {
250
+ ...editor.selection,
251
+ anchor: {
252
+ ...anchor,
253
+ offset: openAI === "fromToolBar" ? anchor.offset : 0
254
+ }
255
+ };
256
+ ReactEditor.focus(editor);
257
+ Transforms.select(editor, range);
245
258
 
246
259
  // scrollToAIInput();
247
260
  };
@@ -250,7 +263,21 @@ function PopoverAIInput({
250
263
  setInputValue(e.target.value);
251
264
  };
252
265
  return /*#__PURE__*/_jsxs("div", {
253
- children: [/*#__PURE__*/_jsx(Popper, {
266
+ children: [size.device === "xs" && openAI ? /*#__PURE__*/_jsx(Box, {
267
+ component: "div",
268
+ sx: classes.mobileAIInputWrapper,
269
+ ref: targetRef,
270
+ children: /*#__PURE__*/_jsx(AIInput, {
271
+ loading: loading,
272
+ onSend: onSend,
273
+ generatedText: generatedText,
274
+ anchorEl: anchorEl,
275
+ openAI: openAI,
276
+ inputValue: inputValue,
277
+ onInputChange: onInputChange,
278
+ onClickOutside: onClickOutside
279
+ })
280
+ }) : /*#__PURE__*/_jsx(Popper, {
254
281
  open: Boolean(openAI),
255
282
  anchorEl: anchorEl,
256
283
  transition: true,
@@ -269,19 +296,15 @@ function PopoverAIInput({
269
296
  sx: getSelectedText(editor) ? {
270
297
  marginTop: "6px"
271
298
  } : {},
272
- children: /*#__PURE__*/_jsx(VoiceToText, {
273
- otherProps: otherProps,
299
+ children: /*#__PURE__*/_jsx(AIInput, {
300
+ loading: loading,
274
301
  onSend: onSend,
275
- children: /*#__PURE__*/_jsx(AIInput, {
276
- loading: loading,
277
- onSend: onSend,
278
- generatedText: generatedText,
279
- anchorEl: anchorEl,
280
- openAI: openAI,
281
- inputValue: inputValue,
282
- onInputChange: onInputChange,
283
- onClickOutside: onClickOutside
284
- })
302
+ generatedText: generatedText,
303
+ anchorEl: anchorEl,
304
+ openAI: openAI,
305
+ inputValue: inputValue,
306
+ onInputChange: onInputChange,
307
+ onClickOutside: onClickOutside
285
308
  })
286
309
  })
287
310
  })
@@ -167,8 +167,7 @@ const Styles = theme => ({
167
167
  sendIconContainer: {
168
168
  alignSelf: "flex-end",
169
169
  display: "flex",
170
- alignItems: "center",
171
- gap: "6px"
170
+ alignItems: "center"
172
171
  }
173
172
  });
174
173
  export default Styles;
@@ -47,12 +47,10 @@ export const newContentOptions = [{
47
47
  groupLabel: "",
48
48
  options: [
49
49
  // improveWriting,
50
- {
51
- label: "Done",
52
- value: "done",
53
- Icon: CheckIcon,
50
+ ...commonOptions.map(o => ({
51
+ ...o,
54
52
  replace: true
55
- }, ...commonOptions, {
53
+ })), {
56
54
  label: "Close",
57
55
  value: "close",
58
56
  Icon: CloseIcon,
@@ -160,7 +160,7 @@ const Accordion = props => {
160
160
  children: [/*#__PURE__*/_jsxs("div", {
161
161
  className: "accordion-title",
162
162
  style: {
163
- backgroundColor: bgColor
163
+ background: bgColor
164
164
  },
165
165
  onClick: onToggle,
166
166
  children: [/*#__PURE__*/_jsx(Box, {
@@ -1,4 +1,7 @@
1
1
  import React from "react";
2
+ import { getBorderColor, getTextColor } from "../../helper";
3
+ import { Box } from "@mui/material";
4
+ import { getBreakPointsValue, getTRBLBreakPoints } from "../../helper/theme";
2
5
  import { jsx as _jsx } from "react/jsx-runtime";
3
6
  const AccordionSummary = props => {
4
7
  const {
@@ -9,18 +12,31 @@ const AccordionSummary = props => {
9
12
  const {
10
13
  textColor,
11
14
  bgColor,
12
- borderColor
15
+ borderColor,
16
+ borderRadius,
17
+ bannerSpacing
13
18
  } = element;
14
- return /*#__PURE__*/_jsx("div", {
19
+ const textStyles = getTextColor(textColor);
20
+ const borderStyle = getBorderColor(borderColor);
21
+ return /*#__PURE__*/_jsx(Box, {
15
22
  className: `accordion-summary-container`,
16
23
  ...attributes,
17
24
  style: {
18
25
  width: "100%",
19
26
  position: "relative",
20
- backgroundColor: bgColor,
21
- border: `1px solid ${borderColor}`,
22
- color: textColor
27
+ background: bgColor,
28
+ ...borderStyle
23
29
  },
30
+ sx: {
31
+ borderRadius: {
32
+ ...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
33
+ },
34
+ padding: {
35
+ ...getTRBLBreakPoints(bannerSpacing)
36
+ },
37
+ '& span[data-slate-string="true"]': textStyles
38
+ },
39
+ component: "div",
24
40
  children: children
25
41
  });
26
42
  };
@@ -62,11 +62,6 @@ function AppHeader(props) {
62
62
  const handleDrawerToggle = () => {
63
63
  setMobileOpen(prevState => !prevState);
64
64
  };
65
- const closeDrawer = () => {
66
- if (mobileOpen) {
67
- handleDrawerToggle();
68
- }
69
- };
70
65
  const onSettings = e => {
71
66
  if (!readOnly) {
72
67
  e.stopPropagation();
@@ -153,27 +148,10 @@ function AppHeader(props) {
153
148
  }), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(List, {
154
149
  children: menus.map((item, i) => {
155
150
  const buttonProps = handleLinkType(item.url, item.linkType, true, item.target === "_blank");
156
- const onTouchEnd = e => {
157
- if (buttonProps?.onTouchEnd) {
158
- buttonProps?.onTouchEnd(e);
159
- closeDrawer();
160
- }
161
- };
162
- const onClick = e => {
163
- if (buttonProps?.onClick) {
164
- buttonProps?.onClick(e);
165
- closeDrawer();
166
- }
167
- };
168
- const props = {
169
- ...buttonProps,
170
- onTouchEnd,
171
- onClick
172
- };
173
151
  return /*#__PURE__*/_jsx(ListItem, {
174
152
  disablePadding: true,
175
153
  children: /*#__PURE__*/_jsx(ListItemButton, {
176
- ...props,
154
+ ...buttonProps,
177
155
  sx: {
178
156
  textAlign: "center"
179
157
  },
@@ -251,7 +229,7 @@ function AppHeader(props) {
251
229
  style: {
252
230
  display: "inline-flex",
253
231
  alignItems: "center",
254
- color: textColor || "#000000",
232
+ color: textColor,
255
233
  fontSize: logoFontSize,
256
234
  fontFamily: titleFontFamily,
257
235
  justifyContent: isLogoRight ? "end" : "start"
@@ -299,7 +277,7 @@ function AppHeader(props) {
299
277
  fontFamily: fontFamily,
300
278
  textTransform: "none",
301
279
  fontSize: fontSize || "16px",
302
- color: textColor || "#000",
280
+ color: textColor || "#FFF",
303
281
  background: bgColor || "none",
304
282
  "& .m-settings": {
305
283
  display: "none",
@@ -314,7 +292,7 @@ function AppHeader(props) {
314
292
  background: "#FFF"
315
293
  },
316
294
  "&:hover": {
317
- color: textColorHover || textColor || "#000",
295
+ color: textColorHover || textColor || "#FFF",
318
296
  background: bgColorHover || bgColor || "none",
319
297
  "& .m-settings": {
320
298
  display: "block"
@@ -13,9 +13,6 @@ import { WorkflowIcon } from "../../common/iconslist";
13
13
  import { getTRBLBreakPoints, getBreakPointsValue } from "../../helper/theme";
14
14
  import { handleLinkType, windowVar } from "../../utils/helper";
15
15
  import LinkSettings from "../../common/LinkSettings";
16
- import { useEditorTheme } from "../../hooks/useEditorTheme";
17
- import { getTheme } from "../../theme";
18
- import { fontFamilyMap } from "../../utils/font";
19
16
  import { jsx as _jsx } from "react/jsx-runtime";
20
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
18
  const EditorButton = props => {
@@ -33,12 +30,6 @@ const EditorButton = props => {
33
30
  const path = ReactEditor.findPath(editor, element);
34
31
  const [edit, setEdit] = useState(false);
35
32
  const [openNav, setOpenNav] = useState(false);
36
- const {
37
- theme
38
- } = useEditorTheme();
39
- const {
40
- buttonTheme
41
- } = getTheme(theme);
42
33
  const {
43
34
  label,
44
35
  bgColor,
@@ -52,7 +43,7 @@ const EditorButton = props => {
52
43
  fontFamily,
53
44
  textColorHover,
54
45
  bgColorHover,
55
- // buttonIcon,
46
+ buttonIcon,
56
47
  iconPosition = "start",
57
48
  borderStyle,
58
49
  borderWidth,
@@ -71,15 +62,13 @@ const EditorButton = props => {
71
62
  } = actionTrigger || {
72
63
  options: []
73
64
  };
74
- const isTrigger = linkType === "nextTrigger" || linkType === "prevTrigger";
65
+ const isTrigger = linkType === "actionTrigger";
75
66
  const refURl = isTrigger ? buttonLink?.url : url;
76
- const buttonIcon = element?.buttonIcon || buttonTheme?.buttonIcon;
77
67
  const BtnIcon = buttonIcon ? buttonIcon : null;
78
68
  windowVar.lastButtonProps = element;
79
69
  const handleTrigger = async () => {
80
70
  if (metadata?.buttonLink?.handler) {
81
- const response = isTrigger ? linkType : "click";
82
- metadata.buttonLink.handler(response);
71
+ metadata.buttonLink.handler("click");
83
72
  } else if (redirectOnURLResult) {
84
73
  // call api and redirect based on api result
85
74
  const apiResult = await actionButtonRedirect({}, {
@@ -197,9 +186,20 @@ const EditorButton = props => {
197
186
  children: [/*#__PURE__*/_jsxs(Box, {
198
187
  sx: {
199
188
  textDecoration: "none",
189
+ background: bgColor || "rgb(30, 75, 122)",
200
190
  borderBlockStyle: "solid",
191
+ borderColor: borderColor || "transparent",
201
192
  borderWidth: borderWidth !== undefined ? borderWidth : borderColor ? "1px" : "0px",
193
+ borderRadius: {
194
+ ...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
195
+ },
202
196
  borderStyle: borderStyle || "solid",
197
+ padding: {
198
+ ...getTRBLBreakPoints(bannerSpacing)
199
+ },
200
+ color: `${textColor || "#FFFFFF"}`,
201
+ fontSize: textSize || "inherit",
202
+ fontFamily: fontFamily || "PoppinsRegular",
203
203
  display: "inline-flex",
204
204
  alignItems: "center",
205
205
  position: "relative",
@@ -207,26 +207,14 @@ const EditorButton = props => {
207
207
  display: "none"
208
208
  },
209
209
  "&:hover": {
210
- color: `${textColorHover || textColor}`,
211
- background: bgColorHover || bgColor,
210
+ color: `${textColorHover || textColor || "#FFFFFF"}`,
211
+ background: bgColorHover || bgColor || "rgb(30, 75, 122)",
212
212
  "& .element-toolbar": {
213
213
  display: "flex"
214
214
  }
215
- },
216
- color: `${textColor} !important`,
217
- fontSize: `${textSize}px !important`,
218
- fontFamily: `${fontFamilyMap[fontFamily] || ""} !important`,
219
- background: `${bgColor} !important`,
220
- borderColor: `${borderColor} !important`,
221
- borderRadius: {
222
- ...getBreakPointsValue(borderRadius || buttonTheme?.borderRadius || {}, null, "overrideBorderRadius", true)
223
- },
224
- padding: {
225
- ...getTRBLBreakPoints(bannerSpacing || buttonTheme?.bannerSpacing || {})
226
215
  }
227
216
  },
228
217
  ...buttonProps,
229
- className: "button theme-element",
230
218
  children: [BtnIcon && iconPosition === "start" && /*#__PURE__*/_jsx(MUIIcon, {
231
219
  iconName: buttonIcon,
232
220
  style: {
@@ -1,15 +1,11 @@
1
- import React, { useContext, useState } from "react";
2
- import { Box, IconButton, Popover, Typography, useTheme } from "@mui/material";
1
+ import React, { useState } from "react";
2
+ import { Box, IconButton, Popover } from "@mui/material";
3
3
  import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
4
4
  import Button from "../../common/Button";
5
5
  import { colors } from "./defaultColors";
6
6
  import ColorPicker from "./colorPicker.svg";
7
- import { ThemeContext } from "../../CommonEditor";
8
- import { useSlateStatic } from "slate-react";
9
- import { Transforms } from "slate";
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
- import { Fragment as _Fragment } from "react/jsx-runtime";
13
9
  let c = [];
14
10
  const ColorChunks = (recentColors = []) => [...recentColors, ...colors].reduce((a, b, i) => {
15
11
  if (i % 7 === 0) {
@@ -35,7 +31,9 @@ const SingleColorButton = ({
35
31
  style: {
36
32
  width: "100%",
37
33
  display: "flex",
38
- padding: padding || "8px"
34
+ alignItems: "center",
35
+ padding: padding || "8px",
36
+ justifyContent: "center"
39
37
  },
40
38
  children: [crs.map(m => /*#__PURE__*/_jsx(Button, {
41
39
  onClick: handleSelect(m),
@@ -111,17 +109,11 @@ const ColorButtons = props => {
111
109
  forMiniTool,
112
110
  openColorTool,
113
111
  onClose,
114
- onColorPickerClick,
115
- disableEditTheme
112
+ onColorPickerClick
116
113
  } = props;
117
114
  const [row1, ...restRows] = ColorChunks([]);
118
115
  const [anchorEl, setAnchorEl] = useState(null);
119
116
  const open = Boolean(anchorEl);
120
- const theme = useTheme();
121
- const editor = useSlateStatic();
122
- const {
123
- setOpenTheme
124
- } = useContext(ThemeContext);
125
117
  const handleMore = e => {
126
118
  setAnchorEl(e.currentTarget);
127
119
  };
@@ -134,7 +126,6 @@ const ColorButtons = props => {
134
126
  const handleSelect = color => () => {
135
127
  onSelect(color);
136
128
  };
137
- const colorVars = theme?.vars?.colors || {};
138
129
  return /*#__PURE__*/_jsxs(Box, {
139
130
  component: "span",
140
131
  sx: classes.colorButtons,
@@ -151,7 +142,7 @@ const ColorButtons = props => {
151
142
  activeColor: activeColor
152
143
  }, `si_btn_row1_${m}_${i}`);
153
144
  })
154
- }), /*#__PURE__*/_jsx(Popover, {
145
+ }), /*#__PURE__*/_jsxs(Popover, {
155
146
  open: open || openColorTool,
156
147
  anchorEl: anchorEl || openColorTool,
157
148
  onClose: handleClose,
@@ -165,39 +156,9 @@ const ColorButtons = props => {
165
156
  },
166
157
  sx: classes.colorPopper,
167
158
  className: "colorPopper",
168
- children: /*#__PURE__*/_jsxs(Box, {
159
+ children: [/*#__PURE__*/_jsx(Box, {
169
160
  sx: classes.colorButtonsInner,
170
- children: [Object.values(colorVars)?.length ? /*#__PURE__*/_jsxs(_Fragment, {
171
- children: [/*#__PURE__*/_jsxs(Box, {
172
- component: "div",
173
- className: "singleColorTitleWrapper",
174
- children: [/*#__PURE__*/_jsx(Typography, {
175
- variant: "subtitle2",
176
- children: "Theme colour"
177
- }), disableEditTheme ? null : /*#__PURE__*/_jsx("div", {
178
- className: "editBtn",
179
- onClick: () => {
180
- Transforms.deselect(editor, {
181
- at: editor.selection
182
- });
183
- setOpenTheme("editThemeColor");
184
- },
185
- children: "Edit"
186
- })]
187
- }), /*#__PURE__*/_jsx(SingleColorButton, {
188
- crs: Object.values(colorVars),
189
- handleSelect: handleSelect,
190
- classes: classes,
191
- activeColor: activeColor
192
- })]
193
- }) : null, /*#__PURE__*/_jsx(Box, {
194
- component: "div",
195
- className: "singleColorTitleWrapper",
196
- children: /*#__PURE__*/_jsx(Typography, {
197
- variant: "subtitle2",
198
- children: "Custom colour"
199
- })
200
- }), restRows.map((m, i) => {
161
+ children: restRows.map((m, i) => {
201
162
  return /*#__PURE__*/_jsx(SingleColorButton, {
202
163
  id: `p2_${id}`,
203
164
  crs: m,
@@ -206,18 +167,14 @@ const ColorButtons = props => {
206
167
  classes: classes,
207
168
  activeColor: activeColor
208
169
  }, `si_btn_${m}_${i}`);
209
- }), forMiniTool ? /*#__PURE__*/_jsx(IconButton, {
210
- onClick: onColorPickerClick,
211
- style: {
212
- alignSelf: "start",
213
- margin: "6px"
214
- },
215
- children: /*#__PURE__*/_jsx("img", {
216
- src: ColorPicker,
217
- alt: "color wheel"
218
- })
219
- }) : null]
220
- })
170
+ })
171
+ }), forMiniTool ? /*#__PURE__*/_jsx(IconButton, {
172
+ onClick: onColorPickerClick,
173
+ children: /*#__PURE__*/_jsx("img", {
174
+ src: ColorPicker,
175
+ alt: "color wheel"
176
+ })
177
+ }) : null]
221
178
  })]
222
179
  });
223
180
  };
@@ -60,28 +60,4 @@
60
60
  padding: 0 15px !important;
61
61
  width: 60px !important;
62
62
  flex-shrink: 0;
63
- }
64
-
65
-
66
- .singleColorTitleWrapper {
67
- display: flex;
68
- justify-content: space-between;
69
- align-items: center;
70
- padding: 10px;
71
- width: 100%;
72
- border-bottom: 1px solid #DCE4EC;
73
- }
74
-
75
- .singleColorTitleWrapper .MuiTypography-root {
76
- font-weight: 600;
77
- }
78
-
79
- .singleColorTitleWrapper .editBtn {
80
- text-transform: none;
81
- color: #2563EB;
82
- text-decoration: underline;
83
- padding: 0px;
84
- min-width: unset;
85
- cursor: pointer;
86
- font-size: 14px;
87
- }
63
+ }
@@ -1,6 +1,7 @@
1
1
  import React, { useState } from "react";
2
2
  import { ReactEditor } from "slate-react";
3
3
  import { Transforms } from "slate";
4
+ import ColorPickerTool from "react-gcolor-picker";
4
5
  import { IconButton, Tooltip, Box, Popover } from "@mui/material";
5
6
  import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions";
6
7
  import ColorButtons from "./ColorButtons";
@@ -8,7 +9,6 @@ import ColorPickerStyles from "./Styles";
8
9
  import colorWheel from "./colorWheel.png";
9
10
  import "./ColorPicker.css";
10
11
  import { useEditorContext } from "../../hooks/useMouseMove";
11
- import CustomColorPicker from "../../common/CustomColorPicker";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { Fragment as _Fragment } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -95,10 +95,10 @@ const ColorPicker = props => {
95
95
  horizontal: "top"
96
96
  },
97
97
  sx: classes.colorPickerPopup,
98
- children: /*#__PURE__*/_jsx(CustomColorPicker, {
98
+ children: /*#__PURE__*/_jsx(ColorPickerTool, {
99
99
  gradient: true,
100
- onChange: handleFormSubmit,
101
- color: activeColor
100
+ value: activeColor,
101
+ onChange: handleFormSubmit
102
102
  })
103
103
  })]
104
104
  });