@flozy/editor 11.2.1 → 11.2.3

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 (141) hide show
  1. package/dist/Editor/ChatEditor.js +7 -7
  2. package/dist/Editor/CommonEditor.js +24 -86
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +4 -37
  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/Attachments/Attachments.js +11 -154
  8. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +3 -8
  9. package/dist/Editor/Elements/Button/EditorButton.js +44 -32
  10. package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -61
  11. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  12. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
  13. package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +55 -134
  15. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +8 -7
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +3 -8
  17. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
  18. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
  19. package/dist/Editor/Elements/Embed/Embed.js +43 -37
  20. package/dist/Editor/Elements/Embed/Image.js +22 -242
  21. package/dist/Editor/Elements/Embed/Video.js +32 -277
  22. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +6 -9
  23. package/dist/Editor/Elements/EmbedScript/styles.js +1 -17
  24. package/dist/Editor/Elements/Form/FormField.js +1 -1
  25. package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -25
  26. package/dist/Editor/Elements/Form/Workflow/constant.js +1 -25
  27. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +76 -37
  28. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +5 -9
  29. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -3
  30. package/dist/Editor/Elements/FreeGrid/styles.js +0 -15
  31. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  32. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -2
  33. package/dist/Editor/Elements/Table/Table.js +1 -2
  34. package/dist/Editor/Elements/Table/TableCell.js +3 -10
  35. package/dist/Editor/Elements/Title/title.js +5 -4
  36. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -4
  37. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +3 -5
  38. package/dist/Editor/Styles/EditorStyles.js +5 -19
  39. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  40. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  41. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  42. package/dist/Editor/Toolbar/FormatTools/TextSize.js +29 -33
  43. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -2
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +1 -3
  45. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +23 -25
  46. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
  47. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +5 -15
  48. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
  49. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +7 -65
  50. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +12 -66
  51. package/dist/Editor/Toolbar/PopupTool/index.js +4 -6
  52. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  53. package/dist/Editor/common/ColorPickerButton.js +19 -38
  54. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  55. package/dist/Editor/common/FontLoader/FontLoader.js +0 -1
  56. package/dist/Editor/common/Icon.js +0 -28
  57. package/dist/Editor/common/ImageSelector/ImageSelector.js +7 -45
  58. package/dist/Editor/common/ImageSelector/Options/Upload.js +11 -26
  59. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  60. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +7 -20
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  68. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +0 -2
  69. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +7 -20
  70. package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
  71. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  72. package/dist/Editor/common/RnD/Utils/gridDropItem.js +11 -28
  73. package/dist/Editor/common/RnD/Utils/index.js +1 -3
  74. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +63 -52
  75. package/dist/Editor/common/RnD/VirtualElement/helper.js +68 -248
  76. package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -22
  77. package/dist/Editor/common/RnD/index.js +14 -61
  78. package/dist/Editor/common/Shorthands/elements.js +3 -55
  79. package/dist/Editor/common/StyleBuilder/buttonStyle.js +15 -5
  80. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -4
  81. package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -1
  82. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -13
  83. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  84. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  85. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -36
  86. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  87. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +0 -2
  88. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -16
  89. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  90. package/dist/Editor/common/StyleBuilder/formStyle.js +13 -19
  91. package/dist/Editor/common/StyleBuilder/index.js +19 -10
  92. package/dist/Editor/common/Uploader.js +17 -118
  93. package/dist/Editor/common/iconslist.js +0 -21
  94. package/dist/Editor/commonStyle.js +53 -111
  95. package/dist/Editor/helper/index.js +1 -4
  96. package/dist/Editor/helper/theme.js +2 -203
  97. package/dist/Editor/hooks/useMouseMove.js +3 -12
  98. package/dist/Editor/hooks/useTable.js +1 -62
  99. package/dist/Editor/plugins/withEmbeds.js +1 -1
  100. package/dist/Editor/plugins/withHTML.js +3 -56
  101. package/dist/Editor/plugins/withTable.js +1 -1
  102. package/dist/Editor/service/fileupload.js +0 -70
  103. package/dist/Editor/theme/ThemeList.js +173 -50
  104. package/dist/Editor/utils/SlateUtilityFunctions.js +40 -165
  105. package/dist/Editor/utils/accordion.js +1 -1
  106. package/dist/Editor/utils/button.js +17 -1
  107. package/dist/Editor/utils/font.js +37 -40
  108. package/dist/Editor/utils/formfield.js +2 -2
  109. package/dist/Editor/utils/helper.js +3 -101
  110. package/dist/Editor/utils/insertAppHeader.js +4 -8
  111. package/package.json +1 -1
  112. package/dist/Editor/Elements/Attachments/AttachmentStyles.js +0 -16
  113. package/dist/Editor/Elements/FreeGrid/helper.js +0 -194
  114. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -439
  115. package/dist/Editor/assets/svg/BackIcon.js +0 -18
  116. package/dist/Editor/assets/svg/ThemeIcons.js +0 -293
  117. package/dist/Editor/common/CustomColorPicker/index.js +0 -130
  118. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  119. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  120. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  121. package/dist/Editor/common/CustomSelect.js +0 -43
  122. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  123. package/dist/Editor/common/UploaderWithProgress.js +0 -183
  124. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  125. package/dist/Editor/hooks/useThemeValues.js +0 -63
  126. package/dist/Editor/theme/index.js +0 -149
  127. package/dist/Editor/themeSettings/ActiveTheme.js +0 -82
  128. package/dist/Editor/themeSettings/buttons/index.js +0 -300
  129. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  130. package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
  131. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  132. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  133. package/dist/Editor/themeSettings/fonts/index.js +0 -240
  134. package/dist/Editor/themeSettings/fonts/style.js +0 -62
  135. package/dist/Editor/themeSettings/icons.js +0 -60
  136. package/dist/Editor/themeSettings/index.js +0 -380
  137. package/dist/Editor/themeSettings/style.js +0 -299
  138. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  139. package/dist/Editor/themeSettingsAI/index.js +0 -355
  140. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -202
  141. package/dist/Editor/themeSettingsAI/style.js +0 -332
