@flozy/editor 6.0.6 → 6.0.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 (114) hide show
  1. package/dist/Editor/ChatEditor.js +7 -7
  2. package/dist/Editor/CommonEditor.js +79 -21
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +21 -16
  5. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  6. package/dist/Editor/Elements/Button/EditorButton.js +25 -9
  7. package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
  8. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  9. package/dist/Editor/Elements/Color Picker/ColorPicker.js +4 -4
  10. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  11. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +1 -1
  12. package/dist/Editor/Elements/Embed/Image.js +2 -2
  13. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +0 -14
  14. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  15. package/dist/Editor/Elements/Grid/GridItem.js +2 -3
  16. package/dist/Editor/Elements/Link/Link.js +70 -43
  17. package/dist/Editor/Elements/SimpleText/index.js +7 -12
  18. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  19. package/dist/Editor/Elements/Table/Table.js +12 -12
  20. package/dist/Editor/Elements/Title/title.js +13 -1
  21. package/dist/Editor/Elements/Variables/Style.js +28 -2
  22. package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
  23. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  24. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  25. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  26. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
  27. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +9 -8
  28. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  29. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +210 -85
  30. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +2 -1
  31. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
  32. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +56 -9
  33. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
  34. package/dist/Editor/Toolbar/PopupTool/index.js +32 -43
  35. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  36. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  37. package/dist/Editor/common/ColorPickerButton.js +32 -9
  38. package/dist/Editor/common/CustomColorPicker/index.js +106 -0
  39. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  40. package/dist/Editor/common/CustomDialog/index.js +94 -0
  41. package/dist/Editor/common/CustomDialog/style.js +67 -0
  42. package/dist/Editor/common/CustomSelect.js +33 -0
  43. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  44. package/dist/Editor/common/DnD/Draggable.js +0 -1
  45. package/dist/Editor/common/FontLoader/FontList.js +3 -11
  46. package/dist/Editor/common/FontLoader/FontLoader.js +74 -42
  47. package/dist/Editor/common/Icon.js +28 -0
  48. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  49. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  50. package/dist/Editor/common/ImageSelector/UploadStyles.js +1 -2
  51. package/dist/Editor/common/MentionsPopup/Styles.js +3 -9
  52. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  53. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  54. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  55. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  56. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  57. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
  58. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  59. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  60. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  61. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
  62. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +8 -2
  63. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  64. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  65. package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
  66. package/dist/Editor/common/RnD/Utils/index.js +40 -0
  67. package/dist/Editor/common/RnD/index.js +23 -3
  68. package/dist/Editor/common/Section/index.js +60 -89
  69. package/dist/Editor/common/Shorthands/elements.js +54 -0
  70. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  71. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
  72. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  73. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  74. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +10 -2
  75. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +35 -11
  76. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +13 -4
  77. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  78. package/dist/Editor/common/Uploader.js +8 -0
  79. package/dist/Editor/commonStyle.js +55 -65
  80. package/dist/Editor/helper/deserialize/index.js +1 -1
  81. package/dist/Editor/helper/index.js +2 -2
  82. package/dist/Editor/helper/theme.js +200 -2
  83. package/dist/Editor/hooks/useDrag.js +17 -11
  84. package/dist/Editor/hooks/useEditorScroll.js +1 -2
  85. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  86. package/dist/Editor/hooks/useMouseMove.js +9 -3
  87. package/dist/Editor/plugins/withEmbeds.js +1 -1
  88. package/dist/Editor/plugins/withHTML.js +3 -9
  89. package/dist/Editor/plugins/withLayout.js +1 -1
  90. package/dist/Editor/plugins/withTable.js +1 -1
  91. package/dist/Editor/theme/ThemeList.js +50 -173
  92. package/dist/Editor/theme/index.js +144 -0
  93. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  94. package/dist/Editor/themeSettings/buttons/index.js +283 -0
  95. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  96. package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
  97. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  98. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  99. package/dist/Editor/themeSettings/fonts/index.js +220 -0
  100. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  101. package/dist/Editor/themeSettings/icons.js +60 -0
  102. package/dist/Editor/themeSettings/index.js +320 -0
  103. package/dist/Editor/themeSettings/style.js +152 -0
  104. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  105. package/dist/Editor/themeSettingsAI/index.js +356 -0
  106. package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
  107. package/dist/Editor/themeSettingsAI/style.js +250 -0
  108. package/dist/Editor/utils/SlateUtilityFunctions.js +157 -49
  109. package/dist/Editor/utils/button.js +0 -14
  110. package/dist/Editor/utils/draftToSlate.js +3 -2
  111. package/dist/Editor/utils/font.js +40 -37
  112. package/dist/Editor/utils/helper.js +48 -20
  113. package/dist/Editor/utils/link.js +1 -1
  114. package/package.json +6 -3
