@flozy/editor 9.3.5 → 9.3.7

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 (254) hide show
  1. package/dist/Editor/ChatEditor.js +15 -51
  2. package/dist/Editor/CommonEditor.js +23 -133
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +9 -19
  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 +14 -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 +4 -4
  28. package/dist/Editor/Elements/Color Picker/Styles.js +3 -3
  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 +1 -4
  33. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
  34. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +1 -6
  35. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +2 -7
  36. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +12 -13
  37. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +4 -7
  38. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +5 -7
  39. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +7 -9
  40. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +2 -3
  41. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +3 -5
  42. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +5 -6
  43. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +3 -5
  44. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +6 -7
  45. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +38 -64
  46. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +2 -3
  47. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +2 -3
  48. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +6 -12
  49. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -4
  50. package/dist/Editor/Elements/DataView/Layouts/TableView.js +4 -6
  51. package/dist/Editor/Elements/DataView/Layouts/index.js +1 -3
  52. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +2 -5
  53. package/dist/Editor/Elements/Divider/Divider.js +3 -5
  54. package/dist/Editor/Elements/Divider/DividerButton.js +2 -6
  55. package/dist/Editor/Elements/Divider/DividerPopup.js +2 -3
  56. package/dist/Editor/Elements/Embed/Embed.js +1 -4
  57. package/dist/Editor/Elements/Embed/EmbedPopup.js +1 -4
  58. package/dist/Editor/Elements/Embed/Image.js +11 -16
  59. package/dist/Editor/Elements/Embed/Video.js +7 -10
  60. package/dist/Editor/Elements/EmbedScript/Code.js +4 -7
  61. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +2 -6
  62. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +5 -8
  63. package/dist/Editor/Elements/Emoji/EmojiButton.js +2 -6
  64. package/dist/Editor/Elements/Form/FieldPopup.js +1 -4
  65. package/dist/Editor/Elements/Form/Form.js +9 -12
  66. package/dist/Editor/Elements/Form/FormButton.js +2 -6
  67. package/dist/Editor/Elements/Form/FormPopup.js +2 -3
  68. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +12 -18
  69. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +8 -13
  70. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +2 -3
  71. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +2 -4
  72. package/dist/Editor/Elements/Form/Workflow/index.js +9 -15
  73. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +18 -21
  74. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +2 -6
  75. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +2 -6
  76. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +3 -8
  77. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +2 -3
  78. package/dist/Editor/Elements/FreeGrid/Options/More.js +3 -4
  79. package/dist/Editor/Elements/FreeGrid/styles.js +0 -3
  80. package/dist/Editor/Elements/Grid/Grid.js +10 -13
  81. package/dist/Editor/Elements/Grid/GridButton.js +5 -9
  82. package/dist/Editor/Elements/Grid/GridItem.js +8 -14
  83. package/dist/Editor/Elements/Grid/GridItemPopup.js +1 -4
  84. package/dist/Editor/Elements/Grid/GridPopup.js +1 -4
  85. package/dist/Editor/Elements/Grid/SectionPopup.js +1 -4
  86. package/dist/Editor/Elements/Link/Link.js +7 -14
  87. package/dist/Editor/Elements/Link/LinkButton.js +1 -4
  88. package/dist/Editor/Elements/List/CheckList.js +9 -14
  89. package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -6
  90. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +5 -16
  91. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +1 -4
  92. package/dist/Editor/Elements/Search/SearchButton.js +3 -6
  93. package/dist/Editor/Elements/Search/SearchList.js +3 -7
  94. package/dist/Editor/Elements/Signature/SignatureButton.js +2 -6
  95. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -6
  96. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +1 -4
  97. package/dist/Editor/Elements/Signature/SignaturePopup.js +16 -17
  98. package/dist/Editor/Elements/SimpleText/index.js +4 -5
  99. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  100. package/dist/Editor/Elements/Table/DragButton.js +2 -4
  101. package/dist/Editor/Elements/Table/Table.js +25 -48
  102. package/dist/Editor/Elements/Table/TableCell.js +27 -6
  103. package/dist/Editor/Elements/Table/TablePopup.js +1 -4
  104. package/dist/Editor/Elements/Table/TableSelector.js +6 -10
  105. package/dist/Editor/Elements/Table/TableTool.js +4 -8
  106. package/dist/Editor/Elements/Title/title.js +0 -10
  107. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +1 -4
  108. package/dist/Editor/Elements/Variables/VariableButton.js +1 -10
  109. package/dist/Editor/MiniEditor.js +3 -10
  110. package/dist/Editor/Styles/EditorStyles.js +5 -5
  111. package/dist/Editor/Toolbar/Basic/index.js +1 -2
  112. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +2 -6
  113. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  114. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  115. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +4 -8
  116. package/dist/Editor/Toolbar/FormatTools/TextSize.js +13 -7
  117. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +15 -20
  118. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +5 -10
  119. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +4 -10
  120. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +4 -10
  121. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +2 -6
  122. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +35 -42
  123. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +13 -6
  124. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +51 -58
  125. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +22 -29
  126. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +87 -226
  127. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +7 -15
  128. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +4 -8
  129. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +9 -16
  130. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +5 -11
  131. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +44 -126
  132. package/dist/Editor/Toolbar/PopupTool/index.js +17 -6
  133. package/dist/Editor/Toolbar/Toolbar.js +10 -20
  134. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  135. package/dist/Editor/assets/svg/CalenderIconTick.js +0 -1
  136. package/dist/Editor/common/ColorPickerButton.js +10 -45
  137. package/dist/Editor/common/CustomDialog/index.js +10 -8
  138. package/dist/Editor/common/CustomDialog/styles.js +1 -1
  139. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  140. package/dist/Editor/common/FontLoader/FontLoader.js +0 -3
  141. package/dist/Editor/common/Icon.js +1 -46
  142. package/dist/Editor/common/ImageSelector/ImageSelector.js +8 -10
  143. package/dist/Editor/common/ImageSelector/Options/AddLink.js +4 -6
  144. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  145. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  146. package/dist/Editor/common/ImageSelector/UploadStyles.js +9 -9
  147. package/dist/Editor/common/LinkSettings/NavComponents.js +10 -14
  148. package/dist/Editor/common/LinkSettings/index.js +14 -20
  149. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  150. package/dist/Editor/common/MentionsPopup/Styles.js +73 -111
  151. package/dist/Editor/common/MentionsPopup/index.js +4 -8
  152. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
  153. package/dist/Editor/common/RnD/ContextMenu/index.js +2 -3
  154. package/dist/Editor/common/RnD/ElementOptions/index.js +2 -7
  155. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +3 -8
  156. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +3 -7
  157. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  158. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  159. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  160. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  161. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -7
  162. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +2 -3
  163. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  164. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +2 -6
  165. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +2 -3
  166. package/dist/Editor/common/RnD/ElementSettings/styles.js +1 -0
  167. package/dist/Editor/common/RnD/OptionsPopup/index.js +3 -4
  168. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +4 -11
  169. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +8 -20
  170. package/dist/Editor/common/RnD/Utils/index.js +0 -45
  171. package/dist/Editor/common/RnD/VirtualElement/index.js +2 -1
  172. package/dist/Editor/common/RnD/index.js +7 -34
  173. package/dist/Editor/common/Section/index.js +4 -7
  174. package/dist/Editor/common/Shorthands/elements.js +10 -98
  175. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  176. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  177. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -6
  178. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  179. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  180. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  181. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +9 -13
  182. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -11
  183. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +5 -19
  184. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +10 -22
  185. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +3 -6
  186. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +13 -27
  187. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +14 -41
  188. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +6 -10
  189. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +6 -19
  190. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +2 -6
  191. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -5
  192. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +6 -9
  193. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +2 -8
  194. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +11 -12
  195. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +2 -6
  196. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -8
  197. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +2 -6
  198. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +12 -21
  199. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  200. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  201. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  202. package/dist/Editor/common/StyleBuilder/index.js +5 -8
  203. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +7 -5
  204. package/dist/Editor/common/Uploader.js +5 -16
  205. package/dist/Editor/commonStyle.js +23 -13
  206. package/dist/Editor/helper/index.js +12 -8
  207. package/dist/Editor/helper/theme.js +2 -200
  208. package/dist/Editor/hooks/useDrag.js +11 -17
  209. package/dist/Editor/hooks/useEditorScroll.js +6 -10
  210. package/dist/Editor/hooks/useMouseMove.js +13 -25
  211. package/dist/Editor/hooks/useTable.js +1 -1
  212. package/dist/Editor/plugins/withEmbeds.js +1 -1
  213. package/dist/Editor/plugins/withHTML.js +15 -19
  214. package/dist/Editor/plugins/withLayout.js +2 -3
  215. package/dist/Editor/plugins/withTable.js +1 -1
  216. package/dist/Editor/theme/ThemeList.js +173 -50
  217. package/dist/Editor/utils/SlateUtilityFunctions.js +47 -171
  218. package/dist/Editor/utils/button.js +2 -7
  219. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +0 -23
  220. package/dist/Editor/utils/dataView.js +2 -5
  221. package/dist/Editor/utils/divider.js +0 -8
  222. package/dist/Editor/utils/draftToSlate.js +2 -3
  223. package/dist/Editor/utils/embed.js +4 -9
  224. package/dist/Editor/utils/font.js +37 -40
  225. package/dist/Editor/utils/helper.js +20 -74
  226. package/dist/Editor/utils/signature.js +2 -5
  227. package/dist/Editor/utils/table.js +0 -8
  228. package/package.json +2 -2
  229. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -441
  230. package/dist/Editor/assets/svg/ThemeIcons.js +0 -291
  231. package/dist/Editor/common/CustomColorPicker/index.js +0 -125
  232. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  233. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  234. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  235. package/dist/Editor/common/CustomSelect.js +0 -33
  236. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  237. package/dist/Editor/helper/textIndeces.js +0 -58
  238. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  239. package/dist/Editor/theme/index.js +0 -144
  240. package/dist/Editor/themeSettings/ActiveTheme.js +0 -72
  241. package/dist/Editor/themeSettings/buttons/index.js +0 -285
  242. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  243. package/dist/Editor/themeSettings/colorTheme/index.js +0 -297
  244. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  245. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  246. package/dist/Editor/themeSettings/fonts/index.js +0 -222
  247. package/dist/Editor/themeSettings/fonts/style.js +0 -59
  248. package/dist/Editor/themeSettings/icons.js +0 -60
  249. package/dist/Editor/themeSettings/index.js +0 -328
  250. package/dist/Editor/themeSettings/style.js +0 -193
  251. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  252. package/dist/Editor/themeSettingsAI/index.js +0 -355
  253. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -215
  254. package/dist/Editor/themeSettingsAI/style.js +0 -250
