@flozy/editor 10.9.3 → 10.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/Editor/ChatEditor.js +16 -17
  2. package/dist/Editor/CommonEditor.js +27 -138
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +11 -39
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +3 -11
  6. package/dist/Editor/Elements/AI/Styles.js +0 -1
  7. package/dist/Editor/Elements/Accordion/Accordion.js +22 -28
  8. package/dist/Editor/Elements/Accordion/AccordionButton.js +3 -12
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  10. package/dist/Editor/Elements/Attachments/Attachments.js +11 -153
  11. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +3 -8
  12. package/dist/Editor/Elements/Button/EditorButton.js +7 -23
  13. package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -61
  14. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  15. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
  16. package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +454 -0
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +55 -134
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +8 -7
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +3 -8
  21. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
  22. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
  23. package/dist/Editor/Elements/Embed/Embed.js +43 -36
  24. package/dist/Editor/Elements/Embed/Image.js +23 -236
  25. package/dist/Editor/Elements/Embed/Video.js +15 -246
  26. package/dist/Editor/Elements/Form/FormField.js +1 -1
  27. package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
  28. package/dist/Editor/Elements/Form/Workflow/constant.js +1 -25
  29. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +33 -39
  30. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -7
  31. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +0 -1
  32. package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
  33. package/dist/Editor/Elements/FreeGrid/styles.js +0 -15
  34. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  35. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -2
  36. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  37. package/dist/Editor/Elements/Table/Table.js +3 -3
  38. package/dist/Editor/Elements/Table/TableCell.js +3 -10
  39. package/dist/Editor/Elements/Title/title.js +11 -10
  40. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -4
  41. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +3 -5
  42. package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
  43. package/dist/Editor/MiniEditor.js +1 -2
  44. package/dist/Editor/Styles/EditorStyles.js +8 -20
  45. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  46. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  47. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  48. package/dist/Editor/Toolbar/FormatTools/TextSize.js +29 -33
  49. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -2
  50. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +2 -4
  51. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +23 -25
  52. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +7 -25
  53. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
  54. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +8 -24
  55. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
  56. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +10 -70
  57. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +14 -73
  58. package/dist/Editor/Toolbar/PopupTool/index.js +4 -7
  59. package/dist/Editor/Toolbar/toolbarGroups.js +10 -56
  60. package/dist/Editor/common/ColorPickerButton.js +16 -38
  61. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  62. package/dist/Editor/common/FontLoader/FontLoader.js +0 -4
  63. package/dist/Editor/common/Icon.js +0 -28
  64. package/dist/Editor/common/ImageSelector/ImageSelector.js +7 -45
  65. package/dist/Editor/common/ImageSelector/Options/Upload.js +11 -26
  66. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  67. package/dist/Editor/common/LinkSettings/NavComponents.js +2 -6
  68. package/dist/Editor/common/MentionsPopup/index.js +1 -9
  69. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  70. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  71. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  72. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  73. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  74. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -4
  75. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +7 -20
  76. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  77. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +1 -9
  78. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +7 -20
  79. package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
  80. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -11
  81. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  82. package/dist/Editor/common/RnD/Utils/gridDropItem.js +18 -28
  83. package/dist/Editor/common/RnD/Utils/index.js +1 -3
  84. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +58 -45
  85. package/dist/Editor/common/RnD/VirtualElement/helper.js +130 -320
  86. package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -22
  87. package/dist/Editor/common/RnD/index.js +13 -48
  88. package/dist/Editor/common/Shorthands/elements.js +4 -62
  89. package/dist/Editor/common/StyleBuilder/buttonStyle.js +2 -4
  90. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -4
  91. package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -1
  92. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +2 -15
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  94. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  95. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +8 -16
  96. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -36
  97. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +7 -16
  98. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
  99. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +0 -2
  100. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +1 -0
  101. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  102. package/dist/Editor/common/StyleBuilder/formStyle.js +13 -19
  103. package/dist/Editor/common/StyleBuilder/index.js +4 -8
  104. package/dist/Editor/common/Uploader.js +17 -125
  105. package/dist/Editor/common/iconslist.js +0 -21
  106. package/dist/Editor/commonStyle.js +45 -64
  107. package/dist/Editor/helper/index.js +2 -10
  108. package/dist/Editor/helper/theme.js +2 -203
  109. package/dist/Editor/hooks/useMouseMove.js +3 -9
  110. package/dist/Editor/plugins/withEmbeds.js +1 -12
  111. package/dist/Editor/plugins/withHTML.js +3 -58
  112. package/dist/Editor/plugins/withTable.js +1 -1
  113. package/dist/Editor/service/fileupload.js +0 -70
  114. package/dist/Editor/theme/ThemeList.js +173 -50
  115. package/dist/Editor/utils/SlateUtilityFunctions.js +40 -189
  116. package/dist/Editor/utils/accordion.js +40 -68
  117. package/dist/Editor/utils/button.js +17 -1
  118. package/dist/Editor/utils/draftToSlate.js +2 -3
  119. package/dist/Editor/utils/events.js +89 -94
  120. package/dist/Editor/utils/font.js +37 -40
  121. package/dist/Editor/utils/formfield.js +2 -2
  122. package/dist/Editor/utils/helper.js +22 -98
  123. package/dist/Editor/utils/insertAppHeader.js +4 -8
  124. package/package.json +4 -4
  125. package/dist/Editor/Elements/Attachments/AttachmentStyles.js +0 -16
  126. package/dist/Editor/Elements/FreeGrid/helper.js +0 -115
  127. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -439
  128. package/dist/Editor/assets/svg/BackIcon.js +0 -18
  129. package/dist/Editor/assets/svg/ThemeIcons.js +0 -293
  130. package/dist/Editor/common/CustomColorPicker/index.js +0 -130
  131. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  132. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  133. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  134. package/dist/Editor/common/CustomSelect.js +0 -43
  135. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  136. package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +0 -115
  137. package/dist/Editor/common/UploaderWithProgress.js +0 -183
  138. package/dist/Editor/helper/textIndeces.js +0 -58
  139. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  140. package/dist/Editor/hooks/useThemeValues.js +0 -63
  141. package/dist/Editor/theme/index.js +0 -149
  142. package/dist/Editor/themeSettings/ActiveTheme.js +0 -82
  143. package/dist/Editor/themeSettings/buttons/index.js +0 -300
  144. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  145. package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
  146. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  147. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  148. package/dist/Editor/themeSettings/fonts/index.js +0 -240
  149. package/dist/Editor/themeSettings/fonts/style.js +0 -62
  150. package/dist/Editor/themeSettings/icons.js +0 -60
  151. package/dist/Editor/themeSettings/index.js +0 -380
  152. package/dist/Editor/themeSettings/style.js +0 -299
  153. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  154. package/dist/Editor/themeSettingsAI/index.js +0 -355
  155. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -202
  156. package/dist/Editor/themeSettingsAI/style.js +0 -332
