@flozy/editor 11.2.1 → 11.2.3

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 (141) hide show
  1. package/dist/Editor/ChatEditor.js +7 -7
  2. package/dist/Editor/CommonEditor.js +24 -86
  3. package/dist/Editor/DialogWrapper.js +25 -31
  4. package/dist/Editor/Editor.css +4 -37
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +3 -11
  6. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  7. package/dist/Editor/Elements/Attachments/Attachments.js +11 -154
  8. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +3 -8
  9. package/dist/Editor/Elements/Button/EditorButton.js +44 -32
  10. package/dist/Editor/Elements/Color Picker/ColorButtons.js +14 -61
  11. package/dist/Editor/Elements/Color Picker/ColorPicker.css +1 -25
  12. package/dist/Editor/Elements/Color Picker/ColorPicker.js +7 -10
  13. package/dist/Editor/Elements/Color Picker/Styles.js +13 -15
  14. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +55 -134
  15. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SelectV1.js +8 -7
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +3 -8
  17. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +1 -1
  18. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +1 -1
  19. package/dist/Editor/Elements/Embed/Embed.js +43 -37
  20. package/dist/Editor/Elements/Embed/Image.js +22 -242
  21. package/dist/Editor/Elements/Embed/Video.js +32 -277
  22. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +6 -9
  23. package/dist/Editor/Elements/EmbedScript/styles.js +1 -17
  24. package/dist/Editor/Elements/Form/FormField.js +1 -1
  25. package/dist/Editor/Elements/Form/Workflow/Styles.js +22 -25
  26. package/dist/Editor/Elements/Form/Workflow/constant.js +1 -25
  27. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +76 -37
  28. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +5 -9
  29. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -3
  30. package/dist/Editor/Elements/FreeGrid/styles.js +0 -15
  31. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  32. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +1 -2
  33. package/dist/Editor/Elements/Table/Table.js +1 -2
  34. package/dist/Editor/Elements/Table/TableCell.js +3 -10
  35. package/dist/Editor/Elements/Title/title.js +5 -4
  36. package/dist/Editor/Elements/TopBanner/TopBanner.js +2 -4
  37. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +3 -5
  38. package/dist/Editor/Styles/EditorStyles.js +5 -19
  39. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +3 -27
  40. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +3 -4
  41. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  42. package/dist/Editor/Toolbar/FormatTools/TextSize.js +29 -33
  43. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +1 -2
  44. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +1 -3
  45. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +23 -25
  46. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +42 -167
  47. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +5 -15
  48. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +1 -2
  49. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +7 -65
  50. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +12 -66
  51. package/dist/Editor/Toolbar/PopupTool/index.js +4 -6
  52. package/dist/Editor/Toolbar/toolbarGroups.js +6 -48
  53. package/dist/Editor/common/ColorPickerButton.js +19 -38
  54. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  55. package/dist/Editor/common/FontLoader/FontLoader.js +0 -1
  56. package/dist/Editor/common/Icon.js +0 -28
  57. package/dist/Editor/common/ImageSelector/ImageSelector.js +7 -45
  58. package/dist/Editor/common/ImageSelector/Options/Upload.js +11 -26
  59. package/dist/Editor/common/ImageSelector/Styles.js +9 -3
  60. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +1 -2
  61. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +2 -3
  62. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +2 -3
  63. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +2 -3
  64. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +2 -3
  65. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +2 -3
  66. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +7 -20
  67. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +2 -3
  68. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +0 -2
  69. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +7 -20
  70. package/dist/Editor/common/RnD/GuideLines/styles.js +1 -1
  71. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +3 -6
  72. package/dist/Editor/common/RnD/Utils/gridDropItem.js +11 -28
  73. package/dist/Editor/common/RnD/Utils/index.js +1 -3
  74. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +63 -52
  75. package/dist/Editor/common/RnD/VirtualElement/helper.js +68 -248
  76. package/dist/Editor/common/RnD/VirtualElement/styles.js +0 -22
  77. package/dist/Editor/common/RnD/index.js +14 -61
  78. package/dist/Editor/common/Shorthands/elements.js +3 -55
  79. package/dist/Editor/common/StyleBuilder/buttonStyle.js +15 -5
  80. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -4
  81. package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -1
  82. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -13
  83. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +2 -12
  84. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +7 -15
  85. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +10 -36
  86. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +4 -13
  87. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +0 -2
  88. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -16
  89. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +7 -15
  90. package/dist/Editor/common/StyleBuilder/formStyle.js +13 -19
  91. package/dist/Editor/common/StyleBuilder/index.js +19 -10
  92. package/dist/Editor/common/Uploader.js +17 -118
  93. package/dist/Editor/common/iconslist.js +0 -21
  94. package/dist/Editor/commonStyle.js +53 -111
  95. package/dist/Editor/helper/index.js +1 -4
  96. package/dist/Editor/helper/theme.js +2 -203
  97. package/dist/Editor/hooks/useMouseMove.js +3 -12
  98. package/dist/Editor/hooks/useTable.js +1 -62
  99. package/dist/Editor/plugins/withEmbeds.js +1 -1
  100. package/dist/Editor/plugins/withHTML.js +3 -56
  101. package/dist/Editor/plugins/withTable.js +1 -1
  102. package/dist/Editor/service/fileupload.js +0 -70
  103. package/dist/Editor/theme/ThemeList.js +173 -50
  104. package/dist/Editor/utils/SlateUtilityFunctions.js +40 -165
  105. package/dist/Editor/utils/accordion.js +1 -1
  106. package/dist/Editor/utils/button.js +17 -1
  107. package/dist/Editor/utils/font.js +37 -40
  108. package/dist/Editor/utils/formfield.js +2 -2
  109. package/dist/Editor/utils/helper.js +3 -101
  110. package/dist/Editor/utils/insertAppHeader.js +4 -8
  111. package/package.json +1 -1
  112. package/dist/Editor/Elements/Attachments/AttachmentStyles.js +0 -16
  113. package/dist/Editor/Elements/FreeGrid/helper.js +0 -194
  114. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +0 -439
  115. package/dist/Editor/assets/svg/BackIcon.js +0 -18
  116. package/dist/Editor/assets/svg/ThemeIcons.js +0 -293
  117. package/dist/Editor/common/CustomColorPicker/index.js +0 -130
  118. package/dist/Editor/common/CustomColorPicker/style.js +0 -53
  119. package/dist/Editor/common/CustomDialog2/index.js +0 -94
  120. package/dist/Editor/common/CustomDialog2/style.js +0 -67
  121. package/dist/Editor/common/CustomSelect.js +0 -43
  122. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +0 -17
  123. package/dist/Editor/common/UploaderWithProgress.js +0 -183
  124. package/dist/Editor/hooks/useEditorTheme.js +0 -153
  125. package/dist/Editor/hooks/useThemeValues.js +0 -63
  126. package/dist/Editor/theme/index.js +0 -149
  127. package/dist/Editor/themeSettings/ActiveTheme.js +0 -82
  128. package/dist/Editor/themeSettings/buttons/index.js +0 -300
  129. package/dist/Editor/themeSettings/buttons/style.js +0 -23
  130. package/dist/Editor/themeSettings/colorTheme/index.js +0 -310
  131. package/dist/Editor/themeSettings/colorTheme/style.js +0 -81
  132. package/dist/Editor/themeSettings/fonts/PreviewElement.js +0 -121
  133. package/dist/Editor/themeSettings/fonts/index.js +0 -240
  134. package/dist/Editor/themeSettings/fonts/style.js +0 -62
  135. package/dist/Editor/themeSettings/icons.js +0 -60
  136. package/dist/Editor/themeSettings/index.js +0 -380
  137. package/dist/Editor/themeSettings/style.js +0 -299
  138. package/dist/Editor/themeSettingsAI/icons.js +0 -96
  139. package/dist/Editor/themeSettingsAI/index.js +0 -355
  140. package/dist/Editor/themeSettingsAI/saveTheme.js +0 -202
  141. package/dist/Editor/themeSettingsAI/style.js +0 -332
