@flozy/editor 10.9.6 → 10.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/Editor/ChatEditor.js +17 -16
  2. package/dist/Editor/CommonEditor.js +138 -27
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +39 -11
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
  6. package/dist/Editor/Elements/AI/Styles.js +1 -0
  7. package/dist/Editor/Elements/Accordion/Accordion.js +28 -22
  8. package/dist/Editor/Elements/Accordion/AccordionButton.js +12 -3
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  10. package/dist/Editor/Elements/Attachments/AttachmentStyles.js +16 -0
  11. package/dist/Editor/Elements/Attachments/Attachments.js +153 -11
  12. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +8 -3
  13. package/dist/Editor/Elements/Button/EditorButton.js +23 -7
  14. package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
  15. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  16. package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
  17. package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
  18. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +134 -55
  19. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +7 -8
  20. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +8 -3
  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.css +5 -0
  24. package/dist/Editor/Elements/Embed/Embed.js +36 -43
  25. package/dist/Editor/Elements/Embed/Image.js +236 -23
  26. package/dist/Editor/Elements/Embed/Video.js +246 -15
  27. package/dist/Editor/Elements/Form/FormField.js +1 -1
  28. package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
  29. package/dist/Editor/Elements/Form/Workflow/constant.js +25 -1
  30. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +39 -33
  31. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +7 -4
  32. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -0
  33. package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
  34. package/dist/Editor/Elements/FreeGrid/helper.js +115 -0
  35. package/dist/Editor/Elements/FreeGrid/styles.js +15 -0
  36. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  37. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +2 -1
  38. package/dist/Editor/Elements/SimpleText/index.js +4 -1
  39. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  40. package/dist/Editor/Elements/Table/Table.js +5 -4
  41. package/dist/Editor/Elements/Table/TableCell.js +10 -3
  42. package/dist/Editor/Elements/Title/title.js +10 -11
  43. package/dist/Editor/Elements/TopBanner/TopBanner.js +4 -2
  44. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +5 -3
  45. package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
  46. package/dist/Editor/MiniEditor.js +2 -1
  47. package/dist/Editor/Styles/EditorStyles.js +20 -8
  48. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  49. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  50. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  51. package/dist/Editor/Toolbar/FormatTools/TextSize.js +33 -29
  52. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
  53. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +4 -2
  54. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +25 -23
  55. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +25 -7
  56. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
  57. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +24 -8
  58. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
  59. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +70 -10
  60. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +73 -14
  61. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
  62. package/dist/Editor/Toolbar/PopupTool/index.js +7 -4
  63. package/dist/Editor/Toolbar/toolbarGroups.js +56 -10
  64. package/dist/Editor/assets/svg/BackIcon.js +18 -0
  65. package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
  66. package/dist/Editor/common/ColorPickerButton.js +38 -16
  67. package/dist/Editor/common/CustomColorPicker/index.js +130 -0
  68. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  69. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  70. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  71. package/dist/Editor/common/CustomSelect.js +43 -0
  72. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  73. package/dist/Editor/common/FontLoader/FontLoader.js +4 -0
  74. package/dist/Editor/common/Icon.js +28 -0
  75. package/dist/Editor/common/ImageSelector/ImageSelector.js +45 -7
  76. package/dist/Editor/common/ImageSelector/Options/Upload.js +26 -11
  77. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  78. package/dist/Editor/common/LinkSettings/NavComponents.js +6 -2
  79. package/dist/Editor/common/MentionsPopup/index.js +9 -1
  80. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  81. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  82. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  83. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  84. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  85. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
  86. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +20 -7
  87. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  88. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +9 -1
  89. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +20 -7
  90. package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
  91. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -2
  92. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  93. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  94. package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -18
  95. package/dist/Editor/common/RnD/Utils/index.js +3 -1
  96. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +45 -58
  97. package/dist/Editor/common/RnD/VirtualElement/helper.js +320 -130
  98. package/dist/Editor/common/RnD/VirtualElement/styles.js +22 -0
  99. package/dist/Editor/common/RnD/index.js +48 -13
  100. package/dist/Editor/common/Shorthands/elements.js +62 -4
  101. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  102. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
  103. package/dist/Editor/common/StyleBuilder/fieldStyle.js +1 -0
  104. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +15 -2
  105. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  106. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  107. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +16 -8
  108. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
  109. package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +115 -0
  110. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +16 -7
  111. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  112. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +2 -0
  113. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +0 -1
  114. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  115. package/dist/Editor/common/StyleBuilder/formStyle.js +19 -13
  116. package/dist/Editor/common/StyleBuilder/index.js +8 -4
  117. package/dist/Editor/common/Uploader.js +125 -17
  118. package/dist/Editor/common/UploaderWithProgress.js +183 -0
  119. package/dist/Editor/common/iconslist.js +21 -0
  120. package/dist/Editor/commonStyle.js +64 -45
  121. package/dist/Editor/helper/index.js +10 -2
  122. package/dist/Editor/helper/textIndeces.js +58 -0
  123. package/dist/Editor/helper/theme.js +203 -2
  124. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  125. package/dist/Editor/hooks/useMouseMove.js +9 -3
  126. package/dist/Editor/hooks/useTable.js +62 -1
  127. package/dist/Editor/hooks/useThemeValues.js +63 -0
  128. package/dist/Editor/plugins/withEmbeds.js +12 -1
  129. package/dist/Editor/plugins/withHTML.js +58 -3
  130. package/dist/Editor/plugins/withTable.js +1 -1
  131. package/dist/Editor/service/fileupload.js +70 -0
  132. package/dist/Editor/theme/ThemeList.js +50 -173
  133. package/dist/Editor/theme/index.js +149 -0
  134. package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
  135. package/dist/Editor/themeSettings/buttons/index.js +300 -0
  136. package/dist/Editor/themeSettings/buttons/style.js +23 -0
  137. package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
  138. package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
  139. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  140. package/dist/Editor/themeSettings/fonts/index.js +240 -0
  141. package/dist/Editor/themeSettings/fonts/style.js +62 -0
  142. package/dist/Editor/themeSettings/icons.js +60 -0
  143. package/dist/Editor/themeSettings/index.js +380 -0
  144. package/dist/Editor/themeSettings/style.js +299 -0
  145. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  146. package/dist/Editor/themeSettingsAI/index.js +355 -0
  147. package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
  148. package/dist/Editor/themeSettingsAI/style.js +332 -0
  149. package/dist/Editor/utils/SlateUtilityFunctions.js +189 -40
  150. package/dist/Editor/utils/accordion.js +68 -40
  151. package/dist/Editor/utils/button.js +1 -17
  152. package/dist/Editor/utils/draftToSlate.js +3 -2
  153. package/dist/Editor/utils/events.js +94 -89
  154. package/dist/Editor/utils/font.js +40 -37
  155. package/dist/Editor/utils/formfield.js +2 -2
  156. package/dist/Editor/utils/helper.js +98 -22
  157. package/dist/Editor/utils/insertAppHeader.js +8 -4
  158. package/package.json +4 -4
  159. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -454
