@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
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
- import { useTheme, ThemeProvider, createTheme } from "@mui/material";
2
+ import { useTheme, createTheme } from "@mui/material";
3
3
  import { isStimulator, STIMULATOR_MOCK } from "../../../hooks/useBreakpoints";
4
+ import MainThemeProvider from "./MainThemeProvider";
4
5
 
5
6
  // Custom breakpoints functions
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -51,12 +52,14 @@ const extendedTheme = prevTheme => createTheme({
51
52
  }
52
53
  });
53
54
  const ViewportStimulator = ({
54
- children
55
+ children,
56
+ selectedTheme
55
57
  }) => {
56
58
  const theme = useTheme();
57
59
  const viewportTheme = extendedTheme(theme);
58
- return /*#__PURE__*/_jsx(ThemeProvider, {
60
+ return /*#__PURE__*/_jsx(MainThemeProvider, {
59
61
  theme: viewportTheme,
62
+ userSelectedTheme: selectedTheme,
60
63
  children: children
61
64
  });
62
65
  };
@@ -2,10 +2,11 @@ import { Transforms, Node, Path } from "slate";
2
2
  import { ReactEditor } from "slate-react";
3
3
  import { handleNegativeInteger } from "../../../utils/helper";
4
4
  export const ROW_HEIGHT = 50;
5
- const MARGIN_OF = {
6
- xs: 160,
7
- lg: 490
8
- };
5
+
6
+ // const MARGIN_OF = {
7
+ // xs: 160,
8
+ // lg: 490,
9
+ // };
9
10
 
10
11
  /**
11
12
  * This method will update the grid template rows of parent section based on height
@@ -1,6 +1,8 @@
1
1
  import { Transforms, Node } from "slate";
2
2
  import { ReactEditor } from "slate-react";
3
3
  import { getNearestItem } from "./calculateDropItem";
4
+ import { ROW_HEIGHT, getBorderWidth } from "./gridDropItem";
5
+ import { handleNegativeInteger } from "../../../utils/helper";
4
6
  const GUIDE_LINE_THRESHOLD = 5;
5
7
  const GUIDE_LINE_OVERLAP_THRESHOLD = 5;
6
8
  const handleMoveNode = (editor, path, newPath, {
@@ -248,4 +250,42 @@ export function getParentSectionPath(props, closestClass) {
248
250
  } catch (err) {
249
251
  console.log(err);
250
252
  }
253
+ }
254
+ export function getAbsolutePositionX(currentEle) {
255
+ const {
256
+ left: currElementLeft
257
+ } = currentEle?.getBoundingClientRect() || {};
258
+ const parentBoxDom = currentEle?.closest(".fgi_type_box");
259
+ const relativeElementX = parentBoxDom || document.querySelector(".rnd-guideline-lv");
260
+ const {
261
+ left
262
+ } = relativeElementX?.getBoundingClientRect() || {};
263
+ const borderLeftWidth = getBorderWidth(relativeElementX, "borderLeftWidth");
264
+ const absolutePositionX = parseInt(currElementLeft - left - borderLeftWidth);
265
+ return {
266
+ absolutePositionX
267
+ };
268
+ }
269
+ export function getAbsolutePositionY(currentEle) {
270
+ const {
271
+ top: currElementTop
272
+ } = currentEle?.getBoundingClientRect() || {};
273
+ const relativeElementY = currentEle?.closest(".freegrid-container-parent");
274
+ const borderTopWidth = getBorderWidth(relativeElementY, "borderTopWidth");
275
+ const rect = relativeElementY.getBoundingClientRect();
276
+ const absolutePositionY = handleNegativeInteger(currElementTop - rect.top - borderTopWidth);
277
+
278
+ // Calculate grid position
279
+ const row = Math.floor(absolutePositionY / ROW_HEIGHT) + 1;
280
+
281
+ // Update grid area
282
+ const gridArea = `${row} / 1 / ${row + 1} / 2`;
283
+
284
+ // to calculate difference inside the grid
285
+ const marginTop = Math.abs((row - 1) * ROW_HEIGHT - absolutePositionY);
286
+ return {
287
+ absolutePositionY,
288
+ gridArea,
289
+ marginTop
290
+ };
251
291
  }
@@ -6,7 +6,7 @@ import Handles from "./TransformHandles";
6
6
  import { useEditorContext } from "../../hooks/useMouseMove";
7
7
  import ElementOptions from "./ElementOptions";
8
8
  import ElementSettings from "./ElementSettings";
9
- import { getClosestDraggable, getParentSectionPath } from "./Utils";
9
+ import { getAbsolutePositionX, getAbsolutePositionY, getClosestDraggable, getParentSectionPath } from "./Utils";
10
10
  import DragInfo from "./DragInfo";
11
11
  import GuideLines from "./GuideLines";
12
12
  import ShadowElement from "./ShadowElement";
@@ -425,9 +425,26 @@ const RnD = props => {
425
425
  };
426
426
  const onResizeStop = (e, direction, ref, d, position) => {
427
427
  e.preventDefault();
428
+ let updatedPosition = {};
429
+ if (type !== "parent") {
430
+ // update element position while resizing, (for free grid box and item)
431
+ const {
432
+ absolutePositionX
433
+ } = getAbsolutePositionX(ref);
434
+ const {
435
+ gridArea,
436
+ marginTop
437
+ } = getAbsolutePositionY(ref);
438
+ updatedPosition = {
439
+ left: absolutePositionX,
440
+ gridArea: gridArea,
441
+ marginTop: marginTop
442
+ };
443
+ }
428
444
  const updatedSize = {
429
445
  width: delta?.width + d.width,
430
- height: delta?.height + d.height
446
+ height: delta?.height + d.height,
447
+ ...updatedPosition
431
448
  };
432
449
  onChange({
433
450
  ...updatedSize
@@ -505,7 +522,10 @@ const RnD = props => {
505
522
  ref: c => {
506
523
  positionRef.current = c;
507
524
  },
508
- className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"}`,
525
+ className: `${className || ""} ${dragInfoOpen ? "active-drag" : "inactive-drag"} enable-${enable} type_${childType} section_type_${type || "parent"} ${Object.keys(absPosition)?.length ? "" : "remove-resize-styles"
526
+ // Fix rerender issue (remove-resize-styles): After resizing, click close button on a free grid-selected element
527
+ // doesn't remove the default `transform` style from react-rnd. Removing it manually.
528
+ }`,
509
529
  "data-path": str_path,
510
530
  style: {
511
531
  position: "relative",
@@ -2,36 +2,34 @@ import React, { useRef, useState } from "react";
2
2
  import { useTheme } from "@mui/material";
3
3
  import { Transforms } from "slate";
4
4
  import { ReactEditor, useSlateStatic } from "slate-react";
5
- import { Box, IconButton, Popper, Tooltip } from "@mui/material";
5
+ import { Box, IconButton, Tooltip } from "@mui/material";
6
6
  import SectionPopup from "../../Elements/Grid/SectionPopup";
7
7
  import { getBreakPointsValue, getTRBLBreakPoints, groupByBreakpoint } from "../../helper/theme";
8
- import DragHandle from "../DnD/DragHandleButton";
9
- import { useEditorSelection } from "../../hooks/useMouseMove";
8
+ // import DragHandle from "../DnD/DragHandleButton";
9
+ // import { useEditorSelection } from "../../hooks/useMouseMove";
10
10
  import SectionStyle from "./styles";
11
11
  import useWindowResize from "../../hooks/useWindowResize";
12
12
  import { SectionSettingIcon } from "../iconListV2";
13
+
14
+ // const list_types = ["orderedList", "unorderedList"];
13
15
  import { jsx as _jsx } from "react/jsx-runtime";
14
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
- import { Fragment as _Fragment } from "react/jsx-runtime";
16
17
  const Toolbar = ({
17
- fromPopper,
18
18
  readOnly,
19
19
  showTool,
20
- onSettings
20
+ onSettings,
21
+ isSectionFullWidth
21
22
  }) => {
22
23
  return !readOnly && !showTool ? /*#__PURE__*/_jsx(Box, {
23
24
  component: "div",
24
25
  className: `element-toolbar no-border-button hr section-tw sectionIcon`,
25
26
  contentEditable: false,
26
- style: fromPopper ? {
27
- position: "unset",
28
- marginLeft: "28px",
29
- paddingTop: "4px",
30
- marginRight: "10px",
31
- height: "100%"
32
- } : {
33
- left: "-28px",
34
- top: "1px"
27
+ sx: {
28
+ left: isSectionFullWidth ? "0px" : "-28px",
29
+ top: isSectionFullWidth ? "-28px" : "1px",
30
+ "&:hover": {
31
+ backgroundColor: "rgba(0,0,0,0.5)"
32
+ }
35
33
  },
36
34
  children: /*#__PURE__*/_jsx(Tooltip, {
37
35
  title: "Section Settings",
@@ -42,7 +40,6 @@ const Toolbar = ({
42
40
  })
43
41
  }) : null;
44
42
  };
45
- const list_types = ["orderedList", "unorderedList"];
46
43
  const Section = props => {
47
44
  const themeReact = useTheme();
48
45
  const theme = props?.theme;
@@ -56,7 +53,8 @@ const Section = props => {
56
53
  readOnly
57
54
  } = customProps;
58
55
  const editor = useSlateStatic();
59
- const [showTool] = useEditorSelection(editor);
56
+ // const [isHovering, setIsHovering] = useState(false);
57
+ const [size] = useWindowResize();
60
58
  const [openSetttings, setOpenSettings] = useState(false);
61
59
  const {
62
60
  sectionBgColor,
@@ -73,41 +71,11 @@ const Section = props => {
73
71
  } = sectionAlignment || {};
74
72
  const path = ReactEditor.findPath(editor, element);
75
73
  const anchorEl = useRef(null);
76
- const popperEl = useRef(null);
77
- const [size] = useWindowResize();
74
+ // const popperEl = useRef(null);
75
+ // const [showTool] = useEditorSelection(editor);
78
76
  const isSectionFullWidth = sectionGridSize && sectionGridSize[size?.device] >= 12;
79
- const [isHovering, setIsHovering] = useState(false);
80
- const onMouseEnter = () => {
81
- setIsHovering(true);
82
- };
83
- const onMouseLeave = () => {
84
- setIsHovering(false);
85
- };
86
- const onSettings = () => {
87
- setOpenSettings(true);
88
- };
89
- const onSave = data => {
90
- const updateData = {
91
- ...data
92
- };
93
- delete updateData.children;
94
- Transforms.setNodes(editor, {
95
- ...updateData
96
- }, {
97
- at: path
98
- });
99
- onClose();
100
- };
101
- const onClose = () => {
102
- setOpenSettings(false);
103
- };
104
- const onDelete = () => {
105
- Transforms.removeNodes(editor, {
106
- at: path
107
- });
108
- };
109
- const isFreeGrid = element?.children?.find(f => f.type === "freegrid");
110
- const needHover = element?.children?.find(f => f.type === "grid" && !list_types.includes(element.type)) ? "" : "";
77
+ const isFreeGrid = element?.children[0]?.type === "freegrid";
78
+ const needHover = false;
111
79
  let tempProps = {};
112
80
  if (element?.type === "temp") {
113
81
  tempProps = {
@@ -131,6 +99,38 @@ const Section = props => {
131
99
  ...getBreakPointsValue(sectionGridSize || 8, null, "overrideGridSize", true)
132
100
  }
133
101
  }, themeReact);
102
+
103
+ // const onMouseEnter = () => {
104
+ // setIsHovering(true);
105
+ // };
106
+
107
+ // const onMouseLeave = () => {
108
+ // setIsHovering(false);
109
+ // };
110
+
111
+ const onSettings = () => {
112
+ setOpenSettings(true);
113
+ };
114
+ const onSave = data => {
115
+ const updateData = {
116
+ ...data
117
+ };
118
+ delete updateData.children;
119
+ Transforms.setNodes(editor, {
120
+ ...updateData
121
+ }, {
122
+ at: path
123
+ });
124
+ onClose();
125
+ };
126
+ const onClose = () => {
127
+ setOpenSettings(false);
128
+ };
129
+ const onDelete = () => {
130
+ Transforms.removeNodes(editor, {
131
+ at: path
132
+ });
133
+ };
134
134
  return path.length === 1 && !isFreeGrid ? /*#__PURE__*/_jsxs(Box, {
135
135
  component: "div",
136
136
  className: `ed-section-wrapper ${readOnly ? "" : "hselect"} ${needHover} is-${element?.type}`,
@@ -145,9 +145,10 @@ const Section = props => {
145
145
  flexDirection: flexDirection || "column",
146
146
  alignItems: horizantal,
147
147
  justifyContent: vertical
148
- },
149
- onMouseEnter: onMouseEnter,
150
- onMouseLeave: onMouseLeave,
148
+ }
149
+ // onMouseEnter={onMouseEnter}
150
+ // onMouseLeave={onMouseLeave}
151
+ ,
151
152
  children: [/*#__PURE__*/_jsxs(Box, {
152
153
  className: "ed-section-inner",
153
154
  sx: {
@@ -155,41 +156,11 @@ const Section = props => {
155
156
  ...edInnerSp
156
157
  },
157
158
  ref: anchorEl,
158
- children: [isHovering && isSectionFullWidth ? /*#__PURE__*/_jsx(Popper, {
159
- open: isHovering && isSectionFullWidth,
160
- anchorEl: anchorEl?.current,
161
- placement: "top-start",
162
- sx: {
163
- zIndex: 9999
164
- },
165
- disablePortal: true,
166
- ref: popperEl,
167
- className: "sectionPopper",
168
- children: /*#__PURE__*/_jsxs(Box, {
169
- sx: {
170
- bgcolor: "background.paper",
171
- height: "30px",
172
- position: "relative",
173
- background: theme?.palette?.type === "dark" ? theme?.palette?.editor?.miniToolBarBackground : "#F6F6F6"
174
- },
175
- children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
176
- ...props,
177
- fromPopper: true
178
- }) : null, /*#__PURE__*/_jsx(Toolbar, {
179
- fromPopper: true,
180
- readOnly: readOnly,
181
- showTool: showTool,
182
- onSettings: onSettings
183
- })]
184
- })
185
- }) : /*#__PURE__*/_jsxs(_Fragment, {
186
- children: [!readOnly && !showTool ? /*#__PURE__*/_jsx(DragHandle, {
187
- ...props
188
- }) : null, /*#__PURE__*/_jsx(Toolbar, {
189
- readOnly: readOnly,
190
- showTool: showTool,
191
- onSettings: onSettings
192
- })]
159
+ children: [/*#__PURE__*/_jsx(Toolbar, {
160
+ isSectionFullWidth: isSectionFullWidth,
161
+ readOnly: readOnly,
162
+ showTool: false,
163
+ onSettings: onSettings
193
164
  }), children]
194
165
  }), openSetttings ? /*#__PURE__*/_jsx(SectionPopup, {
195
166
  element: {
@@ -43,6 +43,60 @@ const ELEMENTS_LIST = [{
43
43
  icon: "headingThree"
44
44
  }),
45
45
  onInsert: editor => toggleBlock(editor, "headingThree", false)
46
+ }, {
47
+ name: "Heading 4",
48
+ desc: "",
49
+ group: "Text",
50
+ type: "headingFour",
51
+ icon: /*#__PURE__*/_jsx(Icon, {
52
+ icon: "headingFour"
53
+ }),
54
+ onInsert: editor => toggleBlock(editor, "headingFour", false)
55
+ }, {
56
+ name: "Heading 5",
57
+ desc: "",
58
+ group: "Text",
59
+ type: "headingFive",
60
+ icon: /*#__PURE__*/_jsx(Icon, {
61
+ icon: "headingFive"
62
+ }),
63
+ onInsert: editor => toggleBlock(editor, "headingFive", false)
64
+ }, {
65
+ name: "Heading 6",
66
+ desc: "",
67
+ group: "Text",
68
+ type: "headingSix",
69
+ icon: /*#__PURE__*/_jsx(Icon, {
70
+ icon: "headingSix"
71
+ }),
72
+ onInsert: editor => toggleBlock(editor, "headingSix", false)
73
+ }, {
74
+ name: "Paragraph 1",
75
+ desc: "",
76
+ group: "Text",
77
+ type: "paragraphOne",
78
+ icon: /*#__PURE__*/_jsx(Icon, {
79
+ icon: "paragraphOne"
80
+ }),
81
+ onInsert: editor => toggleBlock(editor, "paragraphOne", false)
82
+ }, {
83
+ name: "Paragraph 2",
84
+ desc: "",
85
+ group: "Text",
86
+ type: "paragraphTwo",
87
+ icon: /*#__PURE__*/_jsx(Icon, {
88
+ icon: "paragraphTwo"
89
+ }),
90
+ onInsert: editor => toggleBlock(editor, "paragraphTwo", false)
91
+ }, {
92
+ name: "Paragraph 3",
93
+ desc: "",
94
+ group: "Text",
95
+ type: "paragraphThree",
96
+ icon: /*#__PURE__*/_jsx(Icon, {
97
+ icon: "paragraphThree"
98
+ }),
99
+ onInsert: editor => toggleBlock(editor, "paragraphThree", false)
46
100
  }, {
47
101
  name: "Quote",
48
102
  desc: "",
@@ -21,7 +21,8 @@ const buttonStyle = [{
21
21
  },
22
22
  children: option.text
23
23
  });
24
- }
24
+ },
25
+ themeEnabled: true
25
26
  }, {
26
27
  label: "Font Size",
27
28
  key: "textSize",
@@ -45,7 +46,8 @@ const buttonStyle = [{
45
46
  }, {
46
47
  label: "Button Color",
47
48
  key: "bgColor",
48
- type: "color"
49
+ type: "color",
50
+ themeEnabled: true
49
51
  }, {
50
52
  label: "Border Color",
51
53
  key: "borderColor",
@@ -73,6 +73,11 @@ const BackgroundImage = props => {
73
73
  children: "REMOVE"
74
74
  }) : /*#__PURE__*/_jsx(Grid, {
75
75
  className: "uploadImageText",
76
+ sx: {
77
+ padding: 0,
78
+ background: `${theme?.palette?.editor?.inputFieldBgColor}`,
79
+ border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
80
+ },
76
81
  children: /*#__PURE__*/_jsxs(Button, {
77
82
  component: "label",
78
83
  variant: "text",
@@ -3,13 +3,13 @@ import { Checkbox, FormControlLabel, Grid, Slider, Typography, Box, IconButton }
3
3
  import { squreStyle } from "./radiusStyle";
4
4
  import { getBreakPointsValue } from "../../../helper/theme";
5
5
  import useWindowResize from "../../../hooks/useWindowResize";
6
+ import { useEditorTheme } from "../../../hooks/useEditorTheme";
6
7
  import { CheckedBoxCheckIcon } from "../../iconListV2";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const BANNER_SPACING_KEYS = ["top", "left", "right", "bottom"];
10
11
  const BannerSpacing = props => {
11
12
  const {
12
- value: val,
13
13
  data,
14
14
  onChange,
15
15
  elementProps,
@@ -19,7 +19,17 @@ const BannerSpacing = props => {
19
19
  key
20
20
  } = data;
21
21
  const lockKeyVal = `lock${key}`;
22
- let lockSpacing = elementProps[lockKeyVal];
22
+ const {
23
+ selectedTheme
24
+ } = useEditorTheme();
25
+ const {
26
+ bannerSpacing,
27
+ lockbannerSpacing
28
+ } = selectedTheme?.elementProps?.button || {};
29
+ const isUserValue = Object.keys(props?.value || {})?.length;
30
+ const isUserLockedSpacing = typeof elementProps[lockKeyVal] === "boolean";
31
+ const val = isUserValue ? props?.value : bannerSpacing;
32
+ let lockSpacing = isUserLockedSpacing ? elementProps[lockKeyVal] : lockbannerSpacing;
23
33
  if (lockSpacing === undefined) {
24
34
  lockSpacing = true;
25
35
  }
@@ -3,28 +3,36 @@ import { Grid, Typography, Slider, FormControlLabel, Checkbox, Box, IconButton }
3
3
  import { radiusStyle } from "./radiusStyle";
4
4
  import useWindowResize from "../../../hooks/useWindowResize";
5
5
  import { getBreakPointsValue, getCustomizationValue } from "../../../helper/theme";
6
+ import { useEditorTheme } from "../../../hooks/useEditorTheme";
6
7
  import { CheckedBoxCheckIcon } from "../../iconListV2";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
10
  const BORDER_RADIUS_KEYS = ["topLeft", "topRight", "bottomLeft", "bottomRight"];
10
11
  const BorderRadius = props => {
11
12
  const {
12
- value: val,
13
13
  data,
14
14
  onChange,
15
15
  elementProps,
16
16
  classes
17
17
  } = props;
18
- let {
19
- lockRadius
20
- } = elementProps;
21
- if (lockRadius === undefined) {
22
- lockRadius = true;
23
- }
24
18
  const {
25
19
  key
26
20
  } = data;
27
21
  const [size] = useWindowResize();
22
+ const {
23
+ selectedTheme
24
+ } = useEditorTheme();
25
+ const {
26
+ borderRadius,
27
+ lockRadius: themeLockRadius
28
+ } = selectedTheme?.elementProps?.button || {};
29
+ const isUserValue = Object.keys(props?.value || {})?.length;
30
+ const isUserLockedRadius = typeof elementProps?.lockRadius === "boolean";
31
+ const val = isUserValue ? props?.value : borderRadius;
32
+ let lockRadius = isUserLockedRadius ? elementProps?.lockRadius : themeLockRadius;
33
+ if (lockRadius === undefined) {
34
+ lockRadius = true;
35
+ }
28
36
  const value = getBreakPointsValue(val, size?.device);
29
37
  const handleChange = e => {
30
38
  let changeAll = {};
@@ -1,6 +1,7 @@
1
1
  import { Box, Card, Checkbox, FormControlLabel, Grid, Tooltip, Typography } from "@mui/material";
2
2
  import React from "react";
3
3
  import Icon from "../../Icon";
4
+ import { useEditorContext } from "../../../hooks/useMouseMove";
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  import { Fragment as _Fragment } from "react/jsx-runtime";
6
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -15,7 +16,10 @@ const RenderCard = ({
15
16
  return /*#__PURE__*/_jsx(Card, {
16
17
  sx: {
17
18
  position: 'relative',
18
- padding: "10px"
19
+ padding: "10px",
20
+ '& .MuiCheckbox-root svg': {
21
+ fill: 'unset !important'
22
+ }
19
23
  },
20
24
  children: /*#__PURE__*/_jsx(FormControlLabel, {
21
25
  control: /*#__PURE__*/_jsx(Checkbox, {
@@ -81,6 +85,9 @@ const CardsMapping = props => {
81
85
  selectedCard,
82
86
  infoIcon
83
87
  } = data;
88
+ const {
89
+ theme
90
+ } = useEditorContext();
84
91
  const activeCard = value === selectedCard;
85
92
  const handleChange = e => {
86
93
  if (selectedCard === data?.value) {
@@ -99,7 +106,8 @@ const CardsMapping = props => {
99
106
  sx: {
100
107
  marginBottom: "12px",
101
108
  "& .MuiPaper-root": {
102
- border: activeCard ? "1px solid #2563EB" : "1px solid #C8D8FA",
109
+ background: theme?.palette?.editor?.miniToolBarBackground,
110
+ border: activeCard ? "1px solid #2563EB" : `1px solid ${theme?.palette?.editor?.inputFieldBorder}`,
103
111
  borderRadius: "8px",
104
112
  boxShadow: activeCard ? "0px 4px 16px 0px #2563EB40" : "unset"
105
113
  }
@@ -1,14 +1,23 @@
1
- import React, { useEffect, useState } from "react";
1
+ import React, { useEffect, useMemo, useState } from "react";
2
2
  import { Grid, TextField, InputAdornment, Typography, Tooltip } from "@mui/material";
3
3
  import ColorPickerButton from "../../ColorPickerButton";
4
+ import { useSlateStatic } from "slate-react";
5
+ import { getElementStyle, getVariableValue } from "../../../helper/theme";
4
6
  import { jsx as _jsx } from "react/jsx-runtime";
5
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ const MAP_STYLE_PROPS = {
9
+ bgColor: "background-color",
10
+ textColor: "color"
11
+ };
6
12
  const Color = props => {
7
13
  const {
8
- value,
14
+ value: val,
9
15
  data,
10
16
  onChange,
11
- classes
17
+ classes,
18
+ elementProps,
19
+ handleClose,
20
+ customProps
12
21
  } = props;
13
22
  const {
14
23
  key,
@@ -16,7 +25,20 @@ const Color = props => {
16
25
  hideGradient
17
26
  } = data;
18
27
  const [recentColors, setRecentColors] = useState({});
19
- const getLable = label === 'Text' ? 'Select text color' : label === 'Background' ? 'Select background color' : label;
28
+ const editor = useSlateStatic();
29
+ const {
30
+ value,
31
+ inputValue
32
+ } = useMemo(() => {
33
+ const isVariable = val && val.startsWith("var");
34
+ const value = isVariable ? val : getElementStyle(editor, elementProps, MAP_STYLE_PROPS[key]);
35
+ const inputValue = isVariable ? getVariableValue(val) : getElementStyle(editor, elementProps, MAP_STYLE_PROPS[key]);
36
+ return {
37
+ value: value || val,
38
+ inputValue: inputValue || val
39
+ };
40
+ }, [editor, val]);
41
+ const getLable = label === "Text" ? "Select text color" : label === "Background" ? "Select background color" : label;
20
42
  useEffect(() => {
21
43
  const storedColors = JSON.parse(localStorage.getItem("recentColors"));
22
44
  if (storedColors) {
@@ -54,11 +76,11 @@ const Color = props => {
54
76
  fontSize: "14px",
55
77
  fontWeight: 500,
56
78
  marginBottom: "5px",
57
- display: 'flex',
58
- alignItems: 'center',
59
- '& svg': {
60
- width: '20px',
61
- height: '20px'
79
+ display: "flex",
80
+ alignItems: "center",
81
+ "& svg": {
82
+ width: "20px",
83
+ height: "20px"
62
84
  }
63
85
  },
64
86
  children: [label, data?.infoIcon ? /*#__PURE__*/_jsx(Tooltip, {
@@ -66,14 +88,14 @@ const Color = props => {
66
88
  title: "Note: If color gradient is used, divider styles will not apply",
67
89
  children: /*#__PURE__*/_jsx("span", {
68
90
  style: {
69
- display: 'inline-block'
91
+ display: "inline-block"
70
92
  },
71
93
  children: data?.infoIcon
72
94
  })
73
95
  }) : null]
74
96
  }), /*#__PURE__*/_jsx(TextField, {
75
97
  fullWidth: true,
76
- value: value,
98
+ value: inputValue,
77
99
  placeholder: getLable || `${label} color code`,
78
100
  InputLabelProps: {
79
101
  shrink: true
@@ -86,6 +108,8 @@ const Color = props => {
86
108
  value: value,
87
109
  onSave: onSave,
88
110
  recentColors: recentColors[key],
111
+ handleClose: handleClose,
112
+ disableEditTheme: customProps?.disableEditTheme,
89
113
  hideGradient: hideGradient
90
114
  })
91
115
  })