@@ -4,7 +4,6 @@ import ImageSelector from "../../ImageSelector/ImageSelector";
4
4
  import UploadStyles from "../../ImageSelector/UploadStyles";
5
5
  import Icon from "../../Icon";
6
6
  import { useEditorContext } from "../../../hooks/useMouseMove";
7
- import { GetPageBgImage } from "../../../utils/helper";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
9
  const BackgroundImage = props => {
@@ -12,11 +11,8 @@ const BackgroundImage = props => {
12
11
  value,
13
12
  data,
14
13
  customProps,
15
- onChange,
16
- elementProps,
17
- title
14
+ onChange
18
15
  } = props;
19
- const previewImg = GetPageBgImage(value);
20
16
  const {
21
17
  translation
22
18
  } = customProps;
@@ -29,7 +25,6 @@ const BackgroundImage = props => {
29
25
  theme
30
26
  } = useEditorContext();
31
27
  const classes = UploadStyles(theme);
32
- const disableProgress = title === "Page Settings" || elementProps?.type === "freegridBox" || elementProps?.type === "freegrid";
33
28
  const onRemoveBG = () => {
34
29
  setBase64(null);
35
30
  onChange({
@@ -49,9 +44,6 @@ const BackgroundImage = props => {
49
44
  });
50
45
  handleClose();
51
46
  };
52
- const getTitle = () => {
53
- return elementProps?.type === "image" ? "Image" : elementProps?.type === "video" ? "Video" : null;
54
- };
55
47
  return /*#__PURE__*/_jsxs(Grid, {
56
48
  item: true,
57
49
  xs: 12,
@@ -71,7 +63,7 @@ const BackgroundImage = props => {
71
63
  item: true,
72
64
  xs: 12,
73
65
  style: {
74
- backgroundImage: base64 ? `url(${previewImg})` : "none"
66
+ backgroundImage: base64 ? `url(${base64})` : "none"
75
67
  // height: "200px",
76
68
  },
77
69
 
@@ -108,9 +100,7 @@ const BackgroundImage = props => {
108
100
  open: open,
109
101
  onClose: handleClose,
110
102
  customProps: customProps,
111
- onSelectImage: onSelectImage,
112
- title: getTitle(),
113
- disableProgress: disableProgress
103
+ onSelectImage: onSelectImage
114
104
  })]
115
105
  });
116
106
  };