@@ -1,141 +1,33 @@
1
- import React, { useEffect, useRef, useState } from "react";
2
- import Box from '@mui/material/Box';
3
- import Card from '@mui/material/Card';
4
- import CardMedia from '@mui/material/CardMedia';
5
- import CardContent from '@mui/material/CardContent';
6
- import Typography from '@mui/material/Typography';
7
- import CircularProgress from '@mui/material/CircularProgress';
8
- import IconButton from '@mui/material/IconButton';
1
+ import React from "react";
2
+ import { Box, Card, CardMedia, CardContent, Typography } from "@mui/material";
9
3
  import PictureAsPdfIcon from "@mui/icons-material/PictureAsPdf";
10
4
  import TextSnippetIcon from "@mui/icons-material/TextSnippet";
11
- import HighlightOffRoundedIcon from "@mui/icons-material/HighlightOffRounded";
12
- import { Transforms } from "slate";
13
- import { ReactEditor, useSlateStatic } from "slate-react";
14
5
  import { formatDate } from "../../utils/helper";
15
6
  import Icon from "../../common/Icon";
16
7
  import { getEmbedURL } from "../../helper";
17
8
  import Video from "../Embed/Video";
18
- import { formatFileSize } from "../../service/fileupload";
19
- import { useEditorContext } from "../../hooks/useMouseMove";
20
- import useAttachmentStyle from "./AttachmentStyles";
21
9
  import { jsx as _jsx } from "react/jsx-runtime";