@@ -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;
@@ -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"];
@@ -55,17 +55,7 @@ const LIST_FORMAT_TYPE = {
55
55
  orderedList: "list-item",
56
56
  unorderedList: "list-item"
57
57
  };
58
-
59
- // const NEWLINESAFTER = [
60
- // "headingOne",
61
- // "headingTwo",
62
- // "headingThree",
63
- // "headingFour",
64
- // "headingFive",
65
- // "headingSix",
66
- // ];
67
-
68
- const THEME_BLOCK_FIELDS = ["headingOne", "headingTwo", "headingThree", "headingFour", "headingFive", "headingSix", "paragraphOne", "paragraphTwo", "paragraphThree"];
58
+ const NEWLINESAFTER = ["headingOne", "headingTwo", "headingThree"];
69
59
  export const toggleBlock = (editor, format, selection = true, attr = {}) => {
70
60
  const isActive = isBlockActive(editor, format);
71
61
  const isList = list_types.includes(format);
@@ -98,9 +88,8 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
98
88
  if (!selection) {
99
89
  Transforms.insertText(editor, "");
100
90
  }
101
- const forActiveType = THEME_BLOCK_FIELDS.some(f => f === format) ? format : "paragraph";
102
91
  Transforms.setNodes(editor, {
103
- type: isActive ? forActiveType : isList ? LIST_FORMAT_TYPE[format] : format,
92
+ type: isActive ? "paragraph" : isList ? LIST_FORMAT_TYPE[format] : format,
104
93
  ...attr
105
94
  });
106
95
  if (isList && !isActive) {
@@ -109,12 +98,10 @@ export const toggleBlock = (editor, format, selection = true, attr = {}) => {
109
98
  children: []
110
99
  });
111
100
  }
