@flozy/editor 10.3.2 → 10.3.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 (163) hide show
  1. package/dist/Editor/ChatEditor.js +17 -16
  2. package/dist/Editor/CommonEditor.js +131 -16
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +46 -8
  5. package/dist/Editor/Elements/AI/PopoverAIInput.js +11 -3
  6. package/dist/Editor/Elements/Accordion/Accordion.js +30 -7
  7. package/dist/Editor/Elements/Accordion/AccordionSummary.js +1 -23
  8. package/dist/Editor/Elements/AppHeader/AppHeader.js +10 -5
  9. package/dist/Editor/Elements/Button/EditorButton.js +27 -9
  10. package/dist/Editor/Elements/Carousel/CarouselItem.js +2 -1
  11. package/dist/Editor/Elements/Color Picker/ColorButtons.js +61 -14
  12. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  13. package/dist/Editor/Elements/Color Picker/ColorPicker.js +10 -7
  14. package/dist/Editor/Elements/Color Picker/Styles.js +15 -13
  15. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -2
  16. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/MultiSelect.js +30 -28
  17. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +9 -7
  18. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +0 -1
  19. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +8 -4
  20. package/dist/Editor/Elements/Embed/Video.js +1 -1
  21. package/dist/Editor/Elements/Form/Form.js +1 -3
  22. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +0 -1
  23. package/dist/Editor/Elements/Form/FormField.js +3 -2
  24. package/dist/Editor/Elements/Form/Workflow/Styles.js +24 -22
  25. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +35 -31
  26. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +7 -4
  27. package/dist/Editor/Elements/FreeGrid/Options/More.js +7 -7
  28. package/dist/Editor/Elements/FreeGrid/helper.js +113 -0
  29. package/dist/Editor/Elements/FreeGrid/styles.js +14 -0
  30. package/dist/Editor/Elements/Grid/Grid.js +14 -2
  31. package/dist/Editor/Elements/Grid/GridItem.js +1 -1
  32. package/dist/Editor/Elements/Signature/Signature.css +2 -1
  33. package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +18 -5
  34. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +16 -3
  35. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  36. package/dist/Editor/Elements/Table/DragButton.js +0 -1
  37. package/dist/Editor/Elements/Table/Draggable.js +6 -2
  38. package/dist/Editor/Elements/Table/Styles.js +7 -0
  39. package/dist/Editor/Elements/Table/Table.js +3 -3
  40. package/dist/Editor/Elements/Table/TableCell.js +24 -5
  41. package/dist/Editor/Elements/Title/title.js +6 -6
  42. package/dist/Editor/Elements/Variables/VariableButton.js +10 -1
  43. package/dist/Editor/MiniEditor.js +2 -1
  44. package/dist/Editor/Styles/EditorStyles.js +5 -5
  45. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  46. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  47. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +2 -2
  48. package/dist/Editor/Toolbar/FormatTools/TextSize.js +10 -13
  49. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +2 -1
  50. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +4 -2
  51. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  52. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +167 -42
  53. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +7 -4
  54. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +2 -1
  55. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +72 -12
  56. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +58 -10
  57. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +439 -0
  58. package/dist/Editor/Toolbar/PopupTool/index.js +1 -1
  59. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  60. package/dist/Editor/assets/svg/BackIcon.js +18 -0
  61. package/dist/Editor/assets/svg/ThemeIcons.js +293 -0
  62. package/dist/Editor/common/Checkbox/index.js +46 -0
  63. package/dist/Editor/common/Checkbox/styles.js +45 -0
  64. package/dist/Editor/common/ColorPickerButton.js +41 -16
  65. package/dist/Editor/common/CustomColorPicker/index.js +130 -0
  66. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  67. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  68. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  69. package/dist/Editor/common/CustomSelect.js +43 -0
  70. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  71. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  72. package/dist/Editor/common/Icon.js +28 -0
  73. package/dist/Editor/common/ImageSelector/ImageSelector.js +2 -2
  74. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  75. package/dist/Editor/common/LinkSettings/NavComponents.js +45 -65
  76. package/dist/Editor/common/LinkSettings/index.js +13 -26
  77. package/dist/Editor/common/LinkSettings/navOptions.js +2 -2
  78. package/dist/Editor/common/LinkSettings/style.js +164 -244
  79. package/dist/Editor/common/RadioGroup/index.js +48 -0
  80. package/dist/Editor/common/RadioGroup/styles.js +29 -0
  81. package/dist/Editor/common/RnD/ElementOptions/Actions.js +4 -5
  82. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +2 -1
  83. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Signature.js +4 -3
  84. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  85. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  86. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  87. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  88. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +4 -2
  89. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  90. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  91. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +3 -1
  92. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  93. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
  94. package/dist/Editor/common/RnD/OptionsPopup/style.js +0 -1
  95. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -2
  96. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  97. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +6 -3
  98. package/dist/Editor/common/RnD/Utils/gridDropItem.js +28 -19
  99. package/dist/Editor/common/RnD/Utils/index.js +3 -1
  100. package/dist/Editor/common/RnD/VirtualElement/VirtualTextElement.js +42 -58
  101. package/dist/Editor/common/RnD/VirtualElement/helper.js +321 -131
  102. package/dist/Editor/common/RnD/VirtualElement/styles.js +16 -0
  103. package/dist/Editor/common/RnD/index.js +26 -12
  104. package/dist/Editor/common/Select/index.js +44 -7
  105. package/dist/Editor/common/Select/styles.js +30 -2
  106. package/dist/Editor/common/Shorthands/elements.js +54 -0
  107. package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +2 -2
  108. package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +12 -9
  109. package/dist/Editor/common/StyleBuilder/buttonStyle.js +4 -2
  110. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +4 -0
  111. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +5 -0
  112. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +12 -2
  113. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +15 -7
  114. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +16 -8
  115. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +36 -10
  116. package/dist/Editor/common/StyleBuilder/fieldTypes/embedUpload.js +115 -0
  117. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +16 -7
  118. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  119. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +15 -7
  120. package/dist/Editor/common/SwipeableDrawer/style.js +14 -12
  121. package/dist/Editor/common/Uploader.js +16 -0
  122. package/dist/Editor/common/iconListV2.js +76 -0
  123. package/dist/Editor/common/iconslist.js +21 -0
  124. package/dist/Editor/commonStyle.js +116 -61
  125. package/dist/Editor/helper/index.js +4 -0
  126. package/dist/Editor/helper/textIndeces.js +58 -0
  127. package/dist/Editor/helper/theme.js +203 -2
  128. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  129. package/dist/Editor/hooks/useMouseMove.js +9 -3
  130. package/dist/Editor/hooks/useTable.js +5 -4
  131. package/dist/Editor/hooks/useThemeValues.js +63 -0
  132. package/dist/Editor/plugins/withEmbeds.js +1 -1
  133. package/dist/Editor/plugins/withHTML.js +3 -1
  134. package/dist/Editor/plugins/withTable.js +1 -1
  135. package/dist/Editor/theme/ThemeList.js +50 -173
  136. package/dist/Editor/theme/index.js +149 -0
  137. package/dist/Editor/themeSettings/ActiveTheme.js +82 -0
  138. package/dist/Editor/themeSettings/buttons/index.js +300 -0
  139. package/dist/Editor/themeSettings/buttons/style.js +23 -0
  140. package/dist/Editor/themeSettings/colorTheme/index.js +310 -0
  141. package/dist/Editor/themeSettings/colorTheme/style.js +81 -0
  142. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  143. package/dist/Editor/themeSettings/fonts/index.js +240 -0
  144. package/dist/Editor/themeSettings/fonts/style.js +62 -0
  145. package/dist/Editor/themeSettings/icons.js +60 -0
  146. package/dist/Editor/themeSettings/index.js +380 -0
  147. package/dist/Editor/themeSettings/style.js +299 -0
  148. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  149. package/dist/Editor/themeSettingsAI/index.js +355 -0
  150. package/dist/Editor/themeSettingsAI/saveTheme.js +202 -0
  151. package/dist/Editor/themeSettingsAI/style.js +332 -0
  152. package/dist/Editor/utils/SlateUtilityFunctions.js +161 -37
  153. package/dist/Editor/utils/accordion.js +14 -4
  154. package/dist/Editor/utils/button.js +1 -17
  155. package/dist/Editor/utils/customHooks/useTableResize.js +49 -9
  156. package/dist/Editor/utils/draftToSlate.js +3 -2
  157. package/dist/Editor/utils/events.js +50 -6
  158. package/dist/Editor/utils/font.js +40 -37
  159. package/dist/Editor/utils/helper.js +188 -26
  160. package/dist/Editor/utils/insertAppHeader.js +1 -1
  161. package/dist/Editor/utils/signature.js +2 -9
  162. package/dist/Editor/utils/updateFormName.js +22 -0
  163. package/package.json +4 -4