@@ -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";
7
6
  import { CheckedBoxCheckIcon } from "../../iconListV2";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
9
  const BANNER_SPACING_KEYS = ["top", "left", "right", "bottom"];
11
10
  const BannerSpacing = props => {
12
11
  const {
12
+ value: val,
13
13
  data,
14
14
  onChange,
15
15
  elementProps,
@@ -23,17 +23,7 @@ const BannerSpacing = props => {
23
23
  key
24
24
  } = data;
25
25
  const lockKeyVal = `lock${key}`;
26
- const {
27
- selectedTheme
28
- } = useEditorTheme();
29
- const {
30
- bannerSpacing,
31
- lockbannerSpacing
32
- } = selectedTheme?.elementProps[elementProps?.type] || {};
33
- const isUserValue = Object.keys(props?.value || {})?.length;
34
- const isUserLockedSpacing = typeof elementProps[lockKeyVal] === "boolean";
35
- const val = isUserValue ? props?.value : bannerSpacing;
36
- let lockSpacing = isUserLockedSpacing ? elementProps[lockKeyVal] : lockbannerSpacing;
26
+ let lockSpacing = elementProps[lockKeyVal];
37
27
  if (lockSpacing === undefined) {
38
28
  lockSpacing = true;
39
29
  }
@@ -3,13 +3,13 @@ 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";
7
6
  import { CheckedBoxCheckIcon } from "../../iconListV2";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
9
  const BORDER_RADIUS_KEYS = ["topLeft", "topRight", "bottomLeft", "bottomRight"];
11
10
  const BorderRadius = props => {
12
11
  const {
12
+ value: val,
13
13
  data,
14
14
  onChange,
15
15
  elementProps,
@@ -19,24 +19,16 @@ const BorderRadius = props => {
19
19
  const {
20
20
  translation
21
21
  } = customProps;
22
+ let {
23
+ lockRadius
24
+ } = elementProps;
25
+ if (lockRadius === undefined) {
26
+ lockRadius = true;
27
+ }
22
28
  const {
23
29
  key
24
30
  } = data;
25
31
  const [size] = useWindowResize();
26
- const {
27
- selectedTheme
28
- } = useEditorTheme();
29
- const {
30
- borderRadius,
31
- lockRadius: themeLockRadius
32
- } = selectedTheme?.elementProps[elementProps?.type] || {};
33
- const isUserValue = Object.keys(props?.value || {})?.length;
34
- const isUserLockedRadius = typeof elementProps?.lockRadius === "boolean";
35
- const val = isUserValue ? props?.value : borderRadius;
36
- let lockRadius = isUserLockedRadius ? elementProps?.lockRadius : themeLockRadius;
37
- if (lockRadius === undefined) {
38
- lockRadius = true;
39
- }
40
32
  const value = getBreakPointsValue(val, size?.device);
41
33
  const handleChange = e => {
42
34
  let changeAll = {};
@@ -1,23 +1,14 @@
1
- import React, { useEffect, useMemo, useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import { Grid, TextField, InputAdornment, Typography, Tooltip } from "@mui/material";
3
3
  import ColorPickerButton from "../../ColorPickerButton";
4
- import { getVariableValue } from "../../../helper/theme";
5
- import { useButtonStyle } from "../../../hooks/useThemeValues";
6
-
7
- // const MAP_STYLE_PROPS = {
8
- // bgColor: "background-color",
9
- // textColor: "color",
10
- // };
11
4
  import { jsx as _jsx } from "react/jsx-runtime";
12
5
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
6
  const Color = props => {
14
7
  const {
15
- value: val,
8
+ value,
16
9
  data,
17
10
  onChange,
18
11
  classes,
19
- elementProps,
20
- handleClose,
21
12
  customProps
22
13
  } = props;
23
14
  const {
@@ -29,22 +20,7 @@ const Color = props => {
29
20
  translation
30
21
  } = customProps;
31
22
  const [recentColors, setRecentColors] = useState({});
32
- const {
33
- buttonStyle
34
- } = useButtonStyle(val, key, elementProps);
35
- const newValue = buttonStyle?.color;
36
- const {
37
- value,
38
- inputValue
39
- } = useMemo(() => {
40
- const isVariable = newValue && newValue.startsWith("var");
41
- const inputValue = isVariable ? getVariableValue(newValue) : newValue;
42
- return {
43
- value: newValue,
44
- inputValue: inputValue
45
- };
46
- }, [buttonStyle?.color]);
47
- const getLable = label === "Text" ? translation("selectTextColor") : label === "Background" ? translation("selectBgColor") : translation(label);
23
+ const getLable = label === 'Text' ? translation("selectTextColor") : label === 'Background' ? translation("selectBgColor") : translation(label);
48
24
  useEffect(() => {
49
25
  const storedColors = JSON.parse(localStorage.getItem("recentColors"));
50
26
  if (storedColors) {
@@ -82,11 +58,11 @@ const Color = props => {
82
58
  fontSize: "14px",
83
59
  fontWeight: 500,
84
60
  marginBottom: "5px",
85
- display: "flex",
86
- alignItems: "center",
87
- "& svg": {
88
- width: "20px",
89
- height: "20px"
61
+ display: 'flex',
62
+ alignItems: 'center',
63
+ '& svg': {
64
+ width: '20px',
65
+ height: '20px'
90
66
  }
91
67
  },
92
68
  children: [translation(label), data?.infoIcon ? /*#__PURE__*/_jsx(Tooltip, {
@@ -94,14 +70,14 @@ const Color = props => {
94
70
  title: translation("noteText"),
95
71
  children: /*#__PURE__*/_jsx("span", {
96
72
  style: {
97
- display: "inline-block"
73
+ display: 'inline-block'
98
74
  },
99
75
  children: data?.infoIcon
100
76
  })
101
77
  }) : null]
102
78
  }), /*#__PURE__*/_jsx(TextField, {
103
79
  fullWidth: true,
104
- value: inputValue,
80
+ value: value,
105
81
  placeholder: getLable || `${label} ${translation("color code")}`,
106
82
  InputLabelProps: {
107
83
  shrink: true
@@ -114,8 +90,6 @@ const Color = props => {
114
90
  value: value,
115
91
  onSave: onSave,
116
92
  recentColors: recentColors[key],
117
- handleClose: handleClose,
118
- disableEditTheme: customProps?.disableEditTheme,
119
93
  hideGradient: hideGradient
120
94
  })
121
95
  })
@@ -1,17 +1,14 @@
1
- import React, { useMemo } from "react";
1
+ import React from "react";
2
2
  import { TextField, IconButton, Grid, Typography } from "@mui/material";
3
3
  import { sizeMap } from "../../../utils/font.js";
4
4
  import { TextMinusIcon, TextPlusIcon } from "../../../common/iconslist.js";
5
- import { getElementStyle } from "../../../helper/theme.js";
6
- import { useSlateStatic } from "slate-react";
7
5
  import { jsx as _jsx } from "react/jsx-runtime";
8
6
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
7
  const FontSize = props => {
10
8
  const {
11
- value: val,
9
+ value,
12
10
  data,
13
11
  onChange,
14
- elementProps,
15
12
  customProps
16
13
  } = props;
17
14
  const {
@@ -21,10 +18,6 @@ const FontSize = props => {
21
18
  key,
22
19
  width
23
20
  } = data;
24
- const editor = useSlateStatic();
25
- const value = useMemo(() => {
26
- return val || getElementStyle(editor, elementProps, "font-size");
27
- }, [editor, val]);
28
21
  const handleChange = e => {
29
22
  let inc = parseInt(e.target.value) || 16;
30
23
  inc = inc > 200 ? 200 : inc;
@@ -35,9 +28,7 @@ const FontSize = props => {
35
28
  const getSizeVal = () => {
36
29
  try {
37
30
  const size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
38
- const defaultSize = 16;
39
- const val = parseInt(size || defaultSize);
40
- return isNaN(val) ? defaultSize : val;
31
+ return parseInt(size || 16);
41
32
  } catch (err) {
42
33
  return "";
43
34
  }
@@ -86,7 +77,7 @@ const FontSize = props => {
86
77
  size: "small",
87
78
  inputProps: {
88
79
  style: {
89
- // textAlign: "center",
80
+ // textAlign: "center",
90
81
  padding: "11px"
91
82
  }
92
83
  },
@@ -129,7 +129,6 @@ const MenusArray = props => {
129
129
  className: "menu-item-app-header",
130
130
  children: [/*#__PURE__*/_jsx(TextField, {
131
131
  name: "text",
132
- placeholder: m?.placeholder || "text",
133
132
  type: "text",
134
133
  value: m.text,
135
134
  onChange: handleChange(i),
@@ -141,7 +140,6 @@ const MenusArray = props => {
141
140
  }), /*#__PURE__*/_jsx(TextField, {
142
141
  name: "url",
143
142
  type: "text",
144
- placeholder: m?.placeholder || "url",
145
143
  value: m.url,
146
144
  onChange: handleChange(i),
147
145
  size: "small",
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from "react";
1
+ import React, { useState } from "react";
2
2
  import { Grid, TextField, Typography } from "@mui/material";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -20,17 +20,6 @@ const Text = props => {
20
20
  } = data;
21
21
  const [value, setValue] = useState(pro_value);
22
22
  const [error, setError] = useState(false);
23
- useEffect(() => {
24
- if (["sectionBackgroundImage", "pageBgImage"].includes(key)) {
25
- let bgUrl = "";
26
- if (typeof props?.value === "string" && props?.value !== "none") {
27
- bgUrl = props.value;
28
- } else if (props?.value?.embedURL) {
29
- bgUrl = props.value.embedURL;
30
- }
31
- setValue(bgUrl);
32
- }
33
- }, [props?.value]);
34
23
  const handleChange = e => {
35
24
  const newValue = e.target.value;
36
25
  setValue(newValue);
@@ -46,7 +35,6 @@ const Text = props => {
46
35
  return /*#__PURE__*/_jsxs(Grid, {
47
36
  item: true,
48
37
  xs: width || 12,
49
- className: "text-field-wrapper",
50
38
  children: [/*#__PURE__*/_jsx(Typography, {
51
39
  variant: "body1",
52
40
  color: "primary",
@@ -66,10 +54,10 @@ const Text = props => {
66
54
  fullWidth: true,
67
55
  required: required,
68
56
  error: error,
69
- helperText: error ? translation("This field is required") : "",
57
+ helperText: error ? translation("This field is required") : '',
70
58
  sx: {
71
- "& .MuiFormHelperText-root": {
72
- color: "#d32f2f !important"
59
+ '& .MuiFormHelperText-root': {
60
+ color: '#d32f2f !important'
73
61
  }
74
62
  }
75
63
  })]
@@ -1,13 +1,13 @@
1
- import React, { useMemo } from "react";
1
+ import React from "react";
2
2
  import { FormControl, Grid, ListItemIcon, ListSubheader, MenuItem, Select, Typography } from "@mui/material";
3
- import { getBreakPointsValue, getElementStyle } from "../../../helper/theme";
3
+ import { getBreakPointsValue } from "../../../helper/theme";
4
4
  import useWindowResize from "../../../hooks/useWindowResize";
5
5
  import { useEditorContext } from "../../../hooks/useMouseMove";
6
6
  import FontFamilyAutocomplete from "../../../Toolbar/FormatTools/FontFamilyAutocomplete";
7
7
  import { useSlate } from "slate-react";
8
8
  import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
9
9
 
10
- // hideMetaDataOptions -- pass true to hide metadata option in select field
10
+ // hideMetaDataOptions -- pass true to hide metadata option in select field
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -31,22 +31,14 @@ const TextOptions = props => {
31
31
  renderOption,
32
32
  width,
33
33
  webFont = false,
34
- hideMetaDataOptions = false,
35
- themeEnabled
34
+ hideMetaDataOptions = false
36
35
  } = data;
37
36
  const {
38
37
  fontFamilies
39
38
  } = useEditorContext();
40
- const [size] = useWindowResize();
41
39
  const editor = useSlate();
42
- const value = useMemo(() => {
43
- const userValue = isBreakpoint ? getBreakPointsValue(val, size?.device) : val;
44
- if (themeEnabled) {
45
- // editor takes a little amount of time to update the new style in element, in that case userValue will be returned
46
- return getElementStyle(editor, elementProps, key) || userValue;
47
- }
48
- return userValue;
49
- }, [editor, isBreakpoint, val, size?.device]);
40
+ const [size] = useWindowResize();
41
+ const value = isBreakpoint ? getBreakPointsValue(val, size?.device) : val;
50
42
  const metaDataMappingOptions = metaMappings?.boards || [];
51
43
  const updatedOption = !hideMetaDataOptions && elementProps?.metadatamapping ? [...options, ...metaDataMappingOptions] : webFont ? fontFamilies?.options : options;
52
44
  const handleChange = (e, d) => {
@@ -125,7 +117,7 @@ const TextOptions = props => {
125
117
  editor: editor,
126
118
  format: key,
127
119
  options: fontFamilies.options,
128
- width: "100%",
120
+ width: '100%',
129
121
  onChange: onChange,
130
122
  val: value,
131
123
  webFont: true
@@ -124,25 +124,19 @@ export const formStyle = [{
124
124
  key: "alignment",
125
125
  type: "alignment"
126
126
  }]
127
- },
128
- // Commented out because the background functionality for forms has not been implemented yet
129
- // {
130
- // tab: "Background",
131
- // value: "backgroundImage",
132
- // fields: [
133
- // {
134
- // label: "URL",
135
- // key: "backgroundImage",
136
- // type: "text",
137
- // },
138
- // {
139
- // label: "Background Image",
140
- // key: "backgroundImage",
141
- // type: "backgroundImage",
142
- // },
143
- // ],
144
- // },
145
- {
127
+ }, {
128
+ tab: "Background",
129
+ value: "backgroundImage",
130
+ fields: [{
131
+ label: "URL",
132
+ key: "backgroundImage",
133
+ type: "text"
134
+ }, {
135
+ label: "Background Image",
136
+ key: "backgroundImage",
137
+ type: "backgroundImage"
138
+ }]
139
+ }, {
146
140
  tab: "Add to Boards",
147
141
  value: "metadatamapping",
148
142
  fields: [{
@@ -17,8 +17,7 @@ export const StyleContent = props => {
17
17
  element: propsElement,
18
18
  customProps,
19
19
  handleClose,
20
- customElement,
21
- title
20
+ customElement
22
21
  } = props;
23
22
  const element = customElement ? customElement : propsElement;
24
23
  const {
@@ -36,11 +35,19 @@ export const StyleContent = props => {
36
35
  fields: []
37
36
  };
38
37
  const filteredFields = (hideTools || [])?.length > 0 ? fields.filter(f => (hideTools || []).indexOf(f.key) === -1) : fields;
38
+
39
+ // Apply conditional field visibility
40
+ const conditionallyFilteredFields = filteredFields.filter(field => {
41
+ if (field.condition && typeof field.condition === 'function') {
42
+ return field.condition(element);
43
+ }
44
+ return true;
45
+ });
39
46
  return /*#__PURE__*/_jsx(Grid, {
40
47
  container: true,
41
48
  spacing: 2,
42
49
  className: "sidebar-wrpr-eds",
43
- children: [...filteredFields].map((m, i) => {
50
+ children: [...conditionallyFilteredFields].map((m, i) => {
44
51
  const FieldComponent = FieldMap[m.type];
45
52
  return FieldComponent ? /*#__PURE__*/_jsx(FieldComponent, {
46
53
  data: m,
@@ -50,8 +57,7 @@ export const StyleContent = props => {
50
57
  customProps: customProps,
51
58
  handleClose: handleClose,
52
59
  classes: classes,
53
- translation: translation,
54
- title: title
60
+ translation: translation
55
61
  }, `ei_stt_tab_${value}_${m.key}_${i}`) : null;
56
62
  })
57
63
  }, value);
@@ -212,15 +218,19 @@ const StyleBuilder = props => {
212
218
  sx: {
213
219
  padding: "5px"
214
220
  },
215
- children: m?.fields.filter(f => (hideTools || []).indexOf(f.value) === -1).map((field, index) => {
221
+ children: m?.fields.filter(f => (hideTools || []).indexOf(f.value) === -1).filter(field => {
222
+ if (field.condition && typeof field.condition === 'function') {
223
+ return field.condition(elementProps);
224
+ }
225
+ return true;
226
+ }).map((field, index) => {
216
227
  return /*#__PURE__*/_jsx(StyleContent, {
217
228
  renderTabs: [field],
218
229
  value: field.value,
219
230
  element: elementProps,
220
231
  onChange: onElementPropsChange,
221
232
  customProps: customProps,
222
- handleClose: handleClose,
223
- title: title
233
+ handleClose: handleClose
224
234
  }, `tab_${field.value}_${index}`);
225
235
  })
226
236
  })]
@@ -233,8 +243,7 @@ const StyleBuilder = props => {
233
243
  element: elementProps,
234
244
  onChange: onElementPropsChange,
235
245
  customProps: customProps,
236
- handleClose: handleClose,
237
- title: title
246
+ handleClose: handleClose
238
247
  }, `tab_${m.value}_$${i}`);
239
248
  }
240
249
  })