@@ -1,13 +1,9 @@
1
- import React, { useRef, useState } from "react";
2
- import Grid from "@mui/material/Grid";
3
- import Button from "@mui/material/Button";
4
- import Typography from "@mui/material/Typography";
5
- import Box from "@mui/material/Box";
6
- import CircularProgress from "@mui/material/CircularProgress";
1
+ import React, { useState } from "react";
2
+ import { Grid, Button, Typography } from "@mui/material";
7
3
  import { convertBase64 } from "../utils/helper";
4
+ import { uploadFile } from "../service/fileupload";
8
5
  import Icon from "./Icon";
9
6
  import UploadStyles from "../common/ImageSelector/UploadStyles";
10
- import { allowedTypes, extensionMap } from "../Elements/Form/Workflow/constant";
11
7
  import { jsx as _jsx } from "react/jsx-runtime";
12
8
  import { Fragment as _Fragment } from "react/jsx-runtime";
13
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -16,94 +12,35 @@ const Uploader = props => {
16
12
  value,
17
13
  onUploaded,
18
14
  customProps,
19
- title,
20
- setS3UploadProp,
21
- setUniqueId,
22
- uniqueId
15
+ title
23
16
  } = props;
24
17
  const classes = UploadStyles();
25
18
  const [base64, setBase64] = useState(value?.url);
26
19
  const [fileName, setFileName] = useState("");