@@ -3,17 +3,18 @@ import { Grid, Tabs, Tab, CircularProgress } from "@mui/material";
3
3
  import TemplateCard from "./TemplateCard";
4
4
  import FullViewCard from "./FullViewCard";
5
5
  import ButtonTemplateCard from "./ButtonTemplatesCard";
6
+
7
+ // const CATEGORIES_SORT_INDEX = {
8
+ // Brief: 1,
9
+ // Buttons: 2,
10
+ // Banners: 3,
11
+ // Tables: 4,
12
+ // Contract: 5,
13
+ // Proposal: 6,
14
+ // };
6
15
  import { jsx as _jsx } from "react/jsx-runtime";
7
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
8
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
- const CATEGORIES_SORT_INDEX = {
10
- Brief: 1,
11
- Buttons: 2,
12
- Banners: 3,
13
- Tables: 4,
14
- Contract: 5,
15
- Proposal: 6
16
- };
17
18
  const Categories = props => {
18
19
  const {
19
20
  value,
@@ -1,10 +1,9 @@
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];
@@ -19,7 +18,7 @@ function SelectFontSize({
19
18
  const containerRef = useRef();
20
19
  const [size] = useWindowResize();
21
20
  const val = activeMark(editor, format);
22
- const value = getBreakPointsValue(val, size?.device);
21
+ const value = getTextSizeVal(editor);
23
22
  const timerRef = useRef();
24
23
  const updateMarkData = newVal => {
25
24
  let upData = {
@@ -53,13 +52,7 @@ function SelectFontSize({
53
52
  };
54
53
  const getSizeVal = () => {
55
54
  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);
55
+ return parseInt(value);
63
56
  } catch (err) {
64
57
  return "";
65
58
  }
@@ -97,8 +90,8 @@ function SelectFontSize({
97
90
  anchorEl: anchorEl,
98
91
  onClose: () => setAnchorEl(null),
99
92
  anchorOrigin: {
100
- vertical: 'bottom',
101
- horizontal: 'left'
93
+ vertical: "bottom",
94
+ horizontal: "left"
102
95
  },
103
96
  sx: classes.customSelectPopoverWrapper,
104
97
  children: fontSizeOptions.map((s, i) => {
@@ -2,8 +2,11 @@ import { useMemo } from "react";
2
2
  import { activeMark, addMarkData, isBlockActive, toggleBlock } from "../../../utils/SlateUtilityFunctions";
3
3
  import CustomSelectTool from "./CustomSelectTool";
4
4
  import useWindowResize from "../../../hooks/useWindowResize";
5
- import { BREAKPOINTS_DEVICES, getBreakPointsValue } from "../../../helper/theme";
5
+ import { BREAKPOINTS_DEVICES, getBreakPointsValue, isTextCustomized as isCustomized, textThemeFields as themeFields } from "../../../helper/theme";
6
6
  import { sizeMap } from "../../../utils/font";
7
+ import { Editor } from "slate";
8
+ import { useEditorTheme } from "../../../hooks/useEditorTheme";
9
+ import { MenuItem, Select } from "@mui/material";
7
10
  import { jsx as _jsx } from "react/jsx-runtime";
8
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
12
  function Label({
@@ -17,93 +20,190 @@ function Label({
17
20
  });
18
21
  }
19
22
  function DisplayHeaderLabel({
20
- type
23
+ type,
24
+ isCustomized,
25
+ isPara = false
21
26
  }) {
22
27
  return /*#__PURE__*/_jsxs("div", {
23
- children: ["H", /*#__PURE__*/_jsx("sub", {
28
+ children: [isCustomized ? "*" : "", isPara ? "P" : "H", /*#__PURE__*/_jsx("sub", {
24
29
  children: type
25
30
  })]
26
31
  });
27
32
  }
28
- const typographyOptions = [{
29
- id: 11,
30
- format: "headingOne",
31
- type: "block",
32
- title: /*#__PURE__*/_jsx(Label, {
33
- label: "H1",
34
- type: "Header"
35
- }),
36
- label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
37
- type: 1
38
- }),
39
- group: "typography",
40
- value: "headingOne"
41
- }, {
42
- id: 12,
43
- format: "headingTwo",
44
- type: "block",
45
- title: /*#__PURE__*/_jsx(Label, {
46
- label: "H2",
47
- type: "Header"
48
- }),
49
- label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
50
- type: 2
51
- }),
52
- group: "typography",
53
- value: "headingTwo"
54
- }, {
55
- id: 13,
56
- format: "headingThree",
57
- type: "block",
58
- title: /*#__PURE__*/_jsx(Label, {
59
- label: "H3",
60
- type: "Header"
61
- }),
62
- label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
63
- type: 3
64
- }),
65
- group: "typography",
66
- value: "headingThree"
67
- }, {
68
- id: 14,
69
- format: "fontSize",
70
- type: "mark",
71
- title: /*#__PURE__*/_jsx(Label, {
72
- label: "L",
73
- type: "Large"
74
- }),
75
- label: "L",
76
- group: "typography",
77
- value: "huge"
78
- }, {
79
- id: 15,
80
- format: "fontSize",
81
- type: "mark",
82
- title: /*#__PURE__*/_jsx(Label, {
83
- label: "M",
84
- type: "Medium"
85
- }),
86
- label: "M",
87
- group: "typography",
88
- value: "medium"
89
- }, {
90
- id: 16,
91
- format: "fontSize",
92
- type: "mark",
93
- title: /*#__PURE__*/_jsx(Label, {
94
- label: "S",
95
- type: "Small"
96
- }),
97
- label: "S",
98
- group: "typography",
99
- value: "small"
100
- }];
33
+ function getTypographyOptions(isCustomized) {
34
+ const typographyOptions = [{
35
+ id: 11,
36
+ format: "headingOne",
37
+ type: "block",
38
+ title: /*#__PURE__*/_jsx(Label, {
39
+ label: "H1",
40
+ type: "Heading"
41
+ }),
42
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
43
+ type: 1,
44
+ isCustomized: isCustomized
45
+ }),
46
+ group: "typography",
47
+ value: "headingOne"
48
+ }, {
49
+ id: 12,
50
+ format: "headingTwo",
51
+ type: "block",
52
+ title: /*#__PURE__*/_jsx(Label, {
53
+ label: "H2",
54
+ type: "Heading"
55
+ }),
56
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
57
+ type: 2,
58
+ isCustomized: isCustomized
59
+ }),
60
+ group: "typography",
61
+ value: "headingTwo"
62
+ }, {
63
+ id: 13,
64
+ format: "headingThree",
65
+ type: "block",
66
+ title: /*#__PURE__*/_jsx(Label, {
67
+ label: "H3",
68
+ type: "Heading"
69
+ }),
70
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
71
+ type: 3,
72
+ isCustomized: isCustomized
73
+ }),
74
+ group: "typography",
75
+ value: "headingThree"
76
+ }, {
77
+ id: 17,
78
+ format: "headingFour",
79
+ type: "block",
80
+ title: /*#__PURE__*/_jsx(Label, {
81
+ label: "H4",
82
+ type: "Heading"
83
+ }),
84
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
85
+ type: 4,
86
+ isCustomized: isCustomized
87
+ }),
88
+ group: "typography",
89
+ value: "headingFour"
90
+ }, {
91
+ id: 18,
92
+ format: "headingFive",
93
+ type: "block",
94
+ title: /*#__PURE__*/_jsx(Label, {
95
+ label: "H5",
96
+ type: "Heading"
97
+ }),
98
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
99
+ type: 5,
100
+ isCustomized: isCustomized
101
+ }),
102
+ group: "typography",
103
+ value: "headingFive"
104
+ }, {
105
+ id: 19,
106
+ format: "headingSix",
107
+ type: "block",
108
+ title: /*#__PURE__*/_jsx(Label, {
109
+ label: "H6",
110
+ type: "Heading"
111
+ }),
112
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
113
+ type: 6,
114
+ isCustomized: isCustomized
115
+ }),
116
+ group: "typography",
117
+ value: "headingSix"
118
+ }, {
119
+ id: 20,
120
+ format: "paragraphOne",
121
+ type: "block",
122
+ title: /*#__PURE__*/_jsx(Label, {
123
+ label: "P1",
124
+ type: "Paragraph"
125
+ }),
126
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
127
+ type: 1,
128
+ isCustomized: isCustomized,
129
+ isPara: true
130
+ }),
131
+ group: "typography",
132
+ value: "paragraphOne"
133
+ }, {
134
+ id: 21,
135
+ format: "paragraphTwo",
136
+ type: "block",
137
+ title: /*#__PURE__*/_jsx(Label, {
138
+ label: "P2",
139
+ type: "Paragraph"
140
+ }),
141
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
142
+ type: 2,
143
+ isCustomized: isCustomized,
144
+ isPara: true
145
+ }),
146
+ group: "typography",
147
+ value: "paragraphTwo"
148
+ }, {
149
+ id: 22,
150
+ format: "paragraphThree",
151
+ type: "block",
152
+ title: /*#__PURE__*/_jsx(Label, {
153
+ label: "P3",
154
+ type: "Paragraph"
155
+ }),
156
+ label: /*#__PURE__*/_jsx(DisplayHeaderLabel, {
157
+ type: 3,
158
+ isCustomized: isCustomized,
159
+ isPara: true
160
+ }),
161
+ group: "typography",
162
+ value: "paragraphThree"
163
+ }
164
+ // {
165
+ // id: 14,
166
+ // format: "fontSize",
167
+ // type: "mark",
168
+ // title: <Label label="L" type="Large" />,
169
+ // label: "L",
170
+ // group: "typography",
171
+ // value: "huge",
172
+ // },
173
+ // {
174
+ // id: 15,
175
+ // format: "fontSize",
176
+ // type: "mark",
177
+ // title: <Label label="M" type="Medium" />,
178
+ // label: "M",
179
+ // group: "typography",
180
+ // value: "medium",
181
+ // },
182
+ // {
183
+ // id: 16,
184
+ // format: "fontSize",
185
+ // type: "mark",
186
+ // title: <Label label="S" type="Small" />,
187
+ // label: "S",
188
+ // group: "typography",
189
+ // value: "small",
190
+ // },
191
+ ];
192
+
193
+ return typographyOptions;
194
+ }
101
195
  function SelectTypography({
102
196
  editor,
103
197
  classes,
104
- closeMainPopup
198
+ closeMainPopup,
199
+ type
105
200
  }) {
106
201
  const [size] = useWindowResize();
202
+ const {
203
+ theme
204
+ } = useEditorTheme();
205
+ const isTextCustomized = theme?.id ? isCustomized(editor) : false;
206
+ const typographyOptions = getTypographyOptions(isTextCustomized);
107
207
  const updateMarkData = newVal => {
108
208
  const val = activeMark(editor, "fontSize");
109
209
  let upData = {
@@ -125,7 +225,10 @@ function SelectTypography({
125
225
  ...upData
126
226
  }
127
227
  });
228
+
229
+ // closeMainPopup();
128
230
  };
231
+
129
232
  const selectedBlock = useMemo(() => {
130
233
  return typographyOptions.find(t => {
131
234
  if (t.type === "block") {
@@ -147,15 +250,13 @@ function SelectTypography({
147
250
  });
148
251
  }, [typographyOptions, activeMark, isBlockActive, editor]);
149
252
  const onChange = (format, option) => {
150
- // add/reset block elements
151
- toggleBlock(editor, format);
152
253
  if (option.type === "block") {
153
- // reset old font size
154
- // let updatedValue = !selectedBlock ? {} : { xs: "16px", sm: "16px", md: "16px", lg: "16px" }
155
- addMarkData(editor, {
156
- format: "fontSize",
157
- value: {}
254
+ themeFields.forEach(field => {
255
+ Editor.removeMark(editor, field);
158
256
  });
257
+
258
+ // add/reset block elements
259
+ toggleBlock(editor, format);
159
260
  } else if (option.type === "mark") {
160
261
  const size = sizeMap[option.value] || "";
161
262
  const [sizeInNumber] = size.split("px");
@@ -163,11 +264,35 @@ function SelectTypography({
163
264
  }
164
265
  closeMainPopup();
165
266
  };
267
+ const typographyValue = selectedBlock?.value || "headingOne";
268
+ if (type === "fullWidth") {
269
+ return /*#__PURE__*/_jsx(Select, {
270
+ value: typographyValue,
271
+ className: "editor-dd",
272
+ onChange: e => {
273
+ const {
274
+ value
275
+ } = e.target;
276
+ const option = typographyOptions?.find(o => o.value === value);
277
+ onChange(value, option);
278
+ },
279
+ style: {
280
+ width: "100%",
281
+ height: "36px",
282
+ borderRadius: "10px",
283
+ fontSize: "14px"
284
+ },
285
+ children: typographyOptions.map((item, index) => /*#__PURE__*/_jsxs(MenuItem, {
286
+ value: item.value,
287
+ children: [item.title, " ", isTextCustomized && item.value === typographyValue ? " *" : ""]
288
+ }, index))
289
+ });
290
+ }
166
291
  return /*#__PURE__*/_jsx(CustomSelectTool, {
167
292
  options: typographyOptions,
168
293
  editor: editor,
169
294
  onChange: onChange,
170
- value: selectedBlock?.value || "headingOne",
295
+ value: typographyValue,
171
296
  classes: classes
172
297
  });
173
298
  }
@@ -56,7 +56,8 @@ const MiniTextFormat = props => {
56
56
  }), /*#__PURE__*/_jsx(SelectTypography, {
57
57
  classes: classes,
58
58
  editor: editor,
59
- closeMainPopup: closeMainPopup
59
+ closeMainPopup: closeMainPopup,
60
+ type: "miniToolBar"
60
61
  }), /*#__PURE__*/_jsx("div", {
61
62
  className: "verticalLine"
62
63
  }), /*#__PURE__*/_jsx(SelectList, {
@@ -130,7 +130,7 @@ const usePopupStyle = theme => ({
130
130
  },
131
131
  "& .accordionIcon": {
132
132
  "& p": {
133
- textAlign: 'left'
133
+ textAlign: "left"
134
134
  }
135
135
  }
136
136
  },
@@ -416,6 +416,11 @@ const usePopupStyle = theme => ({
416
416
  "& .MuiOutlinedInput-notchedOutline": {
417
417
  border: `1px solid ${theme?.palette?.editor?.inputFieldBorder} !important`
418
418
  },
419
+ '& .MuiInputBase-root': {
420
+ '& input': {
421
+ border: "none !important"
422
+ }
423
+ },
419
424
  "& svg": {
420
425
  width: "20px",
421
426
  height: "24px"
@@ -424,12 +429,6 @@ const usePopupStyle = theme => ({
424
429
  fontFamilyListOptions: {
425
430
  "& .MuiAutocomplete-listbox": {
426
431
  padding: "0px",
427
- "&::-webkit-scrollbar-thumb": {
428
- background: `none !important`
429
- },
430
- "&::-webkit-scrollbar-track": {
431
- visibility: "hidden"
432
- },
433
432
  "&::-webkit-scrollbar-thumb": {
434
433
  background: `${theme?.palette?.editor?.brainPopupScroll} !important`
435
434
  },
@@ -440,8 +439,8 @@ const usePopupStyle = theme => ({
440
439
  margin: "5px",
441
440
  borderRadius: "8px",
442
441
  color: theme?.palette?.editor?.menuOptionTextColor,
443
- fontSize: '14px',
444
- padding: '8px 12px',
442
+ fontSize: "14px",
443
+ padding: "8px 12px",
445
444
  '&[aria-selected="true"]': {
446
445
  backgroundColor: `${theme?.palette?.editor?.menuOptionSelectedOption} !important`
447
446
  }
@@ -540,7 +539,7 @@ const usePopupStyle = theme => ({
540
539
  }
541
540
  },
542
541
  alignItems: "flexStart",
543
- justifyContent: "center",
542
+ // justifyContent: "center",
544
543
  flexDirection: "row",
545
544
  "&:hover": {
546
545
  background: "unset"
@@ -789,8 +788,13 @@ const usePopupStyle = theme => ({
789
788
  padding: "0px"
790
789
  },
791
790
  defaultBtn: {
792
- color: "#0F172A",
793
- textTransform: "none"
791
+ color: "#2563EB !important",
792
+ textTransform: "none",
793
+ textDecoration: "underline",
794
+ "&.Mui-disabled": {
795
+ color: "#A0AEC0 !important",
796
+ textDecoration: "none"
797
+ }
794
798
  },
795
799
  templateCardBtnGrp: {
796
800
  display: "none",
@@ -10,6 +10,8 @@ import { AllColors } from "../../Elements/Color Picker/ColorButtons";
10
10
  import { fontFamilyMap } from "../../utils/font";
11
11
  import { getBorderColor } from "../../utils/helper";
12
12
  import SelectTypography from "./MiniTextFormat/SelectTypography";
13
+ import { isTextCustomized, saveToTheme } from "../../helper/theme";
14
+ import { useEditorTheme } from "../../hooks/useEditorTheme";
13
15
  import SelectSuperSubscript from "./MiniTextFormat/SelectSuperSubscript";
14
16
  import { ColorResetIcon, TextDefaultStyleIcon } from "../../common/iconListV2";
15
17
  import FontFamilyAutocomplete from "../FormatTools/FontFamilyAutocomplete";
@@ -39,7 +41,7 @@ const TextFormat = props => {
39
41
  const pageSettingLine = pageSt?.pageProps?.lineHeight;
40
42
  const {
41
43
  fontFamilies,
42
- theme
44
+ theme: appTheme
43
45
  } = useEditorContext();
44
46
  const {
45
47
  activeBreakPoint
@@ -61,7 +63,12 @@ const TextFormat = props => {
61
63
  color: "",
62
64
  bgColor: ""
63
65
  };
64
- let lineSpacingValue = activeMark(editor, 'lineHeight');
66
+ const {
67
+ theme,
68
+ updateTheme
69
+ } = useEditorTheme();
70
+ const customized = isTextCustomized(editor);
71
+ let lineSpacingValue = activeMark(editor, "lineHeight");
65
72
  lineSpacingValue = lineSpacingValue?.[breakpoint] !== undefined ? lineSpacingValue : pageSettingLine;
66
73
  const handleColorPicker = type => e => {
67
74
  setType(type);
@@ -115,6 +122,50 @@ const TextFormat = props => {
115
122
  sx: classes.textFormatWrapper,
116
123
  className: "text-formatter-popup",
117
124
  children: [/*#__PURE__*/_jsxs(Grid, {
125
+ item: true,
126
+ xs: 12,
127
+ children: [/*#__PURE__*/_jsxs(Grid, {
128
+ container: true,
129
+ justifyContent: "space-between",
130
+ alignItems: "center",
131
+ children: [/*#__PURE__*/_jsx(Grid, {
132
+ item: true,
133
+ children: /*#__PURE__*/_jsx(Typography, {
134
+ variant: "body1",
135
+ color: "primary",
136
+ sx: classes.typoLabel,
137
+ children: "Style"
138
+ })
139
+ }), /*#__PURE__*/_jsx(Grid, {
140
+ item: true,
141
+ children: theme?.id ? /*#__PURE__*/_jsx(Button, {
142
+ sx: classes.defaultBtn,
143
+ onClick: () => {
144
+ const {
145
+ field,
146
+ theme
147
+ } = saveToTheme(editor) || {};
148
+ updateTheme(theme, {
149
+ action: "ELEMENT_PROPS_CHANGE",
150
+ fieldName: field
151
+ });
152
+ },
153
+ disabled: !customized,
154
+ children: "Save to theme"
155
+ }) : null
156
+ })]
157
+ }), /*#__PURE__*/_jsx(Grid, {
158
+ item: true,
159
+ xs: 12,
160
+ sx: classes.textFormatField,
161
+ children: /*#__PURE__*/_jsx(SelectTypography, {
162
+ editor: editor,
163
+ classes: classes,
164
+ closeMainPopup: () => {},
165
+ type: "fullWidth"
166
+ })
167
+ })]
168
+ }), /*#__PURE__*/_jsxs(Grid, {
118
169
  item: true,
119
170
  xs: 12,
120
171
  children: [/*#__PURE__*/_jsxs(Grid, {
@@ -267,7 +318,7 @@ const TextFormat = props => {
267
318
  children: /*#__PURE__*/_jsx(Button, {
268
319
  sx: classes.defaultBtn2,
269
320
  startIcon: /*#__PURE__*/_jsx(ColorResetIcon, {
270
- stroke: theme?.palette?.type === "dark" ? "#505359" : "#A2B0B9"
321
+ stroke: appTheme?.palette?.type === "dark" ? "#505359" : "#A2B0B9"
271
322
  }),
272
323
  onClick: handleDefault({
273
324
  format: "bgColor"
@@ -355,11 +406,7 @@ const TextFormat = props => {
355
406
  xs: 12,
356
407
  className: "typo-icons",
357
408
  sx: classes.evenSpace,
358
- children: [/*#__PURE__*/_jsx(SelectTypography, {
359
- classes: classes,
360
- editor: editor,
361
- closeMainPopup: closeMainPopup || onClose
362
- }), fontStyle?.map((m, i) => {
409
+ children: [fontStyle?.map((m, i) => {
363
410
  return /*#__PURE__*/_jsx(MarkButton, {
364
411
  editor: editor,
365
412
  ...m
@@ -396,7 +443,7 @@ const TextFormat = props => {
396
443
  value: lineSpacingValue,
397
444
  onChange: handleLineSpacing,
398
445
  data: {
399
- key: 'lineHeight'
446
+ key: "lineHeight"
400
447
  }
401
448
  })
402
449
  })]