@@ -28,8 +28,9 @@ export const TopBannerToolbar = props => {
28
28
  }
29
29
  };
30
30
  const onSelectImage = img => {
31
+ const embedURL = typeof img === "string" ? img : img?.embedURL ? img?.embedURL : null;
31
32
  updateTopBanner(editor, {
32
- url: img
33
+ url: embedURL
33
34
  });
34
35
  handleClose();
35
36
  };
@@ -56,7 +57,8 @@ export const TopBannerToolbar = props => {
56
57
  open: open,
57
58
  onClose: handleClose,
58
59
  customProps: customProps,
59
- onSelectImage: onSelectImage
60
+ onSelectImage: onSelectImage,
61
+ disableProgress: true
60
62
  })]
61
63
  });
62
64
  };
@@ -17,9 +17,10 @@ const TopBannerButton = props => {
17
17
  translation
18
18
  } = customProps;
19
19
  const onSelectImage = url => {
20
- if (url) {
20
+ const embedURL = typeof url === "string" ? url : url?.embedURL ? url?.embedURL : null;
21
+ if (embedURL) {
21
22
  insertTopBanner(editor, {
22
- url
23
+ url: embedURL
23
24
  });
24
25
  }
25
26
  setOpen(false);
@@ -42,7 +43,8 @@ const TopBannerButton = props => {
42
43
  open: open,
43
44
  onClose: handleClose,
44
45
  customProps: customProps,
45
- onSelectImage: onSelectImage
46
+ onSelectImage: onSelectImage,
47
+ disableProgress: true
46
48
  })]