27
- const allowedFormat = {
28
- Document: ".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.rtf",
29
- Image: "image/*",
30
- Video: "video/*",
31
- Embed: "*"
32
- };
33
- const {
34
- uploadFile,
35
- services,
36
- uploadTerminator
37
- } = customProps;
38
- const [uploadStatus, setUploadStatus] = useState({
39
- isUploading: false,
40
- uploadPercentage: 0
41
- });
42
- const [error, setError] = useState(null);
43
- const xhrRef = useRef(null);
20
+ const [uploading, setUploading] = useState(false);
44
21
  const handleChange = async e => {
45
- setError("");
46
22
  const uFile = e.target.files[0];
47
- if (!uFile) return;
48
- const maxAllowedSize = 5 * 1024 * 1024;
49
-
50
- // ✅ Check file size
51
- if (uFile.size > maxAllowedSize) {
52
- const sizeInMB = Math.round(maxAllowedSize / (1024 * 1024));
53
- setError(`File size exceeds ${sizeInMB}MB for ${uFile.name.toLowerCase()}.`);
54
- return;
55
- }
56
-
57
- // ✅ File type check with fallback to extension
58
- const validTypes = allowedTypes["Image"];
59
- const fileType = uFile.type;
60
- const fileName = uFile.name.toLowerCase();
61
- const fileExtension = fileName.split(".").pop();
62
- const isValid = title === "Embed" || validTypes.includes(fileType) || extensionMap["Image"]?.includes(fileExtension);
63
- if (!isValid) {
64
- setError(`Invalid file format. Please upload a valid ${title.toLowerCase()}.`);
65
- return;
66
- }
67
- try {
68
- const strImage = await convertBase64(uFile);
69
- setBase64(strImage);
70
- setFileName(uFile?.name);
71
- doUpload(strImage, e.target.files[0]);
72
- } catch (error) {
73
- setError("Failed to read file.");
74
- }
75
- };
76
- const onSave = url => {
77
- if (!uploadStatus?.isUploading) {
78
- setS3UploadProp({
79
- file: true
80
- });
81
- }
82
- onUploaded(url);
23
+ const strImage = await convertBase64(uFile);
24
+ setBase64(strImage);
25
+ setFileName(uFile?.name);
26
+ doUpload(strImage, e.target.files[0]);
83
27
  };