@@ -1,22 +1,59 @@
1
- import { Select as Core } from "@mui/material";
1
+ import { Select as Core, MenuItem, Typography } from "@mui/material";
2
2
  import SelectStyles from "./styles";
3
3
  import { useEditorContext } from "../../hooks/useMouseMove";
4
- import KeyboardArrowDownRoundedIcon from '@mui/icons-material/KeyboardArrowDownRounded';
4
+ import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { Fragment as _Fragment } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
8
  function Select(props) {
7
9
  const {
8
10
  children,
11
+ value,
12
+ onChange,
13
+ options,
14
+ label,
15
+ labelProps,
16
+ showDefault,
17
+ translation,
9
18
  ...rest
10
19
  } = props;
11
20
  const {
12
21
  theme
13
22
  } = useEditorContext();
14
23
  const classes = SelectStyles(theme);
15
- return /*#__PURE__*/_jsx(Core, {
16
- MenuProps: classes.MenuProps,
17
- IconComponent: KeyboardArrowDownRoundedIcon,
18
- ...rest,
19
- children: children
24
+ const menuOptions = showDefault ? [{
25
+ label: "None",
26
+ value: ""
27
+ }, ...(options || [])] : options;
28
+ return /*#__PURE__*/_jsxs(_Fragment, {
29
+ children: [label ? /*#__PURE__*/_jsx(Typography, {
30
+ variant: "body2",
31
+ sx: {
32
+ paddingBottom: "4px"
33
+ },
34
+ ...(labelProps || {}),
35
+ children: label
36
+ }) : null, /*#__PURE__*/_jsx(Core, {
37
+ size: "small",
38
+ fullWidth: true,
39
+ defaultValue: "",
40
+ value: value || "",
41
+ onChange: onChange,
42
+ sx: classes.select,
43
+ MenuProps: classes.MenuProps,
44
+ IconComponent: KeyboardArrowDownRoundedIcon,
45
+ displayEmpty: true,
46
+ ...rest,
47
+ children: menuOptions?.map((option, i) => {
48
+ return /*#__PURE__*/_jsx(MenuItem, {
49
+ value: option.value,
50
+ children: /*#__PURE__*/_jsx(Typography, {
51
+ variant: "body2",
52
+ children: translation(option.label)
53
+ })
54
+ }, i);
55
+ })
56
+ })]
20
57
  });
21
58
  }
22
59
  export default Select;
@@ -1,16 +1,44 @@
1
1
  const SelectStyles = (theme = {}) => {
2
2
  const {
3
3
  textColor,
4
- background
4
+ textWeightPopUpBackground,
5
+ menuOptionSelectedOption
5
6
  } = theme?.palette?.editor || {};
6
7
  return {
7
8
  MenuProps: {
9
+ sx: {
10
+ zIndex: "1302 !important"
11
+ },
8
12
  PaperProps: {
9
13
  sx: {
14
+ background: textWeightPopUpBackground,
10
15
  color: textColor,
11
- background
16
+ borderRadius: "8px",
17
+ marginTop: "2px",
18
+ "& li": {
19
+ padding: "6px 16px",
20
+ margin: "5px !important",
21
+ borderRadius: "4px !important"
22
+ },
23
+ "& .MuiList-root": {
24
+ padding: "0px"
25
+ },
26
+ "& .MuiTypography-root": {
27
+ fontSize: "12px !important",
28
+ fontWeight: 500,
29
+ fontFamily: "'Inter',sans-serif"
30
+ },
31
+ "& .Mui-selected": {
32
+ background: menuOptionSelectedOption,
33
+ color: textColor
34
+ }
12
35
  }
13
36
  }
37
+ },
38
+ select: {
39
+ "& .MuiSelect-icon": {
40
+ color: "#64748B !important"
41
+ }
14
42
  }
15
43
  };
16
44
  };
@@ -55,6 +55,60 @@ const ELEMENTS_LIST = [{
55
55
  icon: "headingThree"
56
56
  }),
57
57
  onInsert: editor => toggleBlock(editor, "headingThree", false)
58
+ }, {
59
+ name: "Heading 4",
60
+ desc: "",
61
+ group: "Text",
62
+ type: "headingFour",
63
+ icon: /*#__PURE__*/_jsx(Icon, {
64
+ icon: "headingFour"
65
+ }),
66
+ onInsert: editor => toggleBlock(editor, "headingFour", false)
67
+ }, {
68
+ name: "Heading 5",
69
+ desc: "",
70
+ group: "Text",
71
+ type: "headingFive",
72
+ icon: /*#__PURE__*/_jsx(Icon, {
73
+ icon: "headingFive"
74
+ }),
75
+ onInsert: editor => toggleBlock(editor, "headingFive", false)
76
+ }, {
77
+ name: "Heading 6",
78
+ desc: "",
79
+ group: "Text",
80
+ type: "headingSix",
81
+ icon: /*#__PURE__*/_jsx(Icon, {
82
+ icon: "headingSix"
83
+ }),
84
+ onInsert: editor => toggleBlock(editor, "headingSix", false)
85
+ }, {
86
+ name: "Paragraph 1",
87
+ desc: "",
88
+ group: "Text",
89
+ type: "paragraphOne",
90
+ icon: /*#__PURE__*/_jsx(Icon, {
91
+ icon: "paragraphOne"
92
+ }),
93
+ onInsert: editor => toggleBlock(editor, "paragraphOne", false)
94
+ }, {
95
+ name: "Paragraph 2",
96
+ desc: "",
97
+ group: "Text",
98
+ type: "paragraphTwo",
99
+ icon: /*#__PURE__*/_jsx(Icon, {
100
+ icon: "paragraphTwo"
101
+ }),
102
+ onInsert: editor => toggleBlock(editor, "paragraphTwo", false)
103
+ }, {
104
+ name: "Paragraph 3",
105
+ desc: "",
106
+ group: "Text",
107
+ type: "paragraphThree",
108
+ icon: /*#__PURE__*/_jsx(Icon, {
109
+ icon: "paragraphThree"
110
+ }),
111
+ onInsert: editor => toggleBlock(editor, "paragraphThree", false)
58
112
  }, {
59
113
  name: "Quote",
60
114
  desc: "",
@@ -8,11 +8,11 @@ const accordionTitleBtnStyle = [{
8
8
  needPreview: true,
9
9
  hideGradient: true
10
10
  }, {
11
- label: "Accordion Background Color",
11
+ label: "Background Color",
12
12
  key: "accordionBgColor",
13
13
  type: "color"
14
14
  }, {
15
- label: "Accordion Border Color",
15
+ label: "Border Color",
16
16
  key: "accordionBorderColor",
17
17
  type: "color"
18
18
  }]
@@ -6,15 +6,18 @@ const accordionTitleStyle = [{
6
6
  key: "textColor",
7
7
  type: "color",
8
8
  needPreview: true
9
- }, {
10
- label: "Background Color",
11
- key: "bgColor",
12
- type: "color"
13
- }, {
14
- label: "Border Color",
15
- key: "borderColor",
16
- type: "color"
17
- }]
9
+ }
10
+ // {
11
+ // label: "Background Color",
12
+ // key: "bgColor",
13
+ // type: "color",
14
+ // },
15
+ // {
16
+ // label: "Border Color",
17
+ // key: "borderColor",
18
+ // type: "color",
19
+ // },
20
+ ]
18
21
  }, {
19
22
  tab: "Banner Spacing",
20
23
  value: "bannerSpacing",
@@ -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",
@@ -6,6 +6,10 @@ const embedVideoStyle = [{
6
6
  label: "URL",
7
7
  key: "url",
8
8
  type: "text"
9
+ }, {
10
+ label: "File",
11
+ key: "url",
12
+ type: "embedUpload"
9
13
  }]
10
14
  }, {
11
15
  tab: "Aspect Ratio",
@@ -76,6 +76,11 @@ const BackgroundImage = props => {
76
76
  children: translation("REMOVE")
77
77
  }) : /*#__PURE__*/_jsx(Grid, {
78
78
  className: "uploadImageText",
79
+ sx: {
80
+ padding: 0,
81
+ background: `${theme?.palette?.editor?.inputFieldBgColor}`,
82
+ border: `1px solid ${theme?.palette?.editor?.inputFieldBorder}`
83
+ },
79
84
  children: /*#__PURE__*/_jsxs(Button, {
80
85
  component: "label",
81
86
  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,
@@ -23,7 +23,17 @@ const BannerSpacing = props => {
23
23
  key
24
24
  } = data;
25
25
  const lockKeyVal = `lock${key}`;
26
- let lockSpacing = elementProps[lockKeyVal];
26
+ const {
27
+ selectedTheme
28
+ } = useEditorTheme();
29
+ const {
30
+ bannerSpacing,
31
+ lockbannerSpacing
32
+ } = selectedTheme?.elementProps?.button || {};
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;
27
37
  if (lockSpacing === undefined) {
28
38
  lockSpacing = true;
29
39
  }
@@ -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";
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,
@@ -19,16 +19,24 @@ 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
- }
28
22
  const {
29
23
  key
30
24
  } = data;
31
25
  const [size] = useWindowResize();
26
+ const {
27
+ selectedTheme
28
+ } = useEditorTheme();
29
+ const {
30
+ borderRadius,
31
+ lockRadius: themeLockRadius
32
+ } = selectedTheme?.elementProps?.button || {};
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
+ }
32
40
  const value = getBreakPointsValue(val, size?.device);
33
41
  const handleChange = e => {
34
42
  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,14 +16,17 @@ const RenderCard = ({
15
16
  }) => {
16
17
  return /*#__PURE__*/_jsx(Card, {
17
18
  sx: {
18
- position: 'relative',
19
- padding: "10px"
19
+ position: "relative",
20
+ padding: "10px",
21
+ "& .MuiCheckbox-root svg": {
22
+ fill: "unset !important"
23
+ }
20
24
  },
21
25
  children: /*#__PURE__*/_jsx(FormControlLabel, {
22
26
  control: /*#__PURE__*/_jsx(Checkbox, {
23
27
  sx: {
24
28
  padding: 0,
25
- marginTop: '3px'
29
+ marginTop: "3px"
26
30
  },
27
31
  onChange: handleChange,
28
32
  checked: value,
@@ -58,10 +62,10 @@ const RenderCard = ({
58
62
  })
59
63
  }),
60
64
  sx: {
61
- width: '100%',
62
- display: 'flex',
63
- justifyContent: 'space-between',
64
- alignItems: 'flex-start',
65
+ width: "100%",
66
+ display: "flex",
67
+ justifyContent: "space-between",
68
+ alignItems: "flex-start",
65
69
  margin: 0
66
70
  },
67
71
  labelPlacement: "start"
@@ -83,6 +87,9 @@ const CardsMapping = props => {
83
87
  selectedCard,
84
88
  infoIcon
85
89
  } = data;
90
+ const {
91
+ theme
92
+ } = useEditorContext();
86
93
  const {
87
94
  translation
88
95
  } = customProps;
@@ -104,7 +111,8 @@ const CardsMapping = props => {
104
111
  sx: {
105
112
  marginBottom: "12px",
106
113
  "& .MuiPaper-root": {
107
- border: activeCard ? "1px solid #2563EB" : "1px solid #C8D8FA",
114
+ background: theme?.palette?.editor?.miniToolBarBackground,
115
+ border: activeCard ? "1px solid #2563EB" : `1px solid ${theme?.palette?.editor?.inputFieldBorder}`,
108
116
  borderRadius: "8px",
109
117
  boxShadow: activeCard ? "0px 4px 16px 0px #2563EB40" : "unset"
110
118
  }
@@ -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 { getVariableValue } from "../../../helper/theme";
5
+ import { useButtonStyle } from "../../../hooks/useThemeValues";
6
+
7
+ // const MAP_STYLE_PROPS = {
8
+ // bgColor: "background-color",
9
+ // textColor: "color",
10
+ // };
4
11
  import { jsx as _jsx } from "react/jsx-runtime";
5
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
6
13
  const Color = props => {
7
14
  const {
8
- value,
15
+ value: val,
9
16
  data,
10
17
  onChange,
11
18
  classes,
19
+ elementProps,
20
+ handleClose,
12
21
  customProps
13
22
  } = props;
14
23
  const {
@@ -20,7 +29,22 @@ const Color = props => {
20
29
  translation
21
30
  } = customProps;
22
31
  const [recentColors, setRecentColors] = useState({});
23
- const getLable = label === 'Text' ? translation("selectTextColor") : label === 'Background' ? translation("selectBgColor") : translation(label);
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);
24
48
  useEffect(() => {
25
49
  const storedColors = JSON.parse(localStorage.getItem("recentColors"));
26
50
  if (storedColors) {
@@ -58,11 +82,11 @@ const Color = props => {
58
82
  fontSize: "14px",
59
83
  fontWeight: 500,
60
84
  marginBottom: "5px",
61
- display: 'flex',
62
- alignItems: 'center',
63
- '& svg': {
64
- width: '20px',
65
- height: '20px'
85
+ display: "flex",
86
+ alignItems: "center",
87
+ "& svg": {
88
+ width: "20px",
89
+ height: "20px"
66
90
  }
67
91
  },
68
92
  children: [translation(label), data?.infoIcon ? /*#__PURE__*/_jsx(Tooltip, {
@@ -70,14 +94,14 @@ const Color = props => {
70
94
  title: translation("noteText"),
71
95
  children: /*#__PURE__*/_jsx("span", {
72
96
  style: {
73
- display: 'inline-block'
97
+ display: "inline-block"
74
98
  },
75
99
  children: data?.infoIcon
76
100
  })
77
101
  }) : null]
78
102
  }), /*#__PURE__*/_jsx(TextField, {
79
103
  fullWidth: true,
80
- value: value,
104
+ value: inputValue,
81
105
  placeholder: getLable || `${label} ${translation("color code")}`,
82
106
  InputLabelProps: {
83
107
  shrink: true
@@ -90,6 +114,8 @@ const Color = props => {
90
114
  value: value,
91
115
  onSave: onSave,
92
116
  recentColors: recentColors[key],
117
+ handleClose: handleClose,
118
+ disableEditTheme: customProps?.disableEditTheme,
93
119
  hideGradient: hideGradient
94
120
  })
95
121
  })
@@ -0,0 +1,115 @@
1
+ import React, { useState } from "react";
2
+ import { Grid, Button, Typography } from "@mui/material";
3
+ import ImageSelector from "../../ImageSelector/ImageSelector";
4
+ import UploadStyles from "../../ImageSelector/UploadStyles";
5
+ import Icon from "../../Icon";
6
+ import { useEditorContext } from "../../../hooks/useMouseMove";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ const EmbedUpload = props => {
10
+ const {
11
+ value,
12
+ data,
13
+ customProps,
14
+ onChange
15
+ } = props;
16
+ const {
17
+ translation
18
+ } = customProps;
19
+ const {
20
+ key
21
+ } = data;
22
+ const [base64, setBase64] = useState(value);
23
+ const [open, setOpen] = useState(false);
24
+ const {
25
+ theme
26
+ } = useEditorContext();
27
+ const classes = UploadStyles(theme);
28
+ const onRemoveBG = () => {
29
+ setBase64(null);
30
+ onChange({
31
+ [key]: "none"
32
+ });
33
+ };
34
+ const handleClick = () => {
35
+ setOpen(true);
36
+ };
37
+ const handleClose = () => {
38
+ setOpen(false);
39
+ };
40
+ const onSelectImage = img => {
41
+ setBase64(img);
42
+ onChange({
43
+ [key]: img
44
+ });
45
+ handleClose();
46
+ };
47
+ return /*#__PURE__*/_jsxs(Grid, {
48
+ item: true,
49
+ xs: 12,
50
+ children: [/*#__PURE__*/_jsx(Typography, {
51
+ variant: "body1",
52
+ color: "primary",
53
+ sx: {
54
+ fontSize: "14px",
55
+ fontWeight: "500",
56
+ marginBottom: "8px"
57
+ },
58
+ children: translation("Upload Video")
59
+ }), /*#__PURE__*/_jsx(Grid, {
60
+ container: true,
61
+ sx: classes.uploadContainer,
62
+ children: /*#__PURE__*/_jsx(Grid, {
63
+ item: true,
64
+ xs: 12,
65
+ sx: classes.uploadField,
66
+ children: /*#__PURE__*/_jsx(Grid, {
67
+ className: "uploadImageSection",
68
+ children: base64 ? /*#__PURE__*/_jsxs(Grid, {
69
+ justifyItems: "center",
70
+ alignItems: "center",
71
+ children: [/*#__PURE__*/_jsx(Typography, {
72
+ style: {
73
+ padding: "8px",
74
+ fontSize: "8px",
75
+ color: theme?.palette?.editor?.textColor,
76
+ textAlign: "center"
77
+ },
78
+ children: base64
79
+ }), /*#__PURE__*/_jsx(Grid, {
80
+ className: "removeImageText",
81
+ onClick: onRemoveBG,
82
+ children: translation("REMOVE")
83
+ })]
84
+ }) : /*#__PURE__*/_jsx(Grid, {
85
+ className: "uploadImageText",
86
+ children: /*#__PURE__*/_jsxs(Button, {
87
+ component: "label",
88
+ variant: "text",
89
+ style: {
90
+ background: "none"
91
+ },
92
+ onClick: handleClick,
93
+ sx: classes.uploadIcon,
94
+ children: [/*#__PURE__*/_jsx(Icon, {
95
+ icon: "fileUpload"
96
+ }), /*#__PURE__*/_jsx("span", {
97
+ style: {
98
+ paddingLeft: "8px"
99
+ },
100
+ children: translation("Upload a Video")
101
+ })]
102
+ })
103
+ })
104
+ })
105
+ })
106
+ }), /*#__PURE__*/_jsx(ImageSelector, {
107
+ open: open,
108
+ title: "Video",
109
+ onClose: handleClose,
110
+ customProps: customProps,
111
+ onSelectImage: onSelectImage
112
+ })]
113
+ });
114
+ };
115
+ export default EmbedUpload;
@@ -1,23 +1,30 @@
1
- import React from "react";
1
+ import React, { useMemo } 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";
5
7
  import { jsx as _jsx } from "react/jsx-runtime";
6
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
7
9
  const FontSize = props => {
8
10
  const {
9
- value,
11
+ value: val,
10
12
  data,
11
13
  onChange,
14
+ elementProps,
12
15
  customProps
13
16
  } = props;
14
- const {
15
- translation
16
- } = customProps;
17
17
  const {
18
18
  key,
19
19
  width
20
20
  } = data;
21
+ const editor = useSlateStatic();
22
+ const value = useMemo(() => {
23
+ return val || getElementStyle(editor, elementProps, "font-size");
24
+ }, [editor, val]);
25
+ const {
26
+ translation
27
+ } = customProps;
21
28
  const handleChange = e => {
22
29
  let inc = parseInt(e.target.value) || 16;
23
30
  inc = inc > 200 ? 200 : inc;
@@ -28,7 +35,9 @@ const FontSize = props => {
28
35
  const getSizeVal = () => {
29
36
  try {
30
37
  const size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
31
- return parseInt(size || 16);
38
+ const defaultSize = 16;
39
+ const val = parseInt(size || defaultSize);
40
+ return isNaN(val) ? defaultSize : val;
32
41
  } catch (err) {
33
42
  return "";
34
43
  }
@@ -77,7 +86,7 @@ const FontSize = props => {
77
86
  size: "small",
78
87
  inputProps: {
79
88
  style: {
80
- // textAlign: "center",
89
+ // textAlign: "center",
81
90
  padding: "11px"
82
91
  }
83
92
  },