47
49
  });
48
50
  };
@@ -34,7 +34,8 @@ const VariableButton = props => {
34
34
  PaperProps: {
35
35
  style: {
36
36
  maxHeight: 300,
37
- overflowY: "auto"
37
+ overflowY: "auto",
38
+ transformOrigin: 'top left'
38
39
  },
39
40
  sx: {
40
41
  "&::-webkit-scrollbar-track": {
@@ -44,6 +45,14 @@ const VariableButton = props => {
44
45
  borderRadius: "16px"
45
46
  }
46
47
  }
48
+ },
49
+ anchorOrigin: {
50
+ vertical: 'bottom',
51
+ horizontal: 'right'
52
+ },
53
+ transformOrigin: {
54
+ vertical: 'top',
55
+ horizontal: 'right'
47
56
  }
48
57
  },
49
58
  children: [/*#__PURE__*/_jsx(MenuItem, {
@@ -45,12 +45,13 @@ const MiniEditor = props => {
45
45
  const {
46
46
  translationMock
47
47
  } = otherProps;
48
+ const dummyTranslation = () => {};
48
49
  const customProps = {
49
50
  ...(otherProps || {}),
50
51
  readOnly: isReadOnly,
51
52
  editorPlaceholder: miniEditorPlaceholder,
52
53
  page_id: id,
53
- translation: translation || translationMock
54
+ translation: translation || translationMock || dummyTranslation
54
55
  };
55
56
  const [mentions, setMentions] = useMentions({
56
57
  editor,
@@ -14,9 +14,6 @@ const editorStyles = ({
14
14
  "*": {
15
15
  boxSizing: "border-box"
16
16
  },
17
- "& .blockQuoteComp": {
18
- backgroundColor: `${theme?.palette?.editor?.colorBoxBg} !important`
19
- },
20
17
  "&.iframe-editor": {
21
18
  "& .mini-tool-wrpr-ei": {
22
19
  display: "none"
@@ -136,7 +133,11 @@ const editorStyles = ({
136
133
  },
137
134
  "& .accordion-summary-collapse-btn": {
138
135
  padding: "4px",
139
- width: '5px'
136
+ width: "5px",
137
+ "& svg:hover": {
138
+ background: theme?.palette?.editor?.tv_hover_bg,
139
+ borderRadius: "4px"
140
+ }
140
141
  },
141
142
  "& .workflow-icon-btn": {
142
143
  pointerEvents: "none",
@@ -218,6 +219,17 @@ const editorStyles = ({
218
219
  borderRadius: "12px",
219
220
  "& svg": {
220
221
  marginRight: "8px"
222
+ },
223
+ "& .circularProgress-cls": {
224
+ "& svg": {
225
+ width: "15px !important",
226
+ height: "15px !important"
227
+ }
228
+ },
229
+ "& .uploadCancel": {
230
+ color: theme?.palette?.editor?.closeButtonSvgStroke,
231
+ width: "25px !important",
232
+ height: "25px !important"
221
233
  }
222
234
  },
223
235
  "& .content-editable.empty": {
@@ -245,7 +257,7 @@ const editorStyles = ({
245
257
  }
246
258
  },
247
259
  "& .section-tw": {
248
- background: 'transparent !important',
260
+ background: "transparent !important",
249
261
  "& button": {
250
262
  padding: "2px",
251
263
  borderRadius: "0px",
@@ -294,8 +306,8 @@ const editorStyles = ({
294
306
  }
295
307
  },
296
308
  "& ::selection": {
297
- background: 'rgba(35, 131, 226, 0.35)!important',
298
- color: 'inherit'
309
+ // background: 'rgba(35, 131, 226, 0.35)!important',
310
+ color: "inherit"
299
311
  },
300
312
  "&.readOnlyContainer": {
301
313
  "& .max-content": {
@@ -305,7 +317,7 @@ const editorStyles = ({
305
317
  },
306
318
  fullScreenWrapper: {
307
319
  "& .editor-wrapper": {
308
- paddingTop: '20px'
320
+ paddingTop: "20px"
309
321
  },
310
322
  "& .MuiDialog-paper, & .MuiPopover-paper": {
311
323
  background: `${theme?.palette?.editor?.background} !important`
@@ -1,8 +1,32 @@
1
1
  import React from "react";
2
2
  import { Select, MenuItem } from "@mui/material";
3
- import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
3
+ import { addMarkData, activeMark, getSelectedElementStyle } from "../../utils/SlateUtilityFunctions.js";
4
+ import { toolbarGroups } from "../toolbarGroups.js";
4
5
  import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
6
+ import { googleFontList as defaultFonts } from "../../common/FontLoader/FontList.js";
5
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ const allTools = toolbarGroups.flat();
9
+ const fontWeight = allTools.find(f => f.format === "fontWeight");
10
+ export const getValue = (editor, format) => {
11
+ switch (format) {
12
+ case "fontFamily":
13
+ {
14
+ const style = getSelectedElementStyle("font-family", editor, format);
15
+ return style || defaultFonts[0];
16
+ }
17
+ case "fontWeight":
18
+ {
19
+ const {
20
+ options
21
+ } = fontWeight || {};
22
+ const fontWeightStyle = getSelectedElementStyle("font-weight", editor, format);
23
+ const selected = options?.find(o => o.value === fontWeightStyle || o.numVal === fontWeightStyle);
24
+ return selected?.value;
25
+ }
26
+ default:
27
+ return activeMark(editor, format);
28
+ }
29
+ };
6
30
  const Dropdown = ({
7
31
  classes,
8
32
  editor,
@@ -10,7 +34,7 @@ const Dropdown = ({
10
34
  options,
11
35
  width
12
36
  }) => {
13
- const value = activeMark(editor, format);
37
+ const value = activeMark(editor, format, true) || getValue(editor, format);
14
38
  const changeMarkData = (event, format) => {
15
39
  event.preventDefault();
16
40
  const value = event.target.value;
@@ -20,7 +44,7 @@ const Dropdown = ({
20
44
  });
21
45
  };
22
46
  return /*#__PURE__*/_jsx(Select, {
23
- value: value,
47
+ value: value || options?.[0]?.value,
24
48
  className: "editor-dd",
25
49
  onChange: e => changeMarkData(e, format),
26
50
  MenuProps: {
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
  import { Autocomplete, TextField } from "@mui/material";
3
- import { activeMark, addMarkData } from "../../utils/SlateUtilityFunctions.js";
3
+ import { addMarkData } from "../../utils/SlateUtilityFunctions.js";
4
4
  import usePopupStyle from "../PopupTool/PopupToolStyle.js";
5
5
  import { useEditorContext } from "../../hooks/useMouseMove.js";
6
- import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownRounded';
6
+ import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
7
+ import { getValue } from "./Dropdown.js";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  const FontFamilyAutocomplete = ({
9
10
  editor,
@@ -14,7 +15,7 @@ const FontFamilyAutocomplete = ({
14
15
  val = "",
15
16
  webFont = false
16
17
  }) => {
17
- const markValue = activeMark(editor, format);
18
+ const markValue = getValue(editor, format);
18
19
  const value = !webFont ? markValue : val;
19
20
  const changeMarkData = (event, newValue, format) => {
20
21
  if (!webFont) {
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import Icon from "../../common/Icon";
3
3
  import Button from "../../common/Button";
4
- import { toggleMark, isMarkActive } from "../../utils/SlateUtilityFunctions.js";
4
+ import { toggleMark, isMarkBtnActive } from "../../utils/SlateUtilityFunctions.js";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const MarkButton = ({
7
7
  editor,
@@ -13,7 +13,7 @@ const MarkButton = ({
13
13
  translation
14
14
  } = customProps;
15
15
  return /*#__PURE__*/_jsx(Button, {
16
- active: isMarkActive(editor, format),
16
+ active: isMarkBtnActive(editor, format),
17
17
  format: format,
18
18
  onMouseDown: e => {
19
19
  e.preventDefault();
@@ -1,27 +1,36 @@
1
1
  import React, { useEffect, useRef, useState } from "react";
2
2
  import { TextField, IconButton } from "@mui/material";
3
- import { addMarkData, activeMark, isBlockActive } from "../../utils/SlateUtilityFunctions.js";
4
- import { headingMap, sizeMap } from "../../utils/font.js";
5
- import { getBreakPointsValue } from "../../helper/theme.js";
3
+ import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions.js";
4
+ import { getBreakPointsValue, getTextSizeVal } from "../../helper/theme.js";
6
5
  import useWindowResize from "../../hooks/useWindowResize.js";
7
6
  import { BREAKPOINTS_DEVICES } from "../../helper/theme.js";
8
7
  import { TextSizeDownArrow, TextSizeUpArrow } from "../../common/iconListV2.js";
9
8
  import { jsx as _jsx } from "react/jsx-runtime";
10
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
10
  import { Fragment as _Fragment } from "react/jsx-runtime";
12
- const TextSize = ({
13
- classes,
14
- editor,
15
- format,
16
- fullWidth
17
- }) => {
18
- const [size] = useWindowResize();
19
- const val = activeMark(editor, format);
20
- const value = getBreakPointsValue(val, size?.device);
11
+ const TextSize = props => {
12
+ const {
13
+ classes,
14
+ editor,
15
+ format,
16
+ fullWidth,
17
+ fromMiniTextFormat,
18
+ setResizedSize,
19
+ resizedSize
20
+ } = props;
21
21
  const [fontSize, setFontSize] = useState();
22
+ const sizeValue = fromMiniTextFormat ? resizedSize : fontSize;
23
+ const setSizeValue = fromMiniTextFormat ? setResizedSize : setFontSize;
22
24
  const timerRef = useRef();
25
+ const [size] = useWindowResize();
26
+ const val = activeMark(editor, format);
27
+
28
+ // const noFontSize =
29
+ // val === "normal" || (typeof val === "object" && !Object.keys(val)?.length);
30
+
31
+ const value = getTextSizeVal(editor);
23
32
  useEffect(() => {
24
- setFontSize(getSizeVal());
33
+ setSizeValue(getSizeVal());
25
34
  }, [value]);
26
35
  const updateMarkData = newVal => {
27
36
  let upData = {
@@ -48,38 +57,33 @@ const TextSize = ({
48
57
  if (value) {
49
58
  let inc = parseInt(value);
50
59
  inc = inc > 200 ? 200 : inc;
60
+ setSizeValue(inc);
51
61
  updateMarkData(inc);
52
62
  } else {
53
- setFontSize(null);
63
+ setSizeValue(null);
54
64
  }
55
65
  };
56
66
  const getSizeVal = () => {
57
67
  try {
58
- let size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
59
- Object.entries(headingMap).forEach(([format, value]) => {
60
- if (isBlockActive(editor, format) && isNaN(parseInt(size))) {
61
- size = value;
62
- }
63
- });
64
- return parseInt(size);
68
+ return parseInt(value);
65
69
  } catch (err) {
66
70
  return "";
67
71
  }
68
72
  };
69
- const combinedOldVal = getSizeVal();
70
73
  const onIncreaseSize = () => {
71
- let inc = (combinedOldVal || 0) + 1;
72
- inc = inc > 200 ? 200 : inc;
73
- updateMarkData(inc);
74
+ const newValue = Math.min((sizeValue || 16) + 1, 200);
75
+ setSizeValue(newValue);
76
+ updateMarkData(newValue);
74
77
  };
75
78
  const onDecreaseSize = () => {
76
- const newVal = combinedOldVal - 1 < 0 ? 0 : combinedOldVal - 1;
77
- updateMarkData(newVal);
79
+ const newValue = sizeValue ? Math.max(sizeValue - 1, 1) : 16;
80
+ setSizeValue(newValue);
81
+ updateMarkData(newValue);
78
82
  };
79
83
  const onChange = e => {
80
84
  clearTimeout(timerRef.current);
81
85
  const value = e.target.value;
82
- setFontSize(value);
86
+ setSizeValue(value);
83
87
  timerRef.current = setTimeout(() => {
84
88
  onChangeSize(value);
85
89
  }, 500);
@@ -87,7 +91,7 @@ const TextSize = ({
87
91
  return /*#__PURE__*/_jsx(_Fragment, {
88
92
  children: /*#__PURE__*/_jsx(TextField, {
89
93
  sx: classes?.textSize,
90
- value: fontSize,
94
+ value: sizeValue || 16,
91
95
  onChange: onChange,
92
96
  size: "small",
93
97
  inputProps: {
@@ -215,7 +215,8 @@ const MiniToolbar = props => {
215
215
  setPopper: setPopper,
216
216
  onClose: onClose,
217
217
  search: search,
218
- onSearch: onSearch
218
+ onSearch: onSearch,
219
+ closeMainPopup: onClose
219
220
  })]
220
221
  }) : null
221
222
  })]
@@ -12,7 +12,8 @@ function MiniColorPicker(props) {
12
12
  classes,
13
13
  id,
14
14
  editor,
15
- customProps
15
+ customProps,
16
+ type
16
17
  } = props;
17
18
  const [openColorTool, setOpenColorTool] = useState(null);
18
19
  const {
@@ -38,7 +39,8 @@ function MiniColorPicker(props) {
38
39
  classes: classes,
39
40
  forMiniTool: true,
40
41
  openColorTool: openColorTool,
41
- closeColorTool: () => setOpenColorTool(null)
42
+ closeColorTool: () => setOpenColorTool(null),
43
+ type: type
42
44
  }, id)]
43
45
  });
44
46
  }
@@ -1,25 +1,30 @@
1
1
  import { useEffect, useRef, useState } from "react";
2
- import { activeMark, addMarkData, isBlockActive } from "../../../utils/SlateUtilityFunctions";
2
+ import { activeMark, addMarkData } from "../../../utils/SlateUtilityFunctions";
3
3
  import { Button, IconButton, Popover, TextField } from "@mui/material";
4
4
  import DownArrowIcon from "../../../assets/svg/DownArrowIcon";
5
5
  import useWindowResize from "../../../hooks/useWindowResize";
6
- import { BREAKPOINTS_DEVICES, getBreakPointsValue } from "../../../helper/theme";
7
- import { headingMap, sizeMap } from "../../../utils/font";
6
+ import { BREAKPOINTS_DEVICES, getBreakPointsValue, getTextSizeVal } from "../../../helper/theme";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
9
  const fontSizeOptions = [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 26, 32, 36, 40, 48, 64, 96, 128];
11
- function SelectFontSize({
12
- editor,
13
- classes
14
- }) {
10
+ function SelectFontSize(props) {
11
+ const {
12
+ editor,
13
+ classes,
14
+ fromMiniTextFormat,
15
+ setResizedSize,
16
+ resizedSize
17
+ } = props;
15
18
  const format = "fontSize";
16
19
  const [fontSize, setFontSize] = useState();
20
+ const sizeValue = fromMiniTextFormat ? resizedSize : fontSize;
21
+ const setSizeValue = fromMiniTextFormat ? setResizedSize : setFontSize;
17
22
  const [anchorEl, setAnchorEl] = useState(null);
18
23
  const open = Boolean(anchorEl);
19
24
  const containerRef = useRef();
20
25
  const [size] = useWindowResize();
21
26
  const val = activeMark(editor, format);
22
- const value = getBreakPointsValue(val, size?.device);
27
+ const value = getTextSizeVal(editor);
23
28
  const timerRef = useRef();
24
29
  const updateMarkData = newVal => {
25
30
  let upData = {
@@ -46,31 +51,28 @@ function SelectFontSize({
46
51
  if (value) {
47
52
  let inc = parseInt(value);
48
53
  inc = inc > 200 ? 200 : inc;
54
+ setSizeValue(inc);
49
55
  updateMarkData(inc);
50
56
  } else {
51
- setFontSize(null);
57
+ setSizeValue(null);
52
58
  }
53
59
  };
54
60
  const getSizeVal = () => {
55
61
  try {
56
- let size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
57
- Object.entries(headingMap).forEach(([format, value]) => {
58
- if (isBlockActive(editor, format) && isNaN(parseInt(size))) {
59
- size = value;
60
- }
61
- });
62
- return isNaN(parseInt(size)) ? 14 : parseInt(size);
62
+ return parseInt(value);
63
63
  } catch (err) {
64
64
  return "";
65
65
  }
66
66
  };
67
67
  useEffect(() => {
68
- setFontSize(getSizeVal());
68
+ if (value) {
69
+ setSizeValue(getSizeVal());
70
+ }
69
71
  }, [value]);
70
72
  const onChange = e => {
71
73
  clearTimeout(timerRef.current);
72
74
  const value = e.target.value;
73
- setFontSize(value);
75
+ setSizeValue(value);
74
76
  timerRef.current = setTimeout(() => {
75
77
  onChangeSize(value);
76
78
  }, 500);
@@ -83,7 +85,7 @@ function SelectFontSize({
83
85
  },
84
86
  children: [/*#__PURE__*/_jsx(TextField, {
85
87
  sx: classes?.miniFontSizeInput,
86
- value: fontSize,
88
+ value: sizeValue,
87
89
  onChange: onChange,
88
90
  size: "small"
89
91
  }), /*#__PURE__*/_jsx(IconButton, {
@@ -97,16 +99,16 @@ function SelectFontSize({
97
99
  anchorEl: anchorEl,
98
100
  onClose: () => setAnchorEl(null),
99
101
  anchorOrigin: {
100
- vertical: 'bottom',
101
- horizontal: 'left'
102
+ vertical: "bottom",
103
+ horizontal: "left"
102
104
  },
103
105
  sx: classes.customSelectPopoverWrapper,
104
106
  children: fontSizeOptions.map((s, i) => {
105
107
  return /*#__PURE__*/_jsx("div", {
106
108
  children: /*#__PURE__*/_jsx(Button, {
107
- className: `customSelectOptionLabel ${fontSize === s ? "selected" : ""}`,
109
+ className: `customSelectOptionLabel ${sizeValue === s ? "selected" : ""}`,
108
110
  onClick: () => {
109
- setFontSize(s);
111
+ setSizeValue(s);
110
112
  onChangeSize(s);
111
113
  },
112
114
  children: s
@@ -2,7 +2,7 @@ import { useMemo } from "react";
2
2
  import { isBlockActive, toggleBlock } from "../../../utils/SlateUtilityFunctions";
3
3
  import CustomSelectTool from "./CustomSelectTool";
4
4
  import Icon from "../../../common/Icon";
5
- import { insertAccordion } from "../../../utils/accordion";
5
+ import { insertAccordion, toggleAccordion } from "../../../utils/accordion";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
8
  function Label({
@@ -16,8 +16,8 @@ function Label({
16
16
  }), " ", label]
17
17
  });
18
18
  }
19
- function getListOptions(translation) {
20
- return [{
19
+ function getListOptions(translation, listType) {
20
+ const list = [{
21
21
  id: 15,
22
22
  value: "orderedList",
23
23
  type: "block",
@@ -53,7 +53,8 @@ function getListOptions(translation) {
53
53
  icon: "check-list-item"
54
54
  }),
55
55
  group: "list"
56
- }, {
56
+ }];
57
+ const accordion = [{
57
58
  id: 30,
58
59
  value: "accordion",
59
60
  type: "accordion",
@@ -67,17 +68,30 @@ function getListOptions(translation) {
67
68
  icon: "accordion"
68
69
  })
69
70
  }];
71
+ let options = [];
72
+ if (listType === "accordion-summary") {
73
+ options = [...accordion];
74
+ } else if (listType === "list-item") {
75
+ options = [...list];
76
+ } else {
77
+ options = [...list, ...accordion];
78
+ }
79
+ return options;
70
80
  }
71
81
  function SelectList({
72
82
  editor,
73
83
  classes,
74
84
  closeMainPopup,
75
- customProps
85
+ customProps,
86
+ commonProps
76
87
  }) {
77
88
  const {
78
89
  translation
79
90
  } = customProps;
80
- const listOptions = getListOptions(translation);
91
+ const {
92
+ listType
93
+ } = commonProps || {};
94
+ const listOptions = getListOptions(translation, listType);
81
95
  const selectedList = useMemo(() => {
82
96
  return listOptions.find(t => isBlockActive(editor, t.value));
83
97
  }, [listOptions, isBlockActive, editor]);
@@ -85,7 +99,11 @@ function SelectList({
85
99
  if (option.type === "block") {
86
100
  toggleBlock(editor, format);
87
101
  } else if (option.type === "accordion") {
88
- insertAccordion(editor);
102
+ if (listType === "accordion-summary") {
103
+ toggleAccordion(editor);
104
+ } else {
105
+ insertAccordion(editor);
106
+ }
89
107
  }
90
108
  closeMainPopup();
91
109
  };