112
-
113
- // if (NEWLINESAFTER.indexOf(format) > -1) {
114
- // insertNewLine(editor);
115
- // }
101
+ if (NEWLINESAFTER.indexOf(format) > -1) {
102
+ insertNewLine(editor);
103
+ }
116
104
  };
117
-
118
105
  export const addMarkData = (editor, data) => {
119
106
  try {
120
107
  Editor.addMark(editor, data.format, data.value);
@@ -123,14 +110,9 @@ export const addMarkData = (editor, data) => {
123
110
  }
124
111
  };
125
112
  export const toggleMark = (editor, format) => {
126
- const isActive = isMarkBtnActive(editor, format);
113
+ const isActive = isMarkActive(editor, format);
127
114
  if (isActive) {
128
- const isThemeSupportedMark = textThemeFields.some(f => f === format);
129
- if (isThemeSupportedMark) {
130
- Editor.addMark(editor, format, false);
131
- } else {
132
- Editor.removeMark(editor, format);
133
- }
115
+ Editor.removeMark(editor, format);
134
116
  } else {
135
117
  Editor.addMark(editor, format, true);
136
118
  }
@@ -144,58 +126,6 @@ export const isMarkActive = (editor, format) => {
144
126
  return null;
145
127
  }
146
128
  };
147
- export const isMarkBtnActive = (editor, format) => {
148
- switch (format) {
149
- case "bold":
150
- {
151
- const style = getSelectedElementStyle("font-weight", editor);
152
- return style === "700";
153
- }
154
- case "italic":
155
- {
156
- const style = getSelectedElementStyle("font-style", editor);
157
- return style === format;
158
- }
159
- // case "underline": {
160
- // const style = getSelectedElementStyle("text-decoration");
161
-
162
- // return style?.includes(format);
163
- // }
164
- // case "strikethrough": {
165
- // const style = getSelectedElementStyle("text-decoration");
166
-
167
- // return style?.includes("line-through");
168
- // }
169
- default:
170
- return isMarkActive(editor, format);
171
- }
172
- };
173
- export const getSelectedElementStyle = (styleProperty, editor, format) => {
174
- try {
175
- if (!editor.selection) {
176
- return "";
177
- }
178
- if (Range.isCollapsed(editor.selection)) {
179
- return "";
180
- }
181
- if (format) {
182
- const value = activeMark(editor, format, true);
183
- if (value) {
184
- return value;
185
- }
186
- }
187
- const domRange = ReactEditor.toDOMRange(editor, editor.selection);
188
- const selectedDomNode = domRange.commonAncestorContainer;
189
-
190
- // If it's a text node, get its parent element
191
- const selectedElement = selectedDomNode.nodeType === 3 ? selectedDomNode.parentElement : selectedDomNode;
192
- if (selectedElement) {
193
- return getElementProperty(selectedElement, styleProperty);
194
- }
195
- } catch (err) {
196
- console.log(err);
197
- }
198
- };
199
129
  export const isBlockActive = (editor, format) => {
200
130
  const [match] = Editor.nodes(editor, {
201
131
  match: n => !Editor.isEditor(n) && SlateElement.isElement(n) && n.type === format
@@ -221,7 +151,7 @@ export const upateBlockActive = (editor, format, attr = {}) => {
221
151
  });
222
152
  }
223
153
  };
224
- export const activeMark = (editor, format, noDefaultValue) => {
154
+ export const activeMark = (editor, format) => {
225
155
  const defaultMarkData = {
226
156
  color: "#000000",
227
157
  bgColor: "#FFFFFF",
@@ -231,7 +161,7 @@ export const activeMark = (editor, format, noDefaultValue) => {
231
161
  };
232
162
  try {
233
163
  const marks = Editor.marks(editor);
234
- let defaultValue = noDefaultValue ? "" : defaultMarkData[format];
164
+ let defaultValue = defaultMarkData[format];
235
165
  const {
236
166
  selection
237
167
  } = editor || {};
@@ -248,31 +178,6 @@ export const activeMark = (editor, format, noDefaultValue) => {
248
178
  return null;
249
179
  }
250
180
  };
251
-
252
- // to avoid the styles, that automatically assign from themes
253
- const getThemeMarkedLeaf = (leaf, children) => {
254
- const {
255
- italic,
256
- bold
257
- } = leaf || {};
258
- const style = {};
259
- if (italic === false) {
260
- style.fontStyle = "normal";
261
- }
262
- if (bold === false) {
263
- style.fontWeight = "normal";
264
- }
265
- if (Object.keys(style).length) {
266
- children = /*#__PURE__*/_jsx(Box, {
267
- component: "span",
268
- sx: {
269
- "& span": style
270
- },
271
- children: children
272
- });
273
- }
274
- return children;
275
- };
276
181
  export const getMarked = (leaf, children, theme) => {
277
182
  const className = leaf?.doublequote ? "doublequote" : "";
278
183
  if (leaf.highlight) {
@@ -299,7 +204,6 @@ export const getMarked = (leaf, children, theme) => {
299
204
  children: children
300
205
  });
301
206
  }
302
- children = getThemeMarkedLeaf(leaf, children);
303
207
  if (leaf.strikethrough) {
304
208
  children = /*#__PURE__*/_jsx("span", {
305
209
  style: {
@@ -327,27 +231,20 @@ export const getMarked = (leaf, children, theme) => {
327
231
  if (leaf.color || leaf.bgColor || leaf.fontSize || leaf.fontFamily || leaf.fontWeight || className) {
328
232
  const family = leaf?.fontFamily;
329
233
  const textStyles = getTextColor(leaf?.color);
330
- const fontSize = {
331
- lg: sizeMap[leaf.fontSize] || leaf.fontSize,
332
- ...getBreakPointsValue(leaf.fontSize, null, "overrideText")
333
- };
334
- const fontSizesImportant = {};
335
- Object.entries(fontSize).forEach(([key, value]) => {
336
- fontSizesImportant[key] = `${value} !important`;
337
- });
338
- const fontSizeWithBreakpoints = wrapThemeBreakpoints(fontSizesImportant, "fontSize", theme);
339
234
  children = /*#__PURE__*/_jsx("span", {
235
+ style: {
236
+ background: leaf.bgColor
237
+ },
340
238
  children: /*#__PURE__*/_jsx(Box, {
341
239
  className: className,
342
240
  component: "span",
343
241
  sx: {
344
- "& span": {
345
- // fontSize: fontSizesImportant,
346
- // ...groupByBreakpoint(fontSizesImportant, theme),
347
- background: leaf.bgColor,
348
- ...fontSizeWithBreakpoints
349
- },
350
- ...fontSizeWithBreakpoints,
242
+ ...groupByBreakpoint({
243
+ fontSize: {
244
+ lg: sizeMap[leaf.fontSize] || leaf.fontSize,
245
+ ...getBreakPointsValue(leaf.fontSize, null, "overrideText")
246
+ }
247
+ }, theme),
351
248
  // ...wrapThemeBreakpoints(
352
249
  // {
353
250
  // lg: sizeMap[leaf.fontSize] || leaf.fontSize,
@@ -377,7 +274,6 @@ export const getMarked = (leaf, children, theme) => {
377
274
  rel: "noreferrer",
378
275
  target: "_blank",
379
276
  href: leaf.text,
380
- className: "hyperLink",
381
277
  children: children
382
278
  });
383
279
  }
@@ -386,77 +282,57 @@ export const getMarked = (leaf, children, theme) => {
386
282
  export const getBlock = props => {
387
283
  const {
388
284
  element,
389
- children,
390
- customProps
285
+ children
391
286
  } = props;
392
287
  const attributes = props.attributes ?? {};
393
288
  const isEmpty = isEmptyTextNode(element);
394
- const {
395
- translation
396
- } = customProps;
397
- const commonHeadingProps = () => ({
398
- ...attributes,
399
- ...element.attr,
400
- className: `edt-headings content-editable ${isEmpty ? "empty" : ""} theme-element`
401
- });
402
- const commonParaProps = paraType => ({
403
- ...attributes,
404
- ...element.attr,
405
- className: `content-editable ${isEmpty ? "empty" : ""} theme-element ${paraType}`
406
- });
407
289
  switch (element.type) {
408
290
  case "headingOne":
409
291
  return /*#__PURE__*/_jsx("h1", {
410
- ...commonHeadingProps(),
411
- placeholder: translation("Heading 1"),
292
+ ...attributes,
293
+ ...element.attr,
294
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
295
+ placeholder: "Heading 1",
412
296
  children: children
413
297
  });
414
298
  case "headingTwo":
415
299
  return /*#__PURE__*/_jsx("h2", {
416
- ...commonHeadingProps(),
417
- placeholder: translation("Heading 2"),
300
+ ...attributes,
301
+ ...element.attr,
302
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
303
+ placeholder: "Heading 2",
418
304
  children: children
419
305
  });
420
306
  case "headingThree":
421
307
  return /*#__PURE__*/_jsx("h3", {
422
- ...commonHeadingProps(),
423
- placeholder: translation("Heading 3"),
308
+ ...attributes,
309
+ ...element.attr,
310
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
311
+ placeholder: "Heading 3",
424
312
  children: children
425
313
  });
426
314
  case "headingFour":
427
315
  return /*#__PURE__*/_jsx("h4", {
428
- ...commonHeadingProps(),
429
- placeholder: translation("Heading 4"),
316
+ ...attributes,
317
+ ...element.attr,
318
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
319
+ placeholder: "Heading 4",
430
320
  children: children
431
321
  });
432
322
  case "headingFive":
433
323
  return /*#__PURE__*/_jsx("h5", {
434
- ...commonHeadingProps(),
435
- placeholder: translation("Heading 5"),
324
+ ...attributes,
325
+ ...element.attr,
326
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
327
+ placeholder: "Heading 5",
436
328
  children: children
437
329
  });
438
330
  case "headingSix":
439
331
  return /*#__PURE__*/_jsx("h6", {
440
- ...commonHeadingProps(),
441
- placeholder: translation("Heading 6"),
442
- children: children
443
- });
444
- case "paragraphOne":
445
- return /*#__PURE__*/_jsx("p", {
446
- ...commonParaProps("para1"),
447
- placeholder: "Paragraph 1",
448
- children: children
449
- });
450
- case "paragraphTwo":
451
- return /*#__PURE__*/_jsx("p", {
452
- ...commonParaProps("para2"),
453
- placeholder: "Paragraph 2",
454
- children: children
455
- });
456
- case "paragraphThree":
457
- return /*#__PURE__*/_jsx("p", {
458
- ...commonParaProps("para3"),
459
- placeholder: "Paragraph 3",
332
+ ...attributes,
333
+ ...element.attr,
334
+ className: `edt-headings content-editable ${isEmpty ? "empty" : ""}`,
335
+ placeholder: "Heading 6",
460
336
  children: children
461
337
  });
462
338
  case "blockquote":
@@ -524,7 +400,7 @@ export const getBlock = props => {
524
400
  ...attributes,
525
401
  ...element.attr,
526
402
  className: `content-editable ${isEmpty ? "empty" : ""}`,
527
- placeholder: translation("List"),
403
+ placeholder: "List",
528
404
  style: {
529
405
  color: firstChildren?.color
530
406
  },
@@ -1,7 +1,6 @@
1
- import { Path, Transforms } from "slate";
1
+ import { Transforms } from "slate";
2
2
  import insertNewLine from "./insertNewLine";
3
3
  import { windowVar } from "./helper";
4
- import { getCurrentElementText } from "../plugins/withHTML";
5
4
  export const insertButton = editor => {
6
5
  const button = {
7
6
  type: "button",
@@ -28,11 +27,7 @@ export const insertButton = editor => {
28
27
  },
29
28
  ...(windowVar.lastButtonProps || {})
30
29
  };
31
- const hasText = getCurrentElementText(editor);
32
- const insertPath = hasText ? Path.next(Path.parent(editor?.selection.focus.path)) : editor?.selection.focus.path;
33
- Transforms.insertNodes(editor, button, {
34
- at: insertPath
35
- });
30
+ Transforms.insertNodes(editor, button);
36
31
  Transforms.move(editor);
37
32
  insertNewLine(editor);
38
33
  };
@@ -8,9 +8,6 @@ import { isEmptyTextNode } from "../../helper";
8
8
  import { getBreakPointsValue } from "../../helper/theme";
9
9
  import insertNewLine from "../insertNewLine";
10
10
  import { getBorderColor } from "../helper";
11
- import Table from "../../Elements/Table/Table";
12
- import TableRow from "../../Elements/Table/TableRow";
13
- import TableCell from "../../Elements/Table/TableCell";
14
11
  import { jsx as _jsx } from "react/jsx-runtime";
15
12
  const alignment = ["alignLeft", "alignRight", "alignCenter"];
16
13
  const list_types = ["orderedList", "unorderedList"];
@@ -409,26 +406,6 @@ export const getBlock = props => {
409
406
  return /*#__PURE__*/_jsx(Mentions, {
410
407
  ...props
411
408
  });
412
- case "table":
413
- return /*#__PURE__*/_jsx(Table, {
414
- ...props
415
- });
416
- case "table-head":
417
- return /*#__PURE__*/_jsx("thead", {
418
- children: children
419
- });
420
- case "table-body":
421
- return /*#__PURE__*/_jsx("tbody", {
422
- children: children
423
- });
424
- case "table-row":
425
- return /*#__PURE__*/_jsx(TableRow, {
426
- ...props
427
- });
428
- case "table-cell":
429
- return /*#__PURE__*/_jsx(TableCell, {
430
- ...props
431
- });
432
409
  default:
433
410
  return /*#__PURE__*/_jsx(SimpleText, {
434
411
  ...props,
@@ -1,6 +1,5 @@
1
- import { Path, Transforms } from "slate";
1
+ import { Transforms } from "slate";
2
2
  import insertNewLine from "./insertNewLine";
3
- import { getCurrentElementText } from "../plugins/withHTML";
4
3
  const getDefaultDatView = () => ({
5
4
  type: "dataView",
6
5
  title: "",
@@ -32,12 +31,10 @@ const getDefaultDatView = () => ({
32
31
  });
33
32
  export const insertDataView = editor => {
34
33
  try {
35
- const hasText = getCurrentElementText(editor);
36
- const insertPath = hasText ? Path.next(Path.parent(editor?.selection.focus.path)) : editor?.selection.focus.path;
37
34
  Transforms.insertNodes(editor, {
38
35
  ...getDefaultDatView()
39
36
  }, {
40
- at: insertPath
37
+ at: editor?.selection.focus.path
41
38
  });
42
39
  insertNewLine(editor);
43
40
  } catch (err) {