22
- import { Fragment as _Fragment } from "react/jsx-runtime";
23
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
11
  const Attachments = props => {
25
12
  const {
26
13
  attributes,
27
14
  element,
28
- children,
29
- customProps
15
+ children
30
16
  } = props;
31
17
  const {
32
18
  url,
33
19
  type,
34
- date,
35
- fileName,
36
- isUploading,
37
- file,
38
- fileSize,
39
- uniqueId
20
+ date
40
21
  } = element;
41
- const {
42
- resumeUploadState,
43
- services,
44
- uploadFile,
45
- uploadTerminator
46
- } = customProps || {};
47
22
  const {
48
23
  isEmbed
49
24
  } = getEmbedURL(element, true);
50
25
  const getLastName = url?.split("/").pop();
51
- const fileName2 = `${decodeURIComponent(getLastName)}`;
52
- const editor = useSlateStatic();
53
- const {
54
- theme
55
- } = useEditorContext();
56
- const classes = useAttachmentStyle(theme);
57
- const path = ReactEditor.findPath(editor, element);
58
- const [redirectURL, setRedirectURL] = useState(isUploading ? null : url);
59
- const [uploadStatus, setUploadStatus] = useState({
60
- isUploading: !!isUploading,
61
- uploadPercentage: 0,
62
- fileName: fileName || fileName2,
63
- fileSize: fileSize
64
- });
65
- const xhrRef = useRef(null);
66
- const cancelUpload = () => {
67
- Transforms.removeNodes(editor, {
68
- at: path
69
- });
70
- uploadTerminator(uniqueId, setUploadStatus);
71
- };
72
- const onSave = url => {
73
- setRedirectURL(url);
74
- Transforms.setNodes(editor, {
75
- url: url,
76
- isUploading: false
77
- }, {
78
- at: path
79
- });
80
- setUploadStatus({
81
- isUploading: false,
82
- uploadPercentage: 0,
83
- fileName: null,
84
- fileSize: null
85
- });
86
- };
87
- const handleFileUpload = async () => {
88
- if (!file) return;
89
- try {
90
- const id = !uniqueId ? crypto?.randomUUID() : uniqueId;
91
- const result = await services("uploadFile", file);
92
- const uploadUrl = result?.data?.[0];
93
- const fileEntry = {
94
- file: file,
95
- xhrRef,
96
- presidnedURL: uploadUrl,
97
- status: "uploading"
98
- };
99
- uploadFile(id, fileEntry, setUploadStatus, onSave, "document");
100
- Transforms.setNodes(editor, {
101
- uniqueId: id,
102
- isUploading: true
103
- }, {
104
- at: path
105
- });
106
- } catch (error) {
107
- console.error("Upload failed:", error);
108
- setUploadStatus(prev => ({
109
- ...prev,
110
- isUploading: false,
111
- uploadPercentage: 0
112
- }));
113
- }
114
- };
115
- const noUploadTracks = () => {
116
- setUploadStatus({
117
- isUploading: false,
118
- uploadPercentage: 0,
119
- fileName: null,
120
- fileSize: null
121
- });
122
- setRedirectURL(null);
123
- Transforms.removeNodes(editor, {
124
- at: path
125
- });
126
- };
127
- useEffect(() => {
128
- if (uniqueId && isUploading) {
129
- resumeUploadState(uniqueId, setUploadStatus, onSave, noUploadTracks, "document");
130
- } else if (file && isUploading) {
131
- handleFileUpload();
132
- }
133
- }, []);
26
+ const fileName = `${decodeURIComponent(getLastName)}`;
134
27
  return !isEmbed ? /*#__PURE__*/_jsxs(Box, {
135
28
  component: "div",
136
29
  className: "attachment-wrpr-ev2",
137
30
  ...attributes,
138
- sx: classes?.attachmentRoot,
139
31
  contentEditable: false,
140
32
  style: {
141
33
  display: "block"
@@ -149,8 +41,7 @@ const Attachments = props => {
149
41
  padding: "8px",
150
42
  boxShadow: "none",
151
43
  border: "1px solid #eae9e9",
152
- backgroundColor: "#F7F7F7",
153
- position: "relative"
44
+ backgroundColor: "#F7F7F7"
154
45
  },
155
46
  children: [/*#__PURE__*/_jsx(CardMedia, {
156
47
  sx: {
@@ -176,7 +67,7 @@ const Attachments = props => {
176
67
  })
177
68
  }), /*#__PURE__*/_jsxs(CardContent, {
178
69
  component: "a",
179
- href: redirectURL,
70
+ href: url,
180
71
  target: "_blank",
181
72
  style: {
182
73
  display: "flex",
@@ -185,9 +76,7 @@ const Attachments = props => {
185
76
  padding: "8px",
186
77
  textDecoration: "none",
187
78
  flexDirection: "column",
188
- color: "#0F172A",
189
- flexGrow: uploadStatus?.isUploading && 1,
190
- width: "80%"
79
+ color: "#0F172A"
191
80
  },
192
81
  children: [/*#__PURE__*/_jsx(Typography, {
193
82
  style: {
@@ -196,48 +85,16 @@ const Attachments = props => {
196
85
  fontSize: "14px"
197
86
  },
198
87
  component: "div",
199
- className: "truncateText",
200
- children: fileName2 || fileName
201
- }), /*#__PURE__*/_jsxs(Typography, {
88
+ children: fileName
89
+ }), /*#__PURE__*/_jsx(Typography, {
202
90
  style: {
203
91
  fontWeight: "normal",
204
92
  color: "#64748b",
205
93
  fontSize: "11px"
206
94
  },
207
95
  component: "div",
208
- className: "uploadinDetails",
209
- children: [uploadStatus?.isUploading && /*#__PURE__*/_jsxs(_Fragment, {
210
- children: [/*#__PURE__*/_jsx(Typography, {
211
- sx: {
212
- fontSize: 12,
213
- color: "#64748b"
214
- },
215
- children: `${formatFileSize(fileSize)}`
216
- }), /*#__PURE__*/_jsx(CircularProgress, {
217
- variant: "determinate",
218
- value: uploadStatus?.uploadPercentage ?? 0,
219
- size: 20,
220
- thickness: 5
221
- }), /*#__PURE__*/_jsx(Typography, {
222
- sx: {
223
- fontSize: 12,
224
- color: "#64748b"
225
- },
226
- children: `${uploadStatus?.uploadPercentage?.toFixed(0) ?? 0}%`
227
- })]
228
- }), !uploadStatus?.isUploading && formatDate(date)]
96
+ children: formatDate(date)
229
97
  })]
230
- }), uploadStatus?.isUploading && /*#__PURE__*/_jsx(IconButton, {
231
- onClick: cancelUpload,
232
- sx: {
233
- position: "absolute",
234
- right: 4,
235
- top: 4
236
- },
237
- "aria-label": "Cancel upload",
238
- size: "small",
239
- className: "cancelBtn",
240
- children: /*#__PURE__*/_jsx(HighlightOffRoundedIcon, {})
241
98
  })]
242
99
  }), /*#__PURE__*/_jsx("span", {
243
100
  contentEditable: false,
@@ -4,7 +4,6 @@ import ToolbarIcon from "../../common/ToolbarIcon";
4
4
  import Icon from "../../common/Icon";
5
5
  import ImageSelector from "../../common/ImageSelector/ImageSelector";
6
6
  import { insertAttachments } from "../../utils/attachments";
7
- import { insertUploadStatusNodeForAttachment } from "../../service/fileupload";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  import { Fragment as _Fragment } from "react/jsx-runtime";
10
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -22,13 +21,9 @@ const AttachmentsButton = props => {
22
21
  SetOpen(true);
23
22
  };
24
23
  const onSelectImage = url => {
25
- if (!url?.isUpload && url?.embedURL) {
26
- insertAttachments(editor, {
27
- url: url?.embedURL
28
- });
29
- } else {
30
- insertUploadStatusNodeForAttachment(editor, url?.file);
31
- }
24
+ insertAttachments(editor, {
25
+ url
26
+ });
32
27
  handleClose();
33
28
  };
34
29
  const handleClose = () => {
@@ -9,8 +9,6 @@ import { WorkflowIcon } from "../../common/iconslist";
9
9
  import { getTRBLBreakPoints, getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
10
10
  import { handleLinkType, windowVar } from "../../utils/helper";
11
11
  import LinkSettings from "../../common/LinkSettings";
12
- import { useEditorTheme } from "../../hooks/useEditorTheme";
13
- import { getTheme } from "../../theme";
14
12
  import Icon from "../../common/Icon";
15
13
  import { useEditorContext } from "../../hooks/useMouseMove";
16
14
  import useCommonStyle from "../../commonStyle";
@@ -37,17 +35,16 @@ const EditorButton = props => {
37
35
  } = customProps;
38
36
  const editor = useSlateStatic();
39
37
  const path = ReactEditor.findPath(editor, element);
38
+
39
+ // Helper function to detect if a color value is a gradient
40
+ const isGradientColor = color => {
41
+ return color && typeof color === "string" && color.includes("gradient");
42
+ };
40
43
  const [edit, setEdit] = useState(false);
41
44
  const [openNav, setOpenNav] = useState(false);
42
45
  const [openMoreOptions, setOpenMoreOptions] = useState(false);
43
46
  const [, setIconLoaded] = useState(false);
44
47
  const classes = useCommonStyle(appTheme);
45
- const {
46
- theme: selectedTheme
47
- } = useEditorTheme();
48
- const {
49
- buttonTheme
50
- } = getTheme(selectedTheme);
51
48
  const {
52
49
  label,
53
50
  bgColor,
@@ -61,8 +58,8 @@ const EditorButton = props => {
61
58
  fontFamily,
62
59
  textColorHover,
63
60
  bgColorHover,
64
- // buttonIcon,
65
61
  borderColorHover,
62
+ buttonIcon,
66
63
  iconPosition = "start",
67
64
  borderStyle,
68
65
  borderWidth,
@@ -83,8 +80,10 @@ const EditorButton = props => {
83
80
  };
84
81
  const isTrigger = linkType === "nextTrigger" || linkType === "prevTrigger";
85
82
  const refURl = isTrigger ? buttonLink?.url : url;
86
- const buttonIcon = element?.buttonIcon || buttonTheme?.buttonIcon;
87
83
  const BtnIcon = buttonIcon ? buttonIcon : null;
84
+
85
+ // Check if borderColor is a gradient
86
+ const isBorderGradient = isGradientColor(borderColor);
88
87
  windowVar.lastButtonProps = element;
89
88
  const handleTrigger = async () => {
90
89
  if (!readOnly) {
@@ -210,6 +209,32 @@ const EditorButton = props => {
210
209
  ...getTRBLBreakPoints(bannerSpacing)
211
210
  }
212
211
  }, theme);
212
+ const btnSp2 = groupByBreakpoint({
213
+ borderRadius: {
214
+ ...getBreakPointsValue(borderRadius || {}, null, "overrideBorderRadius", true)
215
+ }
216
+ }, theme);
217
+ const buttonBoxSx = {
218
+ position: "relative",
219
+ display: "inline-block",
220
+ ...btnSp2,
221
+ ...(isBorderGradient ? {
222
+ padding: borderWidth !== undefined ? borderWidth : borderColor ? "1px" : "0px",
223
+ background: borderColor,
224
+ backgroundClip: "padding-box, border-box",
225
+ boxSizing: "border-box",
226
+ "&:hover": {
227
+ background: borderColorHover || borderColor
228
+ }
229
+ } : {
230
+ borderWidth: borderWidth !== undefined ? borderWidth : borderColor ? "1px" : "0px",
231
+ borderStyle: borderStyle || "solid",
232
+ borderColor: borderColor || "transparent",
233
+ "&:hover": {
234
+ borderColor: borderColorHover || borderColor || "transparent"
235
+ }
236
+ })
237
+ };
213
238
  const pSp = groupByBreakpoint({
214
239
  display: {
215
240
  xs: xsHidden ? "none" : "inline-block",
@@ -268,20 +293,19 @@ const EditorButton = props => {
268
293
  },
269
294
  position: "relative"
270
295
  },
271
- children: /*#__PURE__*/_jsxs("span", {
272
- style: {
273
- position: "relative",
274
- display: "inline-block"
275
- },
296
+ children: /*#__PURE__*/_jsxs(Box, {
297
+ component: "span",
298
+ sx: buttonBoxSx,
276
299
  children: [/*#__PURE__*/_jsxs(Box, {
277
- className: `btn textAlign-${tAlign} button theme-element`,
278
300
  ref: buttonRef,
301
+ className: `btn textAlign-${tAlign}`,
279
302
  sx: {
280
303
  textDecoration: "none",
281
- borderBlockStyle: "solid",
282
- borderWidth: borderWidth !== undefined ? borderWidth : borderColor || borderColorHover ? "1px" : "0px",
304
+ background: bgColor || "rgb(30, 75, 122)",
283
305
  ...btnSp,
284
- borderStyle: borderStyle || "solid",
306
+ color: `${textColor || "#FFFFFF"}`,
307
+ fontSize: textSize || "inherit",
308
+ fontFamily: fontFamily || "PoppinsRegular",
285
309
  display: "inline-flex",
286
310
  alignItems: "center",
287
311
  position: "relative",
@@ -292,27 +316,15 @@ const EditorButton = props => {
292
316
  "&:hover": {
293
317
  color: `${textColorHover || textColor || "#FFFFFF"}`,
294
318
  background: bgColorHover || bgColor || "rgb(30, 75, 122)",
295
- borderColor: borderColorHover || borderColor || "transparent",
296
319
  "& .element-toolbar": {
297
320
  display: "flex"
298
321
  }
299
- },
300
- color: textColor ? `${textColor} !important` : "#FFFFFF",
301
- fontSize: textSize ? `${textSize}px !important` : "inherit",
302
- fontFamily: fontFamily ? `${fontFamily} !important` : "PoppinsRegular",
303
- background: `${bgColor} !important`,
304
- borderColor: `${borderColor} !important`,
305
- borderRadius: {
306
- ...getBreakPointsValue(borderRadius || buttonTheme?.borderRadius || {}, null, "overrideBorderRadius", true)
307
- },
308
- padding: {
309
- ...getTRBLBreakPoints(bannerSpacing || buttonTheme?.bannerSpacing || {})
310
322
  }
311
323
  },
312
324
  ...buttonProps,
313
325
  children: [BtnIcon && iconPosition === "start" && /*#__PURE__*/_jsx(MUIIcon, {
314
326
  ...muiIconProps
315
- }), label || translation("My Button"), BtnIcon && iconPosition === "end" && /*#__PURE__*/_jsx(MUIIcon, {
327
+ }), label || translation("My Button 12"), BtnIcon && iconPosition === "end" && /*#__PURE__*/_jsx(MUIIcon, {
316
328
  ...muiIconProps
317
329
  })]
318
330
  }), !readOnly && buttonRef?.current && /*#__PURE__*/_jsx(Popper, {
@@ -1,15 +1,11 @@
1
1
  import React, { useState } from "react";
2
- import { Box, IconButton, Popover, Typography, useTheme } from "@mui/material";
2
+ import { Box, IconButton, Popover } from "@mui/material";
3
3
  import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
4
4
  import Button from "../../common/Button";
5
5
  import { colors } from "./defaultColors";
6
6
  import ColorPicker from "./colorPicker.svg";
7
- import { useSlateStatic } from "slate-react";
8
- import { Transforms } from "slate";
9
- import { useEditorContext } from "../../hooks/useMouseMove";
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) {
@@ -36,8 +32,8 @@ const SingleColorButton = ({
36
32
  width: "100%",
37
33
  display: "flex",
38
34
  alignItems: "center",
39
- padding: padding || "8px 0px"
40
- // justifyContent: "center",
35
+ padding: padding || "8px 0px",
36
+ justifyContent: "center"
41
37
  },
42
38
  children: [crs.map(m => /*#__PURE__*/_jsx(Button, {
43
39
  onClick: handleSelect(m),
@@ -114,18 +110,12 @@ const ColorButtons = props => {
114
110
  openColorTool,
115
111
  onClose,
116
112
  onColorPickerClick,
117
- disableEditTheme,
118
113
  defaultColors = []
119
114
  } = props;
120
115
  const [row1, ...restRows] = ColorChunks([]);
121
116
  const [anchorEl, setAnchorEl] = useState(null);
122
117
  const open = Boolean(anchorEl);
123
118
  const firstRow = defaultColors?.length ? defaultColors : row1;
124
- const theme = useTheme();
125
- const editor = useSlateStatic();
126
- const {
127
- setOpenTheme
128
- } = useEditorContext();
129
119
  const handleMore = e => {
130
120
  setAnchorEl(e.currentTarget);
131
121
  };
@@ -138,7 +128,6 @@ const ColorButtons = props => {
138
128
  const handleSelect = color => () => {
139
129
  onSelect(color);
140
130
  };
141
- const colorVars = theme?.vars?.colors || {};
142
131
  return /*#__PURE__*/_jsxs(Box, {
143
132
  component: "span",
144
133
  sx: classes.colorButtons,
@@ -155,7 +144,7 @@ const ColorButtons = props => {
155
144
  activeColor: activeColor
156
145
  }, `si_btn_row1_${m}_${i}`);
157
146
  })
158
- }), /*#__PURE__*/_jsx(Popover, {
147
+ }), /*#__PURE__*/_jsxs(Popover, {
159
148
  open: open || openColorTool,
160
149
  anchorEl: anchorEl || openColorTool,
161
150
  onClose: handleClose,
@@ -169,40 +158,9 @@ const ColorButtons = props => {
169
158
  },
170
159
  sx: classes.colorPopper,
171
160
  className: "colorPopper",
172
- children: /*#__PURE__*/_jsxs(Box, {
161
+ children: [/*#__PURE__*/_jsx(Box, {
173
162
  sx: classes.colorButtonsInner,
174
- children: [Object.values(colorVars)?.length ? /*#__PURE__*/_jsxs(_Fragment, {
175
- children: [/*#__PURE__*/_jsxs(Box, {
176
- component: "div",
177
- className: "singleColorTitleWrapper",
178
- children: [/*#__PURE__*/_jsx(Typography, {
179
- variant: "subtitle2",
180
- children: "Theme colours"
181
- }), disableEditTheme ? null : /*#__PURE__*/_jsx("div", {
182
- className: "editBtn",
183
- onClick: () => {
184
- Transforms.deselect(editor, {
185
- at: editor.selection
186
- });
187
- handleClose();
188
- setOpenTheme("editThemeColor");
189
- },
190
- children: "Edit"
191
- })]
192
- }), /*#__PURE__*/_jsx(SingleColorButton, {
193
- crs: Object.values(colorVars),
194
- handleSelect: handleSelect,
195
- classes: classes,
196
- activeColor: activeColor
197
- })]
198
- }) : null, /*#__PURE__*/_jsx(Box, {
199
- component: "div",
200
- className: "singleColorTitleWrapper",
201
- children: /*#__PURE__*/_jsx(Typography, {
202
- variant: "subtitle2",
203
- children: "Custom colour"
204
- })
205
- }), restRows.map((m, i) => {
163
+ children: restRows.map((m, i) => {
206
164
  return /*#__PURE__*/_jsx(SingleColorButton, {
207
165
  id: `p2_${id}`,
208
166
  crs: m,
@@ -211,19 +169,14 @@ const ColorButtons = props => {
211
169
  classes: classes,
212
170
  activeColor: activeColor
213
171
  }, `si_btn_${m}_${i}`);
214
- }), forMiniTool ? /*#__PURE__*/_jsx(IconButton, {
215
- onClick: onColorPickerClick,
216
- style: {
217
- alignSelf: "start",
218
- margin: "6px",
219
- padding: "0px"
220
- },
221
- children: /*#__PURE__*/_jsx("img", {
222
- src: ColorPicker,
223
- alt: "color wheel"
224
- })
225
- }) : null]
226
- })
172
+ })
173
+ }), forMiniTool ? /*#__PURE__*/_jsx(IconButton, {
174
+ onClick: onColorPickerClick,
175
+ children: /*#__PURE__*/_jsx("img", {
176
+ src: ColorPicker,
177
+ alt: "color wheel"
178
+ })
179
+ }) : null]
227
180
  })]
228
181
  });
229
182
  };
@@ -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,14 +1,13 @@
1
1
  import React, { useState } from "react";
2
2
  import { ReactEditor } from "slate-react";
3
- import { IconButton, Tooltip, Box, Popover, useTheme } from "@mui/material";
3
+ import ColorPickerTool from "react-gcolor-picker";
4
+ import { IconButton, Tooltip, Box, Popover } from "@mui/material";
4
5
  import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions";
5
6
  import ColorButtons from "./ColorButtons";
6
7
  import ColorPickerStyles from "./Styles";
7
8
  import colorWheel from "./colorWheel.png";
8
9
  import "./ColorPicker.css";
9
10
  import { useEditorContext } from "../../hooks/useMouseMove";
10
- import CustomColorPicker from "../../common/CustomColorPicker";
11
- import { getSelectedElementColor } from "../../utils/helper";
12
11
  import { jsx as _jsx } from "react/jsx-runtime";
13
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
14
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -26,8 +25,7 @@ const ColorPicker = props => {
26
25
  classes,
27
26
  forMiniTool,
28
27
  openColorTool,
29
- closeColorTool,
30
- type
28
+ closeColorTool
31
29
  } = props;
32
30
  const {
33
31
  theme
@@ -36,7 +34,6 @@ const ColorPicker = props => {
36
34
  const [anchorEl, setAnchorEl] = useState(null);
37
35
  const open = Boolean(anchorEl);
38
36
  const pickerStyles = ColorPickerStyles(theme);
39
- const muiTheme = useTheme();
40
37
  const onOpen = e => {
41
38
  e.preventDefault();
42
39
  setAnchorEl(e.currentTarget);
@@ -61,7 +58,7 @@ const ColorPicker = props => {
61
58
  setAnchorEl(null);
62
59
  setSelection(null);
63
60
  };
64
- const activeColor = type === "textColor" ? getSelectedElementColor(editor, format, muiTheme) : activeMark(editor, format) || DEFAULT_COLOR[format];
61
+ const activeColor = activeMark(editor, format) || DEFAULT_COLOR[format];
65
62
  return /*#__PURE__*/_jsxs(_Fragment, {
66
63
  children: [forMiniTool ? null : /*#__PURE__*/_jsx(Tooltip, {
67
64
  title: title,
@@ -99,10 +96,10 @@ const ColorPicker = props => {
99
96
  horizontal: "top"
100
97
  },
101
98
  sx: classes.colorPickerPopup,
102
- children: /*#__PURE__*/_jsx(CustomColorPicker, {
99
+ children: /*#__PURE__*/_jsx(ColorPickerTool, {
103
100
  gradient: true,
104
- onChange: handleFormSubmit,
105
- color: activeColor
101
+ value: activeColor,
102
+ onChange: handleFormSubmit
106
103
  })
107
104
  })]
108
105
  });
@@ -20,26 +20,24 @@ const ColorPickerStyles = theme => ({
20
20
  background: `${theme?.palette?.editor?.miniToolBarBackground}`,
21
21
  border: `1px solid ${theme?.palette?.editor?.miniToolBarBorder} !important`,
22
22
  borderRadius: "7px !important",
23
- padding: "0px 10px",
24
- "@media only screen and (max-width: 600px)": {
23
+ padding: "0px 5px",
24
+ '@media only screen and (max-width: 600px)': {
25
25
  marginTop: "-40px"
26
26
  }
27
27
  }
28
28
  },
29
29
  colorButtonSingle: {
30
- border: "1.5px solid #DCE4EC !important",
31
30
  "&.active": {
32
- // "&:before": {
33
- // content: '" "',
34
- // position: "absolute",
35
- // top: "-4px",
36
- // left: "-4px",
37
- // width: "calc(100% + 8px)",
38
- // height: "calc(100% + 8px)",
39
- // border: "2px solid #2563EB",
40
- // borderRadius: "50%",
41
- // },
42
- outline: "2px solid #2563EB"
31
+ "&:before": {
32
+ content: '" "',
33
+ position: "absolute",
34
+ top: "-4px",
35
+ left: "-4px",
36
+ width: "calc(100% + 8px)",
37
+ height: "calc(100% + 8px)",
38
+ border: "2px solid #2563EB",
39
+ borderRadius: "50%"
40
+ }
43
41
  }
44
42
  },
45
43
  colorButtonsInner: {
@@ -61,7 +59,7 @@ const ColorPickerStyles = theme => ({
61
59
  width: "24px",
62
60
  height: "24px",
63
61
  margin: "0px 4px",
64
- border: "1.5px solid #DCE4EC"
62
+ border: "unset"
65
63
  }
66
64
  },
67
65
  colorPickerIcon: {