@flozy/editor 9.6.4 → 9.6.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 (253) hide show
  1. package/dist/Editor/ChatEditor.js +19 -26
  2. package/dist/Editor/CommonEditor.js +23 -139
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +9 -13
  5. package/dist/Editor/Elements/AI/AIInput.js +3 -5
  6. package/dist/Editor/Elements/AI/CustomSelect.js +5 -9
  7. package/dist/Editor/Elements/AI/PopoverAIInput.js +2 -4
  8. package/dist/Editor/Elements/Accordion/Accordion.js +3 -4
  9. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +1 -4
  10. package/dist/Editor/Elements/Accordion/AccordionButton.js +2 -6
  11. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +1 -4
  12. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  13. package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +2 -6
  14. package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +1 -4
  15. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +1 -4
  16. package/dist/Editor/Elements/Button/ButtonPopup.js +1 -4
  17. package/dist/Editor/Elements/Button/ButtonToolIcon.js +2 -6
  18. package/dist/Editor/Elements/Button/EditorButton.js +18 -31
  19. package/dist/Editor/Elements/Carousel/Carousel.js +4 -5
  20. package/dist/Editor/Elements/Carousel/CarouselButton.js +2 -6
  21. package/dist/Editor/Elements/Carousel/CarouselItem.js +2 -3
  22. package/dist/Editor/Elements/ChipText/ChipTextPopup.js +1 -4
  23. package/dist/Editor/Elements/CodeToText/CodeToText.js +4 -5
  24. package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +2 -6
  25. package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -60
  26. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  27. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
  28. package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
  29. package/dist/Editor/Elements/Colorbox/ColorboxButton.js +2 -6
  30. package/dist/Editor/Elements/DataView/DataView.js +2 -5
  31. package/dist/Editor/Elements/DataView/DataViewButton.js +2 -6
  32. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +2 -4
  33. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +6 -21
  34. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +12 -13
  35. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +4 -7
  36. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +5 -7
  37. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +7 -9
  38. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -8
  39. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +3 -5
  40. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +5 -6
  41. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +3 -5
  42. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -9
  43. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +12 -15
  44. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +2 -3
  45. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +2 -3
  46. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +6 -23
  47. package/dist/Editor/Elements/DataView/Layouts/TableView.js +4 -6
  48. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +4 -8
  49. package/dist/Editor/Elements/DataView/Layouts/index.js +1 -3
  50. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +2 -5
  51. package/dist/Editor/Elements/Divider/Divider.js +3 -5
  52. package/dist/Editor/Elements/Divider/DividerButton.js +2 -6
  53. package/dist/Editor/Elements/Divider/DividerPopup.js +2 -3
  54. package/dist/Editor/Elements/Embed/Embed.js +1 -4
  55. package/dist/Editor/Elements/Embed/EmbedPopup.js +1 -4
  56. package/dist/Editor/Elements/Embed/Image.js +9 -14
  57. package/dist/Editor/Elements/Embed/Video.js +6 -9
  58. package/dist/Editor/Elements/EmbedScript/Code.js +4 -7
  59. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +2 -6
  60. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +5 -8
  61. package/dist/Editor/Elements/Emoji/EmojiButton.js +2 -6
  62. package/dist/Editor/Elements/Form/FieldPopup.js +1 -4
  63. package/dist/Editor/Elements/Form/Form.js +9 -12
  64. package/dist/Editor/Elements/Form/FormButton.js +2 -6
  65. package/dist/Editor/Elements/Form/FormPopup.js +2 -3
  66. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +15 -24
  67. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +8 -13
  68. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +2 -3
  69. package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -24
  70. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -4
  71. package/dist/Editor/Elements/Form/Workflow/index.js +10 -22
  72. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +23 -67
  73. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +4 -23
  74. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +2 -6
  75. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +5 -36
  76. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +2 -3
  77. package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -10
  78. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  79. package/dist/Editor/Elements/Grid/Grid.js +10 -13
  80. package/dist/Editor/Elements/Grid/GridButton.js +5 -9
  81. package/dist/Editor/Elements/Grid/GridItem.js +8 -14
  82. package/dist/Editor/Elements/Grid/GridItemPopup.js +1 -4
  83. package/dist/Editor/Elements/Grid/GridPopup.js +1 -4
  84. package/dist/Editor/Elements/Grid/SectionPopup.js +1 -4
  85. package/dist/Editor/Elements/Link/Link.js +5 -8
  86. package/dist/Editor/Elements/Link/LinkButton.js +1 -4
  87. package/dist/Editor/Elements/List/CheckList.js +9 -14
  88. package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -6
  89. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -4
  90. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +1 -4
  91. package/dist/Editor/Elements/Search/SearchButton.js +4 -7
  92. package/dist/Editor/Elements/Search/SearchList.js +3 -7
  93. package/dist/Editor/Elements/Signature/SignatureButton.js +2 -6
  94. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -6
  95. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +1 -4
  96. package/dist/Editor/Elements/Signature/SignaturePopup.js +16 -17
  97. package/dist/Editor/Elements/SimpleText/index.js +4 -5
  98. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  99. package/dist/Editor/Elements/Table/DragButton.js +2 -4
  100. package/dist/Editor/Elements/Table/Table.js +12 -24
  101. package/dist/Editor/Elements/Table/TablePopup.js +1 -4
  102. package/dist/Editor/Elements/Table/TableSelector.js +6 -10
  103. package/dist/Editor/Elements/Table/TableTool.js +4 -8
  104. package/dist/Editor/Elements/Title/title.js +0 -10
  105. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +1 -4
  106. package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
  107. package/dist/Editor/MiniEditor.js +3 -10
  108. package/dist/Editor/Styles/EditorStyles.js +5 -5
  109. package/dist/Editor/Toolbar/Basic/index.js +1 -2
  110. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +2 -6
  111. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  112. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  113. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +4 -8
  114. package/dist/Editor/Toolbar/FormatTools/TextSize.js +13 -10
  115. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +5 -12
  116. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +5 -10
  117. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +4 -10
  118. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +4 -10
  119. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +3 -9
  120. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +35 -42
  121. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  122. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +51 -58
  123. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +22 -29
  124. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +87 -226
  125. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +10 -20
  126. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +5 -10
  127. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +11 -71
  128. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +5 -11
  129. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +45 -128
  130. package/dist/Editor/Toolbar/PopupTool/index.js +10 -20
  131. package/dist/Editor/Toolbar/Toolbar.js +10 -20
  132. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  133. package/dist/Editor/common/ColorPickerButton.js +14 -39
  134. package/dist/Editor/common/CustomDialog/index.js +10 -8
  135. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  136. package/dist/Editor/common/FontLoader/FontLoader.js +0 -3
  137. package/dist/Editor/common/Icon.js +0 -28
  138. package/dist/Editor/common/ImageSelector/ImageSelector.js +8 -10
  139. package/dist/Editor/common/ImageSelector/Options/AddLink.js +4 -6
  140. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  141. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  142. package/dist/Editor/common/ImageSelector/UploadStyles.js +9 -9
  143. package/dist/Editor/common/LinkSettings/NavComponents.js +10 -14
  144. package/dist/Editor/common/LinkSettings/index.js +14 -20
  145. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  146. package/dist/Editor/common/MentionsPopup/index.js +2 -6
  147. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
  148. package/dist/Editor/common/RnD/ContextMenu/index.js +2 -3
  149. package/dist/Editor/common/RnD/ElementOptions/index.js +2 -7
  150. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +3 -8
  151. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +3 -7
  152. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  153. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  154. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  155. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  156. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -7
  157. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  158. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  159. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +2 -6
  160. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  161. package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
  162. package/dist/Editor/common/RnD/OptionsPopup/index.js +3 -4
  163. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +4 -11
  164. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  165. package/dist/Editor/common/RnD/Utils/gridDropItem.js +7 -56
  166. package/dist/Editor/common/RnD/Utils/index.js +0 -3
  167. package/dist/Editor/common/RnD/VirtualElement/index.js +103 -187
  168. package/dist/Editor/common/RnD/VirtualElement/styles.js +7 -123
  169. package/dist/Editor/common/RnD/VirtualElement/updateAutoProps.js +3 -5
  170. package/dist/Editor/common/RnD/index.js +14 -59
  171. package/dist/Editor/common/Section/index.js +4 -7
  172. package/dist/Editor/common/Shorthands/elements.js +3 -74
  173. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  174. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  175. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -6
  176. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  177. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  178. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  179. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +9 -13
  180. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -11
  181. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +5 -19
  182. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +10 -22
  183. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +3 -6
  184. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +13 -27
  185. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +14 -43
  186. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +6 -10
  187. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +6 -19
  188. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +2 -6
  189. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -5
  190. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +6 -9
  191. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +2 -8
  192. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +11 -12
  193. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +2 -6
  194. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -8
  195. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +2 -6
  196. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +12 -21
  197. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  198. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  199. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  200. package/dist/Editor/common/StyleBuilder/index.js +5 -8
  201. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +7 -5
  202. package/dist/Editor/common/Uploader.js +5 -16
  203. package/dist/Editor/commonStyle.js +12 -23
  204. package/dist/Editor/helper/index.js +3 -27
  205. package/dist/Editor/helper/theme.js +2 -202
  206. package/dist/Editor/hooks/useDrag.js +1 -1
  207. package/dist/Editor/hooks/useEditorScroll.js +1 -0
  208. package/dist/Editor/hooks/useMouseMove.js +3 -9
  209. package/dist/Editor/plugins/withEmbeds.js +13 -1
  210. package/dist/Editor/plugins/withHTML.js +9 -11
  211. package/dist/Editor/plugins/withLayout.js +2 -3
  212. package/dist/Editor/plugins/withTable.js +1 -1
  213. package/dist/Editor/theme/ThemeList.js +173 -50
  214. package/dist/Editor/utils/SlateUtilityFunctions.js +49 -168
  215. package/dist/Editor/utils/draftToSlate.js +2 -3
  216. package/dist/Editor/utils/font.js +37 -40
  217. package/dist/Editor/utils/freegrid.js +2 -2
  218. package/dist/Editor/utils/helper.js +19 -90
  219. package/package.json +3 -3
  220. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +0 -425
  221. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -436
  222. package/dist/Editor/assets/svg/ClearAllRounded.js +0 -31
  223. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  224. package/dist/Editor/common/CustomColorPicker/index.js +0 -131
  225. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  226. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  227. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  228. package/dist/Editor/common/CustomSelect.js +0 -43
  229. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  230. package/dist/Editor/common/RnD/VirtualElement/ForceAutoAlignment.js +0 -117
  231. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +0 -134
  232. package/dist/Editor/common/RnD/VirtualElement/helper.js +0 -281
  233. package/dist/Editor/common/SnackBar/index.js +0 -43
  234. package/dist/Editor/helper/textIndeces.js +0 -58
  235. package/dist/Editor/hooks/useAutoScroll.js +0 -38
  236. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  237. package/dist/Editor/hooks/useThemeValues.js +0 -63
  238. package/dist/Editor/theme/index.js +0 -149
  239. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  240. package/dist/Editor/themeSettings/buttons/index.js +0 -290
  241. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  242. package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
  243. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  244. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  245. package/dist/Editor/themeSettings/fonts/index.js +0 -240
  246. package/dist/Editor/themeSettings/fonts/style.js +0 -61
  247. package/dist/Editor/themeSettings/icons.js +0 -60
  248. package/dist/Editor/themeSettings/index.js +0 -351
  249. package/dist/Editor/themeSettings/style.js +0 -220
  250. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  251. package/dist/Editor/themeSettingsAI/index.js +0 -355
  252. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -205
  253. package/dist/Editor/themeSettingsAI/style.js +0 -259