84
28
  const doUpload = async (strImage, file) => {
29
+ setUploading(true);
85
30
  const formData = new FormData();
86
31
  formData.set("file", file);
87
32
  formData.set("resource_type", "pages");
88
33
  formData.set("resource_id", customProps?.page_id);
89
- const id = crypto?.randomUUID();
90
- setUniqueId(id);
91
- const result = await services("uploadFile", file);
92
- if (result?.data?.[0]) {
93
- const fileEntry = {
94
- file: file,
95
- xhrRef,
96
- presidnedURL: result.data?.[0],
97
- status: "uploading"
98
- };
99
- uploadFile(id, fileEntry, setUploadStatus, onSave, "image");
34
+ const result = await uploadFile(formData, customProps);
35
+ setUploading(false);
36
+ if (result && result?.imageURL) {
37
+ onUploaded(result?.imageURL[0]);
100
38
  }
101
39
  };
102
40
  const {
103
41
  translation
104
42
  } = customProps;
105
43
  const onRemoveBG = () => {
106
- uploadTerminator(uniqueId, setUploadStatus);
107
44
  setBase64(null);
108
45
  onUploaded("none");
109
46
  };
@@ -122,7 +59,6 @@ const Uploader = props => {
122
59
  const renderThumb = () => {
123
60
  switch (title) {
124
61
  case "Document":
125
- case "Video":
126
62
  return /*#__PURE__*/_jsxs(_Fragment, {
127
63
  children: [/*#__PURE__*/_jsx(Typography, {
128
64
  style: {
@@ -146,54 +82,11 @@ const Uploader = props => {
146
82
  });
147
83
  }
148
84
  };
149
- const UploadingProgress = () => {
150
- return /*#__PURE__*/_jsx(Grid, {
151
- container: true,
152
- direction: "row",
153
- justifyContent: "space-between",
154
- alignItems: "center",
155
- children: /*#__PURE__*/_jsx(Box, {
156
- display: "flex",
157
- flexDirection: "column",
158
- alignItems: "flex-start",
159
- justifyContent: "space-between",
160
- sx: {
161
- gap: 1,
162
- mb: 1,
163
- mt: 1
164
- },
165
- children: /*#__PURE__*/_jsxs(Box, {
166
- display: "flex",
167
- alignItems: "center",
168
- gap: 1,
169
- children: [/*#__PURE__*/_jsx(Typography, {
170
- variant: "body",
171
- children: `Uploading ${uploadStatus?.fileSize}`
172
- }), /*#__PURE__*/_jsx(CircularProgress, {
173
- variant: "determinate",
174
- value: uploadStatus?.uploadPercentage ?? 0,
175
- className: "circularProgress-cls",
176
- size: 15,
177
- thickness: 8
178
- }), /*#__PURE__*/_jsx(Typography, {
179
- variant: "body",
180
- children: `${uploadStatus?.uploadPercentage?.toFixed(0) ?? 0}%`
181
- })]
182
- })
183
- })
184
- });
185
- };
186
85
  return /*#__PURE__*/_jsxs(_Fragment, {
187
- children: [/*#__PURE__*/_jsxs(Grid, {
86
+ children: [/*#__PURE__*/_jsx(Grid, {
188
87
  item: true,
189
88
  xs: 12,
190
- children: [!error && uploadStatus?.isUploading ? /*#__PURE__*/_jsx(UploadingProgress, {}) : "", error && /*#__PURE__*/_jsx(Typography, {
191
- style: {
192
- color: "red",
193
- marginBottom: "8px"
194
- },
195
- children: error
196
- })]
89
+ children: uploading ? translation("uploadingText") : ""
197
90
  }), /*#__PURE__*/_jsx(Grid, {
198
91
  container: true,
199
92
  sx: classes.uploadContainer,
@@ -205,7 +98,7 @@ const Uploader = props => {
205
98
  ...getBackground()
206
99
  },
207
100
  sx: classes.uploadField,
208
- children: !uploadStatus?.isUploading ? /*#__PURE__*/_jsx(Grid, {
101
+ children: !uploading ? /*#__PURE__*/_jsx(Grid, {
209
102
  className: "uploadImageSection",
210
103
  children: base64 ? renderThumb() : /*#__PURE__*/_jsx(Grid, {
211
104
  className: "uploadImageText",
@@ -219,7 +112,6 @@ const Uploader = props => {
219
112
  sx: classes.uploadIcon,
220
113
  children: [/*#__PURE__*/_jsx("input", {
221
114
  type: "file",
222
- accept: allowedFormat["Image"],
223
115
  style: {
224
116
  opacity: 0,
225
117
  width: "0px"
@@ -1677,27 +1677,6 @@ export const CloseIcon = props => /*#__PURE__*/_jsxs("svg", {
1677
1677
  strokeLinejoin: "round"
1678
1678
  })]
1679
1679
  });
1680
- export const CloseIcon2 = props => /*#__PURE__*/_jsxs("svg", {
1681
- width: "10",
1682
- height: "10",
1683
- viewBox: "0 0 10 10",
1684
- fill: "none",
1685
- xmlns: "http://www.w3.org/2000/svg",
1686
- ...(props || {}),
1687
- children: [/*#__PURE__*/_jsx("path", {
1688
- d: "M9.12476 0.875L0.875176 9.12458",
1689
- stroke: "#8F9CAE",
1690
- strokeWidth: "1.5",
1691
- strokeLinecap: "round",
1692
- strokeLinejoin: "round"
1693
- }), /*#__PURE__*/_jsx("path", {
1694
- d: "M0.875183 0.875L9.12476 9.12458",
1695
- stroke: "#8F9CAE",
1696
- strokeWidth: "1.5",
1697
- strokeLinecap: "round",
1698
- strokeLinejoin: "round"
1699
- })]
1700
- });
1701
1680
  export const SearchIcon = () => /*#__PURE__*/_jsxs("svg", {
1702
1681
  width: "18",
1703
1682
  height: "18",
@@ -49,22 +49,25 @@ const useCommonStyle = theme => ({
49
49
  fontWeight: "500",
50
50
  fontFamily: "Inter, sans-serif"
51
51
  },
52
+ "& p": {
53
+ marginBottom: "7px",
54
+ marginTop: "4px"
55
+ },
52
56
  "& .MuiPaper-root": {
53
- border: `unset !important`,
57
+ border: "unset !important",
54
58
  borderRadius: "0px",
55
59
  height: "fit-content",
56
60
  padding: "2px"
57
61
  },
58
- "& p": {
59
- marginBottom: "7px",
60
- marginTop: "4px"
61
- },
62
62
  "& .muiIconsListParent": {
63
63
  "& svg": {
64
64
  color: `${theme?.palette?.editor?.svgTextAlignStrokeColor} !important`
65
65
  },
66
66
  "&::-webkit-scrollbar-thumb": {
67
67
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
68
+ },
69
+ "&::-webkit-scrollbar-track": {
70
+ visibility: "hidden"
68
71
  }
69
72
  },
70
73
  "& .MuiGrid-root>.MuiGrid-item": {
@@ -208,16 +211,16 @@ const useCommonStyle = theme => ({
208
211
  backgroundColor: theme?.palette?.editor?.miniToolBarBackground
209
212
  },
210
213
  "& .popup_tabs": {
211
- backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
214
+ backgroundColor: theme?.palette?.editor?.background,
212
215
  "@media only screen and (max-width: 899px)": {
213
216
  width: "100% !important"
214
217
  }
215
218
  },
216
219
  "& .popup_tabs-header": {
217
- backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
220
+ backgroundColor: theme?.palette?.editor?.background,
218
221
  "& .popup_tabs-header-label-active": {
219
222
  color: theme?.palette?.editor?.activeColor,
220
- backgroundColor: theme?.palette?.editor?.miniToolBarBackground
223
+ backgroundColor: theme?.palette?.editor?.background
221
224
  }
222
225
  },
223
226
  "& .colorpicker": {
@@ -246,40 +249,6 @@ const useCommonStyle = theme => ({
246
249
  backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
247
250
  color: theme?.palette?.editor?.textColor
248
251
  }
249
- },
250
- "& .colorPickerActionBtns": {
251
- backgroundColor: theme?.palette?.editor?.miniToolBarBackground,
252
- display: "flex",
253
- justifyContent: "end",
254
- padding: "10px",
255
- position: "sticky",
256
- bottom: 0,
257
- right: 0,
258
- boxShadow: `0px -3px 12px 0px ${theme?.palette?.editor?.cardShadow}`,
259
- gap: "8px",
260
- "& button": {
261
- fontWeight: 600,
262
- fontSize: "14px",
263
- opacity: 1,
264
- borderRadius: "8px",
265
- textTransform: "math-auto",
266
- padding: "4px 20px",
267
- height: "fit-content",
268
- minWidth: "90px",
269
- "@media only screen and (max-width: 899px)": {
270
- width: "50%"
271
- },
272
- "&.confirmBtn": {
273
- backgroundColor: "#2563EB",
274
- color: "#ffffff",
275
- border: `1px solid #2563EB`
276
- },
277
- "&.cancelBtn": {
278
- backgroundColor: theme?.palette?.editor?.closeButtonBackground,
279
- color: theme?.palette?.editor?.customDialogueCloseBtnColor,
280
- border: `1px solid ${theme?.palette?.editor?.customDialogueCloseBtnBorder}`
281
- }
282
- }
283
252
  }
284
253
  },
285
254
  colorPickerBtnBorder: {
@@ -559,6 +528,33 @@ const useCommonStyle = theme => ({
559
528
  }
560
529
  }
561
530
  },
531
+ pageSettingPopUpRoot: {
532
+ padding: "16px 8px 16px 10px!important",
533
+ height: "100%",
534
+ "& .text-field-wrapper": {
535
+ "& input:-webkit-autofill": {
536
+ WebkitBackgroundClip: "text !important",
537
+ WebkitBoxShadow: "0 0 0 1000px transparent inset !important",
538
+ WebkitTextFillColor: `${theme?.palette?.editor?.deletePopUpButtonTextColor} !important`,
539
+ transition: "background-color 600000s 0s, color 600000s 0s !important"
540
+ },
541
+ "& .MuiFilledInput-root": {
542
+ backgroundColor: "rgba(255, 255, 255, 0.5)",
543
+ "&:hover": {
544
+ backgroundColor: "rgba(255, 255, 255, 0.7)"
545
+ },
546
+ "&.Mui-focused": {
547
+ backgroundColor: "rgba(255, 255, 255, 0.9)"
548
+ }
549
+ }
550
+ }
551
+ },
552
+ buttonMoreIcon: {
553
+ position: "absolute",
554
+ top: "50%",
555
+ right: -40,
556
+ transform: "translateY(-50%)"
557
+ },
562
558
  buttonMoreOption: {
563
559
  background: `${theme?.palette?.editor?.aiInputBackground} !important`,
564
560
  border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
@@ -571,28 +567,6 @@ const useCommonStyle = theme => ({
571
567
  }
572
568
  }
573
569
  },
574
- pageSettingPopUpRoot: {
575
- padding: "16px 8px 16px 10px!important",
576
- height: "100%"
577
- },
578
- buttonMoreIcon: {
579
- position: "absolute",
580
- top: "50%",
581
- right: -40,
582
- transform: "translateY(-50%)"
583
- },
584
- // buttonMoreOption: {
585
- // background: `${theme?.palette?.editor?.aiInputBackground} !important`,
586
- // border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
587
- // padding: "4px !important",
588
- // "& svg": {
589
- // width: "18px !important",
590
- // height: "18px !important",
591
- // "& path": {
592
- // stroke: `${theme?.palette?.editor?.closeButtonSvgStroke} !important`,
593
- // },
594
- // },
595
- // },
596
570
  buttonMoreOption2: {
597
571
  background: `${theme?.palette?.editor?.aiInputBackground} !important`,
598
572
  border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`,
@@ -719,6 +693,13 @@ const useCommonStyle = theme => ({
719
693
  stroke: theme?.palette?.editor?.closeButtonSvgStroke
720
694
  }
721
695
  }
696
+ },
697
+ "& .element-toolbar": {
698
+ "& button": {
699
+ borderRadius: "50%",
700
+ background: theme?.palette?.editor?.signatureFontBtnBg,
701
+ border: `1px solid ${theme?.palette?.editor?.buttonBorder1} !important`
702
+ }
722
703
  }
723
704
  }
724
705
  });
@@ -7,14 +7,14 @@ import { Node } from "slate";
7
7
  const HIDE_PLACHOLDERS = ["grid", "grid-item", "table"];
8
8
  const TEXT_NODES = ["paragraph", "headingOne", "headingTwo", "headingThree"];
9
9
  const PREVIEW_IMAGE_HIDE_CLASS = ["grid-container-toolbar", "grid-item-toolbar", "element-toolbar", "mini-tool-wrpr-ei", "element-selector", "element-selector-ctrl"];
10
- export const RND_ITEMS = ["freegridItem", "freegridBox"];
10
+ const RND_ITEMS = ["freegridItem", "freegridBox"];
11
11
  export const getThumbnailImage = async (dom, options = {}) => {
12
12
  try {
13
13
  const canvas = await html2canvas(dom, {
14
14
  windowWidth: 1440,
15
15
  windowHeight: 768,
16
16
  ...options,
17
- backgroundColor: 'white',
17
+ backgroundColor: null,
18
18
  allowTaint: true,
19
19
  useCORS: false,
20
20
  scale: 0.5,
@@ -23,11 +23,6 @@ export const getThumbnailImage = async (dom, options = {}) => {
23
23
  // hide class
24
24
  const sw = document.getElementById("slate-wrapper-scroll-container");
25
25
  sw.style.minHeight = "2000px";
26
- if (options?.fromBrains) {
27
- const textbox = document.querySelector(".innert-editor-textbox");
28
- textbox.style.padding = "24px";
29
- textbox.style.background = options?.pageColor || '#fffff';
30
- }
31
26
  const svgFrames = document.querySelectorAll(".image-frame svg");
32
27
  for (let i = 0; i < svgFrames.length; i++) {
33
28
  svgFrames[i].style.width = "100%";
@@ -104,9 +99,6 @@ function padZero(str, len) {
104
99
  return (zeros + str).slice(-len);
105
100
  }
106
101
  export function getEmbedURL(element, needType = false) {
107
- if (typeof element?.href !== "string" && typeof element?.url !== "string") {
108
- return null;
109
- }
110
102
  let refUrl = element.href ? element.href : element.url;
111
103
  refUrl = refUrl ? refUrl.includes("http") ? refUrl : `//${refUrl}` : "Link";
112
104
  let embedUrl = refUrl;
@@ -1,6 +1,4 @@
1
- import { ReactEditor } from "slate-react";
2
1
  import { sizeMap } from "../utils/font";
3
- import { Editor, Node } from "slate";
4
2
  export const breakpoints = {
5
3
  small: 0,
6
4
  mobile: 600,
@@ -35,7 +33,7 @@ const overrideValues = (value, ot) => {
35
33
  return Object.keys(value).reduce((a, b) => {
36
34
  return {
37
35
  ...a,
38
- [b]: overrides[ot] ? overrides[ot](value[b], value) : value
36
+ [b]: overrides[ot] ? overrides[ot](value[b]) : value
39
37
  };
40
38
  }, {});
41
39
  };
@@ -52,15 +50,7 @@ const overrides = {
52
50
  overrideReSizeH: val => {
53
51
  return val ? `${val?.height}px` : "auto";
54
52
  },
55
- overrideBorderRadius: (val, breakpointValues) => {
56
- if (!val?.topLeft) {
57
- Object.values(breakpointValues || {}).forEach(v => {
58
- if (v) {
59
- // Applying the values from breakpoints that exist to those that do not have
60
- val = v;
61
- }
62
- });
63
- }
53
+ overrideBorderRadius: val => {
64
54
  return `${val?.topLeft}px ${val?.topRight}px ${val?.bottomLeft}px ${val?.bottomRight}px`;
65
55
  }
66
56
  };
@@ -128,197 +118,6 @@ export const getTRBLBreakPoints = (value, breakpoint) => {
128
118
  console.log(err);
129
119
  }
130
120
  };
131
- export function getElementStyle(editor, element, stylePropertyName) {
132
- try {
133
- const path = ReactEditor.findPath(editor, element);
134
- if (path?.length) {
135
- const currentEle = Node.get(editor, path);
136
- const dom = ReactEditor.toDOMNode(editor, currentEle);
137
- const editorBtn = dom?.querySelector(".button.theme-element");
138
- return getElementProperty(editorBtn, stylePropertyName);
139
- }
140
- } catch (err) {
141
- // console.log(err);
142
- }
143
- }
144
- export function getTextSizeVal(editor) {
145
- try {
146
- const currentNode = Node.get(editor, editor.selection.anchor.path);
147
- const currentElement = ReactEditor.toDOMNode(editor, currentNode);
148
- if (currentElement) {
149
- const element = currentElement.querySelector('span[data-slate-string="true"]');
150
- const fontSize = getElementProperty(element, "font-size");
151
- return fontSize || 16;
152
- }
153
- } catch (err) {
154
- // console.log(err);
155
- }
156
- }
157
- export function getVariableValue(val) {
158
- const bodyElement = document.body;
159
- const computedStyle = getComputedStyle(bodyElement);
160
- const [, variableName] = val?.match(/var\((--[^)]+)\)/) || [];
161
- const varValue = computedStyle.getPropertyValue(variableName).trim();
162
- return varValue;
163
- }
164
- const MAP_PROPERTY_KEYS = {
165
- fontFamily: "font-family",
166
- fontSize: "font-size",
167
- textSize: "font-size",
168
- fontWeight: "font-weight",
169
- color: "color",
170
- bgColor: "background-color"
171
- };
172
- export function getElementProperty(element, styleProperty) {
173
- if (!element) {
174
- return "";
175
- }
176
- const computedStyle = window.getComputedStyle(element);
177
- const property = MAP_PROPERTY_KEYS[styleProperty] || styleProperty;
178
- let style = computedStyle.getPropertyValue(property);
179
- if (property === "font-family") {
180
- style = style.replace(/"/g, ""); // remove double quotes if exists e.g: '"Courier New"'
181
- }
182
-
183
- return style || "";
184
- }
185
- export const textThemeFields = ["fontFamily", "fontSize", "color", "bold", "italic", "fontWeight"
186
- // "underline",
187
- // "strikethrough",
188
- ];
189
-
190
- const themeElements = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
191
- export const isTextCustomized = editor => {
192
- try {
193
- if (editor.selection) {
194
- const currentElement = Node.parent(editor, editor?.selection?.anchor?.path);
195
- if (!currentElement) {
196
- return false;
197
- }
198
- const {
199
- children,
200
- type
201
- } = currentElement;
202
- if (!themeElements.includes(type)) {
203
- return false;
204
- }
205
- if (!children?.length) {
206
- return true;
207
- }
208
- const customized = textThemeFields.some(field => {
209
- const element = children.find(child => child.text.trim() !== "") || {};
210
- const value = element[field];
211
- if (field === "fontSize") {
212
- return Object.keys(value || {}).length;
213
- } else {
214
- return value;
215
- }
216
- });
217
- return customized;
218
- } else {
219
- return null;
220
- }
221
- } catch (err) {
222
- return null;
223
- }
224
- };
225
- const addToTheme = (field, value, element) => {
226
- switch (field) {
227
- case "fontFamily":
228
- return {
229
- fontFamily: value
230
- };
231
- case "fontSize":
232
- return {
233
- fontSize: value?.lg
234
- };
235
- case "color":
236
- return {
237
- color: value
238
- };
239
- case "bold":
240
- return {
241
- fontWeight: "bold"
242
- };
243
- case "italic":
244
- return {
245
- fontStyle: "italic"
246
- };
247
- // case "underline":
248
- // case "strikethrough":
249
- // let textDecoration = "";
250
-
251
- // if (element.underline) {
252
- // textDecoration = "underline";
253
- // }
254
-
255
- // if (element.strikethrough) {
256
- // textDecoration += " strikethrough";
257
- // }
258
-
259
- // return { textDecoration };
260
- default:
261
- return {};
262
- }
263
- };
264
- const MAP_TEXT_THEME_FIELD = {
265
- headingOne: "h1",
266
- headingTwo: "h2",
267
- headingThree: "h3",
268
- headingFour: "h4",
269
- headingFive: "h5",
270
- headingSix: "h6",
271
- paragraphOne: "para1",
272
- paragraphTwo: "para2",
273
- paragraphThree: "para3"
274
- };
275
- export const saveToTheme = editor => {
276
- try {
277
- if (editor.selection) {
278
- const currentElement = Node.parent(editor, editor?.selection?.anchor?.path);
279
- if (!currentElement) {
280
- return false;
281
- }
282
- const {
283
- children
284
- } = currentElement;
285
- if (!children?.length) {
286
- return true;
287
- }
288
- let theme = {};
289
- textThemeFields.forEach(field => {
290
- const element = children.find(child => child.text.trim() !== "") || {};
291
- const value = element[field];
292
- let style = {};
293
- let isValueExist = false;
294
- if (value) {
295
- isValueExist = true;
296
- if (field === "fontSize") {
297
- isValueExist = !!Object.keys(value).length;
298
- }
299
- }
300
- if (isValueExist) {
301
- style = addToTheme(field, value, element);
302
- }
303
- theme = {
304
- ...theme,
305
- ...style
306
- };
307
- });
308
- textThemeFields.forEach(field => {
309
- Editor.removeMark(editor, field);
310
- });
311
- return {
312
- field: MAP_TEXT_THEME_FIELD[currentElement?.type],
313
- theme
314
- };
315
- }
316
- } catch (err) {
317
- return;
318
- }
319
- };
320
- export const HEADING_THEME_FIELDS = ["h1", "h2", "h3", "h4", "h5", "h6"];
321
- export const PARAGRAPH_THEME_FIELDS = ["para1", "para2", "para3"];
322
121
  export const getBRValue = (props, rbr = "lg") => {
323
122
  const {
324
123
  value,
@@ -21,10 +21,7 @@ export const useEditorSelection = editor => {
21
21
  export const EditorProvider = ({
22
22
  editor,
23
23
  theme,
24
- children,
25
- openTheme = false,
26
- setOpenTheme = () => {},
27
- triggerRender
24
+ children
28
25
  }) => {
29
26
  const [previous, setPrevious] = useState("");
30
27
  const [drop, setDrop] = useState(0);
@@ -101,11 +98,8 @@ export const EditorProvider = ({
101
98
  setOpenAI,
102
99
  updateDragging,
103
100
  fontFamilies,
104
- setFontFamilies,
105
- openTheme,
106
- setOpenTheme,
107
- triggerRender
108
- }), [path, editor?.selection, selectedPath, selectedElement, contextMenu, openAI, popupType, drop, openTheme]);
101
+ setFontFamilies
102
+ }), [path, editor?.selection, selectedPath, selectedElement, contextMenu, openAI, popupType, drop]);
109
103
  return /*#__PURE__*/_jsx(EditorContext.Provider, {
110
104
  value: otherValues,
111
105
  children: children