@@ -27,8 +27,7 @@ const ORDERS_LAYOUT_VALIDATIONS = {
27
27
  };
28
28
  const withLayout = editor => {
29
29
  const {
30
- normalizeNode,
31
- translation
30
+ normalizeNode
32
31
  } = editor;
33
32
  editor.normalizeNode = ([node, path]) => {
34
33
  if (path.length === 0) {
@@ -40,7 +39,7 @@ const withLayout = editor => {
40
39
  const title = {
41
40
  type: "title",
42
41
  children: [{
43
- text: translation ? translation("Untitled") : "Untitled"
42
+ text: "Untitled"
44
43
  }]
45
44
  };
46
45
  Transforms.insertNodes(editor, title, {
@@ -1,6 +1,6 @@
1
1
  import { Editor, Range, Point, Element, Transforms, Node } from "slate";
2
2
  import { TableUtil, createTableCell } from "../utils/table";
3
- const NON_DELETABLE_BLOCKS = ["table-cell", "carousel-item", "page-settings"];
3
+ const NON_DELETABLE_BLOCKS = ["table-cell", "carousel-item"];
4
4
  const withTable = editor => {
5
5
  const {
6
6
  deleteBackward,
@@ -1,58 +1,181 @@
1
- import { Box, MenuItem, Select } from "@mui/material";
2
- import { defaultTheme } from ".";
3
- import { useEditorTheme } from "../hooks/useEditorTheme";
4
- import { useEffect, useState } from "react";
1
+ import { MenuItem, Select, useTheme } from "@mui/material";
2
+ import { fontOptions } from "../utils/font";
3
+ import { toolbarGroups } from "../Toolbar/toolbarGroups";
5
4
  import { jsx as _jsx } from "react/jsx-runtime";
6
5
  import { jsxs as _jsxs } from "react/jsx-runtime";
7
- function ThemeList({
8
- editor,
9
- services = () => {}
10
- }) {
11
- const [themes, setThemes] = useState([]);
12
- const [loading, setLoading] = useState(false);
13
- console.log("loading", loading);
14
- const getThemesList = async () => {
15
- setLoading(true);
16
- try {
17
- const result = await services("getThemes", {});
18
- setThemes(result?.data || []);
19
- } catch (err) {
20
- console.log(err);
21
- }
22
- setLoading(false);
23
- };
6
+ const themes = [{
7
+ label: "Theme 1",
8
+ colors: ["#c90c1f", "#ff5d05"]
9
+ }, {
10
+ label: "Theme 2",
11
+ colors: ["#4c0be3", "#43f7ee"]
12
+ }, {
13
+ label: "Theme 3",
14
+ colors: ["#22f20f", "#fff705"]
15
+ }];
16
+ const allTools = toolbarGroups.flat();
17
+ function ThemeList(props) {
24
18
  const {
25
- updateTheme
26
- } = useEditorTheme();
27
- useEffect(() => {
28
- getThemesList();
29
- }, []);
30
- const handleThemeChange = e => {
31
- const {
32
- value
33
- } = e.target;
34
- const selectedTheme = themes.find(t => t.id === value) || defaultTheme;
35
- updateTheme(selectedTheme, "THEME_CHANGE");
19
+ selectedTheme,
20
+ setSelectedTheme
21
+ } = props;
22
+ const fontWeight = allTools.find(f => f.format === "fontWeight");
23
+ const fontStyles = [{
24
+ text: "Bold",
25
+ value: "bold",
26
+ styleField: "fontWeight"
27
+ }, {
28
+ text: "Italic",
29
+ value: "italic",
30
+ styleField: "fontStyle"
31
+ }
32
+ // {
33
+ // text: "Underline",
34
+ // value: "underline",
35
+ // styleField: "textDecoration",
36
+ // },
37
+ // {
38
+ // text: "Line through",
39
+ // value: "line-through",
40
+ // styleField: "textDecoration",
41
+ // },
42
+ ];
43
+
44
+ const theme = useTheme();
45
+ const colorVars = theme?.vars?.colors || {};
46
+ const handleTypographyTheme = (key, value, elementType) => {
47
+ setSelectedTheme(prev => {
48
+ const newValue = {
49
+ ...prev,
50
+ typography: {
51
+ ...(prev.typography || {}),
52
+ [elementType]: {
53
+ ...(prev?.typography?.[elementType] || {}),
54
+ [key]: value
55
+ }
56
+ }
57
+ };
58
+ if (!value) {
59
+ delete newValue?.typography?.[elementType]?.[key];
60
+ }
61
+ return newValue;
62
+ });
36
63
  };
37
- return /*#__PURE__*/_jsx(Box, {
38
- sx: {
39
- padding: "10px",
40
- background: "#efefef",
41
- borderRadius: "6px"
42
- },
43
- children: /*#__PURE__*/_jsxs(Select, {
44
- onChange: handleThemeChange,
45
- defaultValue: 0,
46
- children: [/*#__PURE__*/_jsx(MenuItem, {
47
- value: 0,
48
- children: "Default Theme"
49
- }), themes.map((theme, i) => {
50
- return /*#__PURE__*/_jsx(MenuItem, {
51
- value: theme?.id,
52
- children: theme?.name
53
- }, i);
64
+ return /*#__PURE__*/_jsxs("div", {
65
+ children: [themes.map((theme, i) => {
66
+ return /*#__PURE__*/_jsxs("button", {
67
+ style: {
68
+ margin: "10px"
69
+ },
70
+ onClick: () => setSelectedTheme(prev => ({
71
+ ...prev,
72
+ colors: theme.colors
73
+ })),
74
+ children: [theme.label, /*#__PURE__*/_jsx("div", {
75
+ children: theme.colors.map((c, j) => {
76
+ return /*#__PURE__*/_jsx("div", {
77
+ style: {
78
+ width: "20px",
79
+ height: "20px",
80
+ background: c,
81
+ margin: "10px"
82
+ }
83
+ }, j);
84
+ })
85
+ })]
86
+ }, i);
87
+ }), /*#__PURE__*/_jsxs("div", {
88
+ children: ["Heading 1 Font Family", /*#__PURE__*/_jsx(Select
89
+ // value={""}
90
+ , {
91
+ label: "Font Family",
92
+ onChange: e => {
93
+ handleTypographyTheme("fontFamily", e.target.value, "h1");
94
+ },
95
+ children: fontOptions.map((font, i) => {
96
+ const {
97
+ text,
98
+ value
99
+ } = font;
100
+ return /*#__PURE__*/_jsx(MenuItem, {
101
+ value: value,
102
+ children: text
103
+ }, i);
104
+ })
105
+ }), "Font Weight", /*#__PURE__*/_jsx(Select
106
+ // value={""}
107
+ , {
108
+ label: "Font Weight",
109
+ onChange: e => {
110
+ handleTypographyTheme("fontWeight", e.target.value, "h1");
111
+ },
112
+ children: fontWeight.options.map((option, i) => {
113
+ const {
114
+ text,
115
+ value
116
+ } = option;
117
+ return /*#__PURE__*/_jsx(MenuItem, {
118
+ value: value,
119
+ children: text
120
+ }, i);
121
+ })
122
+ }), /*#__PURE__*/_jsx("input", {
123
+ type: "number",
124
+ placeholder: "font size",
125
+ onChange: e => {
126
+ handleTypographyTheme("fontSize", e.target.value, "h1");
127
+ }
128
+ }), /*#__PURE__*/_jsxs("div", {
129
+ children: ["Text", /*#__PURE__*/_jsx("br", {}), "Theme color", Object.values(colorVars).map((colorVar, i) => {
130
+ return /*#__PURE__*/_jsx("button", {
131
+ style: {
132
+ width: "20px",
133
+ height: "20px",
134
+ background: colorVar,
135
+ margin: "10px",
136
+ outline: "none"
137
+ },
138
+ onClick: () => handleTypographyTheme("color", colorVar, "h1")
139
+ }, i);
140
+ }), "normal color", /*#__PURE__*/_jsx("button", {
141
+ style: {
142
+ width: "20px",
143
+ height: "20px",
144
+ background: "#ff00e1",
145
+ margin: "10px",
146
+ outline: "none"
147
+ },
148
+ onClick: () => handleTypographyTheme("color", "#ff00e1", "h1")
149
+ })]
150
+ }), /*#__PURE__*/_jsxs("div", {
151
+ children: ["Font styles", fontStyles.map((option, i) => {
152
+ const styles = selectedTheme?.typography?.h1 || {};
153
+ const {
154
+ text,
155
+ value,
156
+ styleField
157
+ } = option;
158
+ return /*#__PURE__*/_jsxs("button", {
159
+ onClick: () => {
160
+ handleTypographyTheme(styleField, styles[styleField] === value ? null : value, "h1");
161
+ },
162
+ children: [text, " ", styles[styleField] === value]
163
+ }, i);
164
+ })]
165
+ }), /*#__PURE__*/_jsx("input", {
166
+ type: "number",
167
+ placeholder: "Margin text Spacing",
168
+ onChange: e => {
169
+ handleTypographyTheme("letterSpacing", e.target.value, "h1");
170
+ }
171
+ }), /*#__PURE__*/_jsx("input", {
172
+ type: "number",
173
+ placeholder: "Line spacing",
174
+ onChange: e => {
175
+ handleTypographyTheme("lineHeight", e.target.value, "h1");
176
+ }
54
177
  })]
55
- })
178
+ })]
56
179
  });
57
180
  }
58
181
  export default ThemeList;
@@ -1,4 +1,4 @@
1
- import { Editor, Transforms, Element as SlateElement, Range, Text, Element } from "slate";
1
+ import { Editor, Transforms, Element as SlateElement, Range } from "slate";
2
2
  import { Box } from "@mui/material";
3
3
  import { sizeMap } from "./font";
4
4
  import Link from "../Elements/Link/Link";
@@ -34,12 +34,12 @@ import SimpleText from "../Elements/SimpleText";
34
34
  import CheckList from "../Elements/List/CheckList";
35
35
  import { getTextColor, isEmptyTextNode } from "../helper";
36
36
  import Attachments from "../Elements/Attachments/Attachments";
37
- import { getBreakPointsValue, textThemeFields, getElementProperty } from "../helper/theme";
37
+ import { getBreakPointsValue, groupByBreakpoint } from "../helper/theme";
38
38
  import Variables from "../Elements/Variables/Variable";
39
+ import insertNewLine from "./insertNewLine";
39
40
  import Divider from "../Elements/Divider/Divider";
40
41
  import { getBorderColor, getSlateDom } from "./helper";
41
42
  import Code from "../Elements/EmbedScript/Code";
42
- import { ReactEditor } from "slate-react";
43
43
  import FreeGrid from "../Elements/FreeGrid/FreeGrid";
44
44
  import FreeGridItem from "../Elements/FreeGrid/FreeGridItem";
45
45
  import FreeGridBox from "../Elements/FreeGrid/FreeGridBox";
@@ -47,7 +47,7 @@ import DataView from "../Elements/DataView/DataView";
47
47
  import ViewData from "../Elements/DataView/Layouts/ViewData";
48
48
  import ColumnView from "../Elements/DataView/Layouts/ColumnView";
49
49
  import SearchAttachment from "../Elements/Search/SearchAttachment";
50
- import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
50
+ // import { wrapThemeBreakpoints } from "../Elements/FreeGrid/breakpointConstants";
51
51
  import { jsx as _jsx } from "react/jsx-runtime";
52
52
  const alignment = ["alignLeft", "alignRight", "alignCenter", "alignJustify"];
53
53
  const list_types = ["orderedList", "unorderedList"];
@@ -56,7 +56,6 @@ const LIST_FORMAT_TYPE = {
56
56
  unorderedList: "list-item"
57
57
  };
58
58
  const NEWLINESAFTER = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix"];
59
- const THEME_BLOCK_FIELDS = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
60
59
  export const toggleBlock = (editor, format, selection = true, attr = {}) => {
61
60
  const isActive = isBlockActive(editor, format);
62
61
  const isList = list_types.includes(format);
@@ -89,9 +88,8 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
89
88
  if (!selection) {
90
89
  Transforms.insertText(editor, "");
91
90
  }
92
- const forActiveType = THEME_BLOCK_FIELDS.some(f => f === format) ? format : "paragraph";
93
91
  Transforms.setNodes(editor, {
94
- type: isActive ? forActiveType : isList ? LIST_FORMAT_TYPE[format] : format,
92
+ type: isActive ? "paragraph" : isList ? LIST_FORMAT_TYPE[format] : format,
95
93
  ...attr
96
94
  });
97
95
  if (isList && !isActive) {
@@ -100,12 +98,10 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
100
98
  children: []
101
99
  });
102
100
  }
103
-
104
- // if (NEWLINESAFTER.indexOf(format) > -1) {
105
- // insertNewLine(editor);
106
- // }
101
+ if (NEWLINESAFTER.indexOf(format) > -1) {
102
+ insertNewLine(editor);
103
+ }
107
104
  };
108
-
109
105
  export const addMarkData = (editor, data) => {
110
106
  try {
111
107
  Editor.addMark(editor, data.format, data.value);
@@ -114,14 +110,9 @@ export const addMarkData = (editor, data) => {
114
110
  }
115
111
  };
116
112
  export const toggleMark = (editor, format) => {
117
- const isActive = isMarkBtnActive(editor, format);
113
+ const isActive = isMarkActive(editor, format);
118
114
  if (isActive) {
119
- const isThemeSupportedMark = textThemeFields.some(f => f === format);
120
- if (isThemeSupportedMark) {
121
- Editor.addMark(editor, format, false);
122
- } else {
123
- Editor.removeMark(editor, format);
124
- }
115
+ Editor.removeMark(editor, format);
125
116
  } else {
126
117
  Editor.addMark(editor, format, true);
127
118
  }
@@ -135,58 +126,6 @@ export const isMarkActive = (editor, format) => {
135
126
  return null;
136
127
  }
137
128
  };
138
- export const isMarkBtnActive = (editor, format) => {
139
- switch (format) {
140
- case "bold":
141
- {
142
- const style = getSelectedElementStyle("font-weight", editor);
143
- return style === "700";
144
- }
145
- case "italic":
146
- {
147
- const style = getSelectedElementStyle("font-style", editor);
148
- return style === format;
149
- }
150
- // case "underline": {
151
- // const style = getSelectedElementStyle("text-decoration");
152
-
153
- // return style?.includes(format);
154
- // }
155
- // case "strikethrough": {
156
- // const style = getSelectedElementStyle("text-decoration");
157
-
158
- // return style?.includes("line-through");
159
- // }
160
- default:
161
- return isMarkActive(editor, format);
162
- }
163
- };
164
- export const getSelectedElementStyle = (styleProperty, editor, format) => {
165
- try {
166
- if (!editor.selection) {
167
- return "";
168
- }
169
- if (Range.isCollapsed(editor.selection)) {
170
- return "";
171
- }
172
- if (format) {
173
- const value = activeMark(editor, format, true);
174
- if (value) {
175
- return value;
176
- }
177
- }
178
- const domRange = ReactEditor.toDOMRange(editor, editor.selection);
179
- const selectedDomNode = domRange.commonAncestorContainer;
180
-
181
- // If it's a text node, get its parent element
182
- const selectedElement = selectedDomNode.nodeType === 3 ? selectedDomNode.parentElement : selectedDomNode;
183
- if (selectedElement) {
184
- return getElementProperty(selectedElement, styleProperty);
185
- }
186
- } catch (err) {
187
- console.log(err);
188
- }
189
- };
190
129
  export const isBlockActive = (editor, format) => {
191
130
  const [match] = Editor.nodes(editor, {
192
131
  match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
@@ -212,7 +151,7 @@ export const upateBlockActive = (editor, format, attr = {}) => {
212
151
  });
213
152
  }
214
153
  };
215
- export const activeMark = (editor, format, noDefaultValue) => {
154
+ export const activeMark = (editor, format) => {
216
155
  const defaultMarkData = {
217
156
  color: "#000000",
218
157
  bgColor: "#FFFFFF",
@@ -222,7 +161,7 @@ export const activeMark = (editor, format, noDefaultValue) => {
222
161
  };
223
162
  try {
224
163
  const marks = Editor.marks(editor);
225
- let defaultValue = noDefaultValue ? "" : defaultMarkData[format];
164
+ let defaultValue = defaultMarkData[format];
226
165
  const {
227
166
  selection
228
167
  } = editor || {};
@@ -239,31 +178,6 @@ export const activeMark = (editor, format, noDefaultValue) => {
239
178
  return null;
240
179
  }
241
180
  };
242
-
243
- // to avoid the styles, that automatically assign from themes
244
- const getThemeMarkedLeaf = (leaf, children) => {
245
- const {
246
- italic,
247
- bold
248
- } = leaf || {};
249
- const style = {};
250
- if (italic === false) {
251
- style.fontStyle = "normal";
252
- }
253
- if (bold === false) {
254
- style.fontWeight = "normal";
255
- }
256
- if (Object.keys(style).length) {
257
- children = /*#__PURE__*/_jsx(Box, {
258
- component: "span",
259
- sx: {
260
- "& span": style
261
- },
262
- children: children
263
- });
264
- }
265
- return children;
266
- };
267
181
  export const getMarked = (leaf, children, theme) => {
268
182
  const className = leaf?.doublequote ? "doublequote" : "";
269
183
  if (leaf.highlight) {
@@ -290,7 +204,6 @@ export const getMarked = (leaf, children, theme) => {
290
204
  children: children
291
205
  });
292
206
  }
293
- children = getThemeMarkedLeaf(leaf, children);
294
207
  if (leaf.strikethrough) {
295
208
  children = /*#__PURE__*/_jsx("span", {
296
209
  style: {
@@ -318,27 +231,20 @@ export const getMarked = (leaf, children, theme) => {
318
231
  if (leaf.color || leaf.bgColor || leaf.fontSize || leaf.fontFamily || leaf.fontWeight || className) {
319
232
  const family = leaf?.fontFamily;
320
233
  const textStyles = getTextColor(leaf?.color);
321
- const fontSize = {
322
- lg: sizeMap[leaf.fontSize] || leaf.fontSize,
323
- ...getBreakPointsValue(leaf.fontSize, null, "overrideText")
324
- };
325
- const fontSizesImportant = {};
326
- Object.entries(fontSize).forEach(([key, value]) => {
327
- fontSizesImportant[key] = `${value} !important`;
328
- });
329
- const fontSizeWithBreakpoints = wrapThemeBreakpoints(fontSizesImportant, "fontSize", theme);
330
234
  children = /*#__PURE__*/_jsx("span", {
235
+ style: {
236
+ background: leaf.bgColor
237
+ },
331
238
  children: /*#__PURE__*/_jsx(Box, {
332
- className: `${className} leaf-item`,
239
+ className: className,
333
240
  component: "span",
334
241
  sx: {
335
- "& span": {
336
- // fontSize: fontSizesImportant,
337
- // ...groupByBreakpoint(fontSizesImportant, theme),
338
- background: leaf.bgColor,
339
- ...fontSizeWithBreakpoints
340
- },
341
- ...fontSizeWithBreakpoints,
242
+ ...groupByBreakpoint({
243
+ fontSize: {
244
+ lg: sizeMap[leaf.fontSize] || leaf.fontSize,
245
+ ...getBreakPointsValue(leaf.fontSize, null, "overrideText")
246
+ }
247
+ }, theme),
342
248
  // ...wrapThemeBreakpoints(
343
249
  // {
344
250
  // lg: sizeMap[leaf.fontSize] || leaf.fontSize,
@@ -351,16 +257,11 @@ export const getMarked = (leaf, children, theme) => {
351
257
  // lg: sizeMap[leaf.fontSize] || leaf.fontSize,
352
258
  // ...getBreakPointsValue(leaf.fontSize, null, "overrideText"),
353
259
  // },
354
- '& span[data-slate-string="true"]': {
355
- ...textStyles
356
- },
260
+ ...textStyles,
357
261
  fontFamily: family,
358
262
  fontWeight: leaf.fontWeight,
359
263
  WebkitTextFillColor: "unset !important"
360
264
  },
361
- style: {
362
- "--fontSize_xs": leaf?.fontSize?.xs || "auto"
363
- },
364
265
  children: children
365
266
  })
366
267
  });
@@ -382,77 +283,57 @@ export const getMarked = (leaf, children, theme) => {
382
283
  export const getBlock = props => {
383
284
  const {
384
285
  element,
385
- children,
386
- customProps
286
+ children
387
287
  } = props;
388
288
  const attributes = props.attributes ?? {};
389
289
  const isEmpty = isEmptyTextNode(element);
390
- const {
391
- translation
392
- } = customProps;
393
- const commonHeadingProps = () => ({
394
- ...attributes,
395
- ...element.attr,
396
- className: `edt-headings content-editable ${isEmpty ? "empty" : ""} theme-element`
397
- });
398
- const commonParaProps = paraType => ({
399
- ...attributes,
400
- ...element.attr,
401
- className: `edt-paragraphs content-editable ${isEmpty ? "empty" : ""} theme-element ${paraType}`
402
- });
403
290
  switch (element.type) {
404
291
  case "headingOne":
405
292
  return /*#__PURE__*/_jsx("h1", {
406
- ...commonHeadingProps(),
407
- placeholder: translation("Heading 1"),
293
+ ...attributes,
294
+ ...element.attr,
295
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
296
+ placeholder: "Heading 1",
408
297
  children: children
409
298
  });
410
299
  case "headingTwo":
411
300
  return /*#__PURE__*/_jsx("h2", {
412
- ...commonHeadingProps(),
413
- placeholder: translation("Heading 2"),
301
+ ...attributes,
302
+ ...element.attr,
303
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
304
+ placeholder: "Heading 2",
414
305
  children: children
415
306
  });
416
307
  case "headingThree":
417
308
  return /*#__PURE__*/_jsx("h3", {
418
- ...commonHeadingProps(),
419
- placeholder: translation("Heading 3"),
309
+ ...attributes,
310
+ ...element.attr,
311
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
312
+ placeholder: "Heading 3",
420
313
  children: children
421
314
  });
422
315
  case "headingFour":
423
316
  return /*#__PURE__*/_jsx("h4", {
424
- ...commonHeadingProps(),
425
- placeholder: translation("Heading 4"),
317
+ ...attributes,
318
+ ...element.attr,
319
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
320
+ placeholder: "Heading 4",
426
321
  children: children
427
322
  });
428
323
  case "headingFive":
429
324
  return /*#__PURE__*/_jsx("h5", {
430
- ...commonHeadingProps(),
431
- placeholder: translation("Heading 5"),
325
+ ...attributes,
326
+ ...element.attr,
327
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
328
+ placeholder: "Heading 5",
432
329
  children: children
433
330
  });
434
331
  case "headingSix":
435
332
  return /*#__PURE__*/_jsx("h6", {
436
- ...commonHeadingProps(),
437
- placeholder: translation("Heading 6"),
438
- children: children
439
- });
440
- case "paragraphOne":
441
- return /*#__PURE__*/_jsx("p", {
442
- ...commonParaProps("para1"),
443
- placeholder: "Paragraph 1",
444
- children: children
445
- });
446
- case "paragraphTwo":
447
- return /*#__PURE__*/_jsx("p", {
448
- ...commonParaProps("para2"),
449
- placeholder: "Paragraph 2",
450
- children: children
451
- });
452
- case "paragraphThree":
453
- return /*#__PURE__*/_jsx("p", {
454
- ...commonParaProps("para3"),
455
- placeholder: "Paragraph 3",
333
+ ...attributes,
334
+ ...element.attr,
335
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
336
+ placeholder: "Heading 6",
456
337
  children: children
457
338
  });
458
339
  case "blockquote":
@@ -520,7 +401,7 @@ export const getBlock = props => {
520
401
  ...attributes,
521
402
  ...element.attr,
522
403
  className: `content-editable ${isEmpty ? "empty" : ""}`,
523
- placeholder: translation("List"),
404
+ placeholder: "List",
524
405
  style: {
525
406
  color: firstChildren?.color
526
407
  },
@@ -82,8 +82,7 @@ const splitInlineStyleRanges = (text, inlineStyleRanges, data) => {
82
82
  };
83
83
  export const draftToSlate = props => {
84
84
  const {
85
- data,
86
- needLayout
85
+ data
87
86
  } = props;
88
87
  if (data?.blocks && data?.blocks?.length > 0) {
89
88
  const converted = data?.blocks?.reduce((a, b) => {
@@ -105,7 +104,7 @@ export const draftToSlate = props => {
105
104
  return data;
106
105
  } else {
107
106
  return [{
108
- type: needLayout ? "title" : "paragraph",
107
+ type: "paragraph",
109
108
  children: [{
110
109
  text: ""
111
110
  }]