@flozy/editor 1.2.8 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. package/dist/Editor/CommonEditor.js +46 -8
  2. package/dist/Editor/DialogWrapper.js +9 -4
  3. package/dist/Editor/Editor.css +5 -4
  4. package/dist/Editor/Elements/AppHeader/AppHeader.js +2 -0
  5. package/dist/Editor/Elements/Button/ButtonPopup.js +3 -1
  6. package/dist/Editor/Elements/Button/EditorButton.js +34 -5
  7. package/dist/Editor/Elements/Carousel/Carousel.js +1 -0
  8. package/dist/Editor/Elements/Color Picker/ColorPicker.css +9 -4
  9. package/dist/Editor/Elements/Color Picker/ColorPicker.js +3 -2
  10. package/dist/Editor/Elements/Color Picker/LogoIcon.js +6 -6
  11. package/dist/Editor/Elements/Embed/Embed.js +10 -3
  12. package/dist/Editor/Elements/Equation/EquationButton.js +1 -1
  13. package/dist/Editor/Elements/ID/Id.js +1 -1
  14. package/dist/Editor/Elements/ImageText/ImageText.js +29 -2
  15. package/dist/Editor/Elements/Link/Link.js +1 -1
  16. package/dist/Editor/Elements/Link/LinkButton.js +11 -4
  17. package/dist/Editor/Elements/Link/styles.css +1 -1
  18. package/dist/Editor/Elements/NewLine/NewLineButton.js +8 -6
  19. package/dist/Editor/Elements/Signature/Signature.css +4 -4
  20. package/dist/Editor/Elements/Signature/SignaturePopup.js +11 -4
  21. package/dist/Editor/Elements/Table/Table.js +1 -0
  22. package/dist/Editor/Elements/Table/TableSelector.js +8 -4
  23. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +2 -1
  24. package/dist/Editor/common/StyleBuilder/buttonStyle.js +8 -4
  25. package/dist/Editor/common/StyleBuilder/embedImageStyle.js +0 -8
  26. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +11 -4
  27. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +17 -10
  28. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +113 -0
  29. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +0 -1
  30. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +3 -1
  31. package/dist/Editor/common/StyleBuilder/index.js +8 -1
  32. package/dist/Editor/common/Uploader.js +4 -4
  33. package/dist/Editor/commonStyle.js +11 -0
  34. package/dist/Editor/plugins/withEmbeds.js +1 -0
  35. package/dist/Editor/service/actionTrigger.js +16 -0
  36. package/dist/Editor/utils/button.js +4 -1
  37. package/package.json +1 -1
@@ -16,6 +16,7 @@ import "./Editor.css";
16
16
  import { serialize } from "./utils/serializer";
17
17
  import { getThumbnailImage } from "./helper";
18
18
  import PopupTool from "./Toolbar/PopupTool";
19
+ import { Button } from "@mui/material";
19
20
  import { jsx as _jsx } from "react/jsx-runtime";
20
21
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
22
  const PREVIEW_IMAGE_HIDE_CLASS = ["grid-container-toolbar", "grid-item-toolbar", "element-toolbar"];
@@ -51,6 +52,13 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
51
52
  const [isInteracted, setIsInteracted] = useState(false);
52
53
  const [deboundedValue] = useDebounce(value, 500);
53
54
  const [fullScreen, setFullScreen] = useState(false);
55
+ const [viewport, setViewport] = useState({
56
+ w: null,
57
+ h: null
58
+ });
59
+ const {
60
+ defaultBG
61
+ } = otherProps || {};
54
62
  const editor = useMemo(() => {
55
63
  if (collaborativeEditor) return collaborativeEditor;
56
64
  return withCommon(createEditor());
@@ -134,6 +142,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
134
142
  },
135
143
  toggleFullscreen() {
136
144
  setFullScreen(!fullScreen);
145
+ },
146
+ changeViewport({
147
+ w,
148
+ h
149
+ }) {
150
+ setViewport({
151
+ w,
152
+ h
153
+ });
137
154
  }
138
155
  }));
139
156
  const [htmlAction, setHtmlAction] = useState({
@@ -158,8 +175,10 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
158
175
  setIsInteracted(true);
159
176
  }
160
177
  };
178
+ const isReadOnly = readOnly === "readonly";
161
179
  const customProps = {
162
- ...(otherProps || {})
180
+ ...(otherProps || {}),
181
+ readOnly: isReadOnly
163
182
  };
164
183
  const renderElement = useCallback(props => {
165
184
  return /*#__PURE__*/_jsx(Element, {
@@ -179,6 +198,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
179
198
  ...partialState
180
199
  }));
181
200
  };
201
+ const handleChangeViewport = (w, h) => () => {
202
+ setViewport({
203
+ w,
204
+ h
205
+ });
206
+ };
182
207
  const onKeyDown = useCallback(event => {
183
208
  const isMetaKey = event.metaKey && event.keyCode >= 65 && event.keyCode <= 90;
184
209
  const isCtrlKey = event.ctrlKey || isMetaKey;
@@ -198,18 +223,28 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
198
223
  });
199
224
  }
200
225
  }, [chars, editor, target, mentions, setMentions]);
201
- const isReadOnly = readOnly === "readonly";
202
226
  const Overlay = collaborativeEditor && !isReadOnly ? RemoteCursorOverlay : React.Fragment;
203
227
  return /*#__PURE__*/_jsx(DialogWrapper, {
204
228
  ...props,
205
229
  fullScreen: fullScreen,
206
- children: /*#__PURE__*/_jsx("div", {
230
+ children: /*#__PURE__*/_jsxs("div", {
231
+ className: "editor-t-wrapper",
207
232
  style: {
208
233
  display: "flex",
209
234
  flexDirection: "column",
210
- padding: "0 8px"
235
+ padding: "0 8px",
236
+ background: "white",
237
+ backgroundImage: "radial-gradient(#CCC 2px, transparent 0)",
238
+ backgroundSize: "40px 40px",
239
+ backgroundPosition: "-19px -19px"
211
240
  },
212
- children: /*#__PURE__*/_jsxs(Slate, {
241
+ children: [/*#__PURE__*/_jsx(Button, {
242
+ onClick: handleChangeViewport(414, 736),
243
+ children: "414 x 736"
244
+ }), /*#__PURE__*/_jsx(Button, {
245
+ onClick: handleChangeViewport(375, 812),
246
+ children: " 375 x 812"
247
+ }), /*#__PURE__*/_jsxs(Slate, {
213
248
  editor: editor,
214
249
  initialValue: value,
215
250
  onChange: handleEditorChange,
@@ -222,12 +257,15 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
222
257
  className: "editor-wrapper",
223
258
  style: {
224
259
  border: "1px solid #f3f3f3",
225
- background: pageProps?.pageColor || "#FFF",
260
+ background: pageProps?.pageColor || defaultBG || "#FFF",
226
261
  color: pageProps?.color || "#000",
227
262
  paddingLeft: `${bannerSpacing?.left}px`,
228
263
  paddingRight: `${bannerSpacing?.right}px`,
229
264
  paddingTop: `${bannerSpacing?.top}px`,
230
- paddingBottom: `${bannerSpacing?.bottom}px`
265
+ paddingBottom: `${bannerSpacing?.bottom}px`,
266
+ width: viewport.w ? `${viewport.w}px` : "100%",
267
+ height: viewport.h ? `${viewport.h}px` : "auto",
268
+ alignSelf: "center"
231
269
  },
232
270
  children: [/*#__PURE__*/_jsx(PopupTool, {}), /*#__PURE__*/_jsx(Editable, {
233
271
  className: "innert-editor-textbox",
@@ -249,7 +287,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
249
287
  ...htmlAction,
250
288
  handleCodeToText: handleCodeToText
251
289
  })]
252
- }, id)
290
+ }, id)]
253
291
  })
254
292
  });
255
293
  });
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  import { Dialog, DialogTitle, DialogContent, DialogActions, IconButton, Grid } from "@mui/material";
3
3
  import CloseIcon from "@mui/icons-material/Close";
4
+ // import styled from "@emotion/styled";
5
+ // import commonStyle from "./commonStyle";
4
6
  import { jsx as _jsx } from "react/jsx-runtime";
5
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
6
8
  const DialogWrapper = props => {
@@ -11,6 +13,7 @@ const DialogWrapper = props => {
11
13
  footer
12
14
  } = props;
13
15
  return fullScreen ? /*#__PURE__*/_jsxs(Dialog, {
16
+ className: `dialogComp`,
14
17
  open: fullScreen,
15
18
  fullScreen: fullScreen,
16
19
  onClose: onClose,
@@ -18,8 +21,8 @@ const DialogWrapper = props => {
18
21
  children: /*#__PURE__*/_jsx(Grid, {
19
22
  children: /*#__PURE__*/_jsx(Grid, {
20
23
  style: {
21
- display: 'flex',
22
- justifyContent: 'end'
24
+ display: "flex",
25
+ justifyContent: "end"
23
26
  },
24
27
  children: /*#__PURE__*/_jsx(IconButton, {
25
28
  onClick: onClose,
@@ -37,7 +40,9 @@ const DialogWrapper = props => {
37
40
  DialogWrapper.defaultProps = {
38
41
  fullScreen: false,
39
42
  onClose: () => {},
40
- children: '',
41
- footer: ''
43
+ children: "",
44
+ footer: ""
42
45
  };
46
+
47
+ // export default styled(commonStyle)(DialogWrapper);
43
48
  export default DialogWrapper;
@@ -39,7 +39,8 @@ blockquote{
39
39
  min-height: 400px;
40
40
  height: fit-content;
41
41
  max-width: 100%;
42
- border: none !important
42
+ border: none !important;
43
+ z-index: 1;
43
44
  }
44
45
 
45
46
  .editor-wrapper table{
@@ -53,7 +54,7 @@ blockquote{
53
54
  display: inline;
54
55
  position: relative;
55
56
  }
56
- .popup{
57
+ .af-popup{
57
58
  position: fixed;
58
59
  left: 0;
59
60
  right: 0;
@@ -64,8 +65,8 @@ blockquote{
64
65
  padding: 20px;
65
66
  border-radius: 6px;
66
67
  /* border: 1px solid lightgray; */
67
- height: fit-content;
68
- z-index: 1;
68
+ height: fit-content !important;
69
+ z-index: 999;
69
70
  width: 300px;
70
71
 
71
72
  }
@@ -94,6 +94,7 @@ function AppHeader(props) {
94
94
  sx: {
95
95
  my: 2
96
96
  },
97
+ color: "primary",
97
98
  children: appLogo && appLogo !== "none" ? /*#__PURE__*/_jsx("img", {
98
99
  alt: `${appTitle} Logo`,
99
100
  style: {
@@ -146,6 +147,7 @@ function AppHeader(props) {
146
147
  }), /*#__PURE__*/_jsxs(Typography, {
147
148
  variant: "h6",
148
149
  component: "div",
150
+ color: "primary",
149
151
  style: {
150
152
  display: "inline-flex",
151
153
  alignItems: "center"
@@ -6,6 +6,7 @@ const ButtonPopup = props => {
6
6
  const {
7
7
  element,
8
8
  onSave,
9
+ customProps,
9
10
  onClose
10
11
  } = props;
11
12
  return /*#__PURE__*/_jsx(StyleBuilder, {
@@ -14,7 +15,8 @@ const ButtonPopup = props => {
14
15
  element: element,
15
16
  onSave: onSave,
16
17
  onClose: onClose,
17
- renderTabs: buttonStyle
18
+ renderTabs: buttonStyle,
19
+ customProps: customProps
18
20
  });
19
21
  };
20
22
  export default ButtonPopup;
@@ -3,6 +3,7 @@ import { Transforms } from "slate";
3
3
  import { ReactEditor, useSlateStatic } from "slate-react";
4
4
  import { Menu, MenuItem } from "@mui/material";
5
5
  import ButtonPopup from "./ButtonPopup";
6
+ import { actionButtonRedirect } from "../../service/actionTrigger";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const EditorButton = props => {
@@ -12,7 +13,8 @@ const EditorButton = props => {
12
13
  customProps
13
14
  } = props;
14
15
  const {
15
- readOnly
16
+ readOnly,
17
+ metadata
16
18
  } = customProps;
17
19
  const editor = useSlateStatic();
18
20
  const path = ReactEditor.findPath(editor, element);
@@ -25,8 +27,13 @@ const EditorButton = props => {
25
27
  bannerSpacing,
26
28
  textColor,
27
29
  url,
28
- borderColor
30
+ borderColor,
31
+ buttonLink
29
32
  } = element;
33
+ const {
34
+ linkType,
35
+ redirectOnURLResult
36
+ } = buttonLink || {};
30
37
  const {
31
38
  topLeft,
32
39
  topRight,
@@ -39,13 +46,34 @@ const EditorButton = props => {
39
46
  right,
40
47
  bottom
41
48
  } = bannerSpacing || {};
42
- const onClick = e => {
43
- setAnchorEl(e.currentTarget);
49
+ const onClick = async e => {
50
+ if (readOnly) {
51
+ if (metadata?.buttonLink?.handler) {
52
+ metadata.buttonLink.handler("click");
53
+ } else if (linkType === "actionTrigger") {
54
+ if (redirectOnURLResult) {
55
+ // call api and redirect based on api result
56
+ const apiResult = await actionButtonRedirect({}, {
57
+ url: buttonLink?.url
58
+ });
59
+ window.open(apiResult, "_blank").focus();
60
+ } else {
61
+ const refUrl = buttonLink?.url ? buttonLink?.url.includes("http") ? buttonLink?.url : `//${buttonLink?.url}` : "Link";
62
+ window.open(refUrl, "_blank").focus();
63
+ }
64
+ } else {
65
+ const refUrl = url ? url.includes("http") ? url : `//${url}` : "Link";
66
+ window.open(refUrl, "_blank").focus();
67
+ }
68
+ } else {
69
+ setAnchorEl(e.currentTarget);
70
+ }
44
71
  };
45
72
  const handleClose = () => {
46
73
  setAnchorEl(null);
47
74
  };
48
75
  const onMenuClick = val => () => {
76
+ console.log(val, url);
49
77
  switch (val) {
50
78
  case "open":
51
79
  const refUrl = url ? url.includes("http") ? url : `//${url}` : "Link";
@@ -117,7 +145,8 @@ const EditorButton = props => {
117
145
  }), edit && /*#__PURE__*/_jsx(ButtonPopup, {
118
146
  element: element,
119
147
  onSave: onSave,
120
- onClose: onClose
148
+ onClose: onClose,
149
+ customProps: customProps
121
150
  })]
122
151
  });
123
152
  };
@@ -80,6 +80,7 @@ const Carousel = props => {
80
80
  };
81
81
  return /*#__PURE__*/_jsxs("div", {
82
82
  ...attributes,
83
+ className: "sliderBg",
83
84
  style: {
84
85
  padding: "32px",
85
86
  backgroundColor: "#CCC",
@@ -15,6 +15,7 @@
15
15
  border-radius: 20px;
16
16
  background-color: #000000;
17
17
  border: 1px solid #eee;
18
+ flex-shrink: 0;
18
19
  }
19
20
  .color-picker form{
20
21
  display: flex;
@@ -24,9 +25,9 @@
24
25
  }
25
26
  .color-picker input{
26
27
  width: 65%;
27
- height: 30px;
28
+ height: 30px !important;
28
29
  border:1px solid lightgray;
29
- border-radius: 5px;
30
+ border-radius: 5px !important;
30
31
  padding-left:5px
31
32
  }
32
33
  .color-picker button{
@@ -42,7 +43,7 @@
42
43
  }
43
44
  .color-picker-dialog .popup {
44
45
  width: 100%;
45
- max-width: fit-content;
46
+ max-width: fit-content !important;
46
47
  }
47
48
  .backdrop {
48
49
  position: fixed;
@@ -54,5 +55,9 @@
54
55
  z-index: 1;
55
56
  }
56
57
  .colorSaveBtn {
57
- border-radius: 6px;
58
+ border-radius: 6px !important;
59
+ height: 30px;
60
+ padding: 0 15px !important;
61
+ width: 60px !important;
62
+ flex-shrink: 0;
58
63
  }
@@ -7,6 +7,7 @@ import { Transforms } from "slate";
7
7
  import usePopup from "../../utils/customHooks/usePopup";
8
8
  import { logo } from "./LogoIcon";
9
9
  import "./ColorPicker.css";
10
+ import { ButtonBase } from "@mui/material";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
13
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -88,7 +89,7 @@ const ColorPicker = ({
88
89
  setShowOptions(false);
89
90
  }
90
91
  }), /*#__PURE__*/_jsxs("div", {
91
- className: "popup",
92
+ className: "af-popup",
92
93
  children: [/*#__PURE__*/_jsx("div", {
93
94
  className: "color-options",
94
95
  children: colors.map((color, index) => {
@@ -123,7 +124,7 @@ const ColorPicker = ({
123
124
  style: {
124
125
  border: validHex === false ? "1px solid red" : "1px solid lightgray"
125
126
  }
126
- }), /*#__PURE__*/_jsx("button", {
127
+ }), /*#__PURE__*/_jsx(ButtonBase, {
127
128
  className: "colorSaveBtn",
128
129
  style: {
129
130
  background: validHex ? "#2563EB" : "#64748B",
@@ -3,7 +3,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
3
3
  export const logo = {
4
4
  color: color => /*#__PURE__*/_jsx("svg", {
5
5
  xmlns: "http://www.w3.org/2000/svg",
6
- fill: "#000000",
6
+ fill: "#64748B",
7
7
  height: "20px",
8
8
  width: "20px",
9
9
  version: "1.1",
@@ -12,7 +12,7 @@ export const logo = {
12
12
  children: /*#__PURE__*/_jsxs("g", {
13
13
  children: [/*#__PURE__*/_jsx("path", {
14
14
  d: "M29,27H3c-0.6,0-1,0.4-1,1s0.4,1,1,1h26c0.6,0,1-0.4,1-1S29.6,27,29,27z",
15
- fill: color || "#000"
15
+ fill: color || "#64748B"
16
16
  }), /*#__PURE__*/_jsx("path", {
17
17
  d: "M5,24h4c0.6,0,1-0.4,1-1s-0.4-1-1-1H8.6l1.9-4h11.1l1.9,4H23c-0.6,0-1,0.4-1,1s0.4,1,1,1h4c0.6,0,1-0.4,1-1s-0.4-1-1-1 h-1.4L16.9,3.6C16.7,3.2,16.4,3,16,3s-0.7,0.2-0.9,0.6L6.4,22H5c-0.6,0-1,0.4-1,1S4.4,24,5,24z M16,6.3l4.6,9.7h-9.2L16,6.3z"
18
18
  })]
@@ -33,20 +33,20 @@ export const logo = {
33
33
  fillRule: "evenodd",
34
34
  clipRule: "evenodd",
35
35
  d: "M37 37C39.2091 37 41 35.2091 41 33C41 31.5272 39.6667 29.5272 37 27C34.3333 29.5272 33 31.5272 33 33C33 35.2091 34.7909 37 37 37Z",
36
- fill: "#000000"
36
+ fill: "#64748B"
37
37
  }), /*#__PURE__*/_jsx("path", {
38
38
  d: "M20.8535 5.50439L24.389 9.03993",
39
- stroke: "#000000",
39
+ stroke: "#64748B",
40
40
  strokeWidth: "4",
41
41
  strokeLinecap: "round"
42
42
  }), /*#__PURE__*/_jsx("path", {
43
43
  d: "M23.6818 8.33281L8.12549 23.8892L19.4392 35.2029L34.9955 19.6465L23.6818 8.33281Z",
44
- stroke: "#000000",
44
+ stroke: "#64748B",
45
45
  strokeWidth: "4",
46
46
  strokeLinejoin: "round"
47
47
  }), /*#__PURE__*/_jsx("path", {
48
48
  d: "M12 20.0732L28.961 25.6496",
49
- stroke: "#000000",
49
+ stroke: "#64748B",
50
50
  strokeWidth: "4",
51
51
  strokeLinecap: "round"
52
52
  }), /*#__PURE__*/_jsx("path", {
@@ -9,6 +9,8 @@ import usePopup from "../../utils/customHooks/usePopup";
9
9
  import { insertEmbed } from "../../utils/embed";
10
10
  import Uploader from "../../common/Uploader";
11
11
  import "./Embed.css";
12
+ // import commonStyle from "../../commonStyle";
13
+ // import styled from "@emotion/styled";
12
14
  import { jsx as _jsx } from "react/jsx-runtime";
13
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -19,7 +21,8 @@ const EMBED_LABEL = {
19
21
  const Embed = ({
20
22
  editor,
21
23
  format,
22
- customProps
24
+ customProps,
25
+ className
23
26
  }) => {
24
27
  const urlInputRef = useRef();
25
28
  const [open, setOpen] = useState(false);
@@ -68,6 +71,7 @@ const Embed = ({
68
71
  [e.target.name]: e.target.value
69
72
  });
70
73
  };
74
+ const imageURL = formData?.url === "none" || !formData?.url ? "" : formData?.url;
71
75
  return /*#__PURE__*/_jsxs(_Fragment, {
72
76
  children: [/*#__PURE__*/_jsx(IconButton, {
73
77
  className: isBlockActive(editor, format) ? "active" : "",
@@ -83,6 +87,7 @@ const Embed = ({
83
87
  }), /*#__PURE__*/_jsx(Dialog, {
84
88
  open: open,
85
89
  fullWidth: true,
90
+ className: `dialogComp`,
86
91
  children: /*#__PURE__*/_jsxs(Grid, {
87
92
  item: true,
88
93
  xs: 12,
@@ -100,6 +105,7 @@ const Embed = ({
100
105
  children: [/*#__PURE__*/_jsx(Typography, {
101
106
  variant: "h6",
102
107
  className: "popupTitle",
108
+ color: "primary",
103
109
  children: EMBED_LABEL[format] || "Embed"
104
110
  }), /*#__PURE__*/_jsx(Grid, {
105
111
  style: {
@@ -127,7 +133,7 @@ const Embed = ({
127
133
  size: "small",
128
134
  fullWidth: true,
129
135
  onChange: handleChange,
130
- value: formData?.url || ""
136
+ value: imageURL || ""
131
137
  })
132
138
  }), /*#__PURE__*/_jsx(Uploader, {
133
139
  value: formData,
@@ -157,4 +163,5 @@ const Embed = ({
157
163
  })]
158
164
  });
159
165
  };
160
- export default Embed;
166
+ export default Embed;
167
+ // export default styled(commonStyle)(Embed);
@@ -44,7 +44,7 @@ const EquationButton = ({
44
44
  icon: "equation"
45
45
  })
46
46
  }), showInput && /*#__PURE__*/_jsxs("div", {
47
- className: "popup",
47
+ className: "af-popup",
48
48
  children: [/*#__PURE__*/_jsxs("div", {
49
49
  style: {
50
50
  display: "flex",
@@ -40,7 +40,7 @@ const Id = ({
40
40
  icon: "addId"
41
41
  })
42
42
  }), showInput && /*#__PURE__*/_jsxs("div", {
43
- className: "popup",
43
+ className: "af-popup",
44
44
  style: {
45
45
  display: "flex",
46
46
  gap: "4px"
@@ -1,14 +1,41 @@
1
1
  import React from "react";
2
+ import { IconButton } from "@mui/material";
3
+ import DeleteIcon from "@mui/icons-material/Delete";
4
+ import { Transforms } from "slate";
5
+ import { ReactEditor, useSlateStatic } from "slate-react";
2
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
3
8
  const ImageText = props => {
4
9
  const {
5
10
  attributes,
11
+ element,
6
12
  children
7
13
  } = props;
8
- return /*#__PURE__*/_jsx("div", {
14
+ const editor = useSlateStatic();
15
+ const onDelete = () => {
16
+ const path = ReactEditor.findPath(editor, element);
17
+ Transforms.removeNodes(editor, {
18
+ at: [...path]
19
+ });
20
+ };
21
+ return /*#__PURE__*/_jsxs("div", {
9
22
  className: "image-text",
10
23
  ...attributes,
11
- children: children
24
+ style: {
25
+ position: "relative"
26
+ },
27
+ children: [children, /*#__PURE__*/_jsx("div", {
28
+ children: /*#__PURE__*/_jsx(IconButton, {
29
+ onClick: onDelete,
30
+ style: {
31
+ background: "#FFF",
32
+ position: "absolute",
33
+ right: "0px",
34
+ top: "0px"
35
+ },
36
+ children: /*#__PURE__*/_jsx(DeleteIcon, {})
37
+ })
38
+ })]
12
39
  });
13
40
  };
14
41
  export default ImageText;
@@ -22,7 +22,7 @@ const Link = ({
22
22
  target: element.target,
23
23
  children: children
24
24
  }), selected && focused && /*#__PURE__*/_jsxs("div", {
25
- className: "link-popup",
25
+ className: "af-link-popup",
26
26
  contentEditable: false,
27
27
  children: [/*#__PURE__*/_jsx("a", {
28
28
  href: element.href,
@@ -1,11 +1,14 @@
1
1
  import { useRef, useState } from "react";
2
2
  import { Transforms } from "slate";
3
- import { Dialog, DialogActions, DialogContent, DialogTitle, FormControl, FormControlLabel, Grid, TextField, Button, IconButton, Typography } from "@mui/material";
3
+ import { Dialog, DialogActions, DialogContent, DialogTitle, FormControl, FormControlLabel, Grid, TextField, Button, IconButton, Typography, Checkbox
4
+ // styled,
5
+ } from "@mui/material";
6
+ // import { styled } from "@mui/material/styles";
4
7
  import CloseIcon from "@mui/icons-material/Close";
5
- import { CheckBox } from "@mui/icons-material";
6
8
  import { insertLink } from "../../utils/link";
7
9
  import Icon from "../../common/Icon";
8
10
  import { isBlockActive } from "../../utils/SlateUtilityFunctions";
11
+ // import styled from "@emotion/styled";
9
12
  import { jsx as _jsx } from "react/jsx-runtime";
10
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
14
  const LinkButton = props => {
@@ -56,6 +59,7 @@ const LinkButton = props => {
56
59
  })
57
60
  }), showInput && /*#__PURE__*/_jsx(Dialog, {
58
61
  open: true,
62
+ className: `dialogComp`,
59
63
  children: /*#__PURE__*/_jsxs(Grid, {
60
64
  item: true,
61
65
  xs: 12,
@@ -75,6 +79,7 @@ const LinkButton = props => {
75
79
  children: [/*#__PURE__*/_jsx(Typography, {
76
80
  variant: "h6",
77
81
  className: "popupTitle",
82
+ color: "primary",
78
83
  children: "LINK"
79
84
  }), /*#__PURE__*/_jsx("div", {
80
85
  style: {
@@ -112,12 +117,13 @@ const LinkButton = props => {
112
117
  },
113
118
  children: /*#__PURE__*/_jsx(FormControl, {
114
119
  children: /*#__PURE__*/_jsx(FormControlLabel, {
115
- control: /*#__PURE__*/_jsx(CheckBox, {
120
+ control: /*#__PURE__*/_jsx(Checkbox, {
116
121
  checked: showInNewTab,
117
122
  onChange: handleInputChange
118
123
  }),
119
124
  label: /*#__PURE__*/_jsx(Typography, {
120
125
  variant: "body1",
126
+ color: "primary",
121
127
  sx: {
122
128
  pl: 1
123
129
  },
@@ -146,4 +152,5 @@ const LinkButton = props => {
146
152
  })]
147
153
  });
148
154
  };
149
- export default LinkButton;
155
+ export default LinkButton;
156
+ // export default styled(commonStyle)(LinkButton);
@@ -2,7 +2,7 @@
2
2
  display: inline;
3
3
  position: relative;
4
4
  }
5
- .link-popup{
5
+ .af-link-popup{
6
6
  position: absolute;
7
7
  left: 0;
8
8
  display: flex;
@@ -2,9 +2,9 @@ import React from "react";
2
2
  import { IconButton } from "@mui/material";
3
3
  import KeyboardReturnIcon from "@mui/icons-material/KeyboardReturn";
4
4
  import { Transforms } from "slate";
5
- import { useSlateStatic } from "slate-react";
5
+ import { ReactEditor, useSlateStatic } from "slate-react";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- const NewLineButton = props => {
7
+ const NewLineButton = () => {
8
8
  const editor = useSlateStatic();
9
9
  const onAddNewLine = () => {
10
10
  Transforms.insertNodes(editor, [{
@@ -13,17 +13,19 @@ const NewLineButton = props => {
13
13
  text: ""
14
14
  }]
15
15
  }], {
16
- at: [editor.children.length]
16
+ at: [editor.children.length],
17
+ select: true
17
18
  });
19
+ ReactEditor.focus(editor);
18
20
  };
19
21
  return /*#__PURE__*/_jsx(IconButton, {
20
22
  title: "New Line",
21
23
  onClick: onAddNewLine,
22
24
  children: /*#__PURE__*/_jsx(KeyboardReturnIcon, {
23
25
  sx: {
24
- fill: '#64748B',
25
- width: '18px',
26
- height: '18px'
26
+ fill: "#64748B",
27
+ width: "18px",
28
+ height: "18px"
27
29
  }
28
30
  })
29
31
  });
@@ -1,4 +1,4 @@
1
- .signature-popup .MuiTab-root {
1
+ .af-signature-popup .MuiTab-root {
2
2
  background: #ffffff;
3
3
  border: 1px solid #d3d3d3 !important;
4
4
  border-radius: 7px;
@@ -13,18 +13,18 @@
13
13
  color: #0f172a !important;
14
14
  opacity: 0.7;
15
15
  }
16
- .signature-popup .MuiTab-root.Mui-selected {
16
+ .af-signature-popup .MuiTab-root.Mui-selected {
17
17
  background: #ffffff;
18
18
  border: 1px solid #2563eb !important;
19
19
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.08);
20
20
  border-radius: 7px;
21
21
  color: #0f172a !important;
22
22
  }
23
- .signature-popup .MuiTabs-indicator {
23
+ .af-signature-popup .MuiTabs-indicator {
24
24
  display: none;
25
25
  }
26
26
 
27
- .signature-popup input.signColorPicker {
27
+ .af-signature-popup input.signColorPicker {
28
28
  margin-bottom: 0px !important;
29
29
  }
30
30
  input[type="color"].signColorPicker {
@@ -4,8 +4,10 @@ import CloseIcon from "@mui/icons-material/Close";
4
4
  import DatePicker from "react-datepicker";
5
5
  import "react-datepicker/dist/react-datepicker.css";
6
6
  import SignatureOptions from "./SignatureOptions";
7
- import './Signature.css';
7
+ import "./Signature.css";
8
8
  import { DrawSignature, PencilIcon, TypeSignature, UploadSignature } from "../../common/EditorIcons";
9
+ import CommonStyle from "../../commonStyle";
10
+ import { styled } from "@mui/material/styles";
9
11
  import { jsx as _jsx } from "react/jsx-runtime";
10
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
13
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -14,7 +16,8 @@ const SignaturePopup = props => {
14
16
  const {
15
17
  onSave,
16
18
  onClear,
17
- customProps
19
+ customProps,
20
+ className
18
21
  } = props;
19
22
  const [open, setOpen] = useState(false);
20
23
  const [tab, setTab] = useState(0);
@@ -79,6 +82,7 @@ const SignaturePopup = props => {
79
82
  children: "Sign Here"
80
83
  })
81
84
  }), /*#__PURE__*/_jsx(Dialog, {
85
+ className: `${className} dialogComp`,
82
86
  open: open,
83
87
  onClose: handleClose,
84
88
  fullWidth: true,
@@ -103,6 +107,7 @@ const SignaturePopup = props => {
103
107
  children: [/*#__PURE__*/_jsx(Typography, {
104
108
  variant: "h6",
105
109
  className: "popupTitle",
110
+ color: "primary",
106
111
  children: "SIGNATURE"
107
112
  }), /*#__PURE__*/_jsx("div", {
108
113
  style: {
@@ -119,7 +124,7 @@ const SignaturePopup = props => {
119
124
  sx: {
120
125
  p: 0
121
126
  },
122
- className: "signature-popup",
127
+ className: "af-signature-popup",
123
128
  children: [/*#__PURE__*/_jsx("div", {
124
129
  className: "signature-btn-grps",
125
130
  children: /*#__PURE__*/_jsxs(Tabs, {
@@ -293,4 +298,6 @@ const SignaturePopup = props => {
293
298
  })]
294
299
  });
295
300
  };
296
- export default SignaturePopup;
301
+
302
+ // export default SignaturePopup;
303
+ export default styled(SignaturePopup)(CommonStyle);
@@ -117,6 +117,7 @@ const Table = props => {
117
117
  const ToolBar = () => {
118
118
  return selected ? /*#__PURE__*/_jsx("div", {
119
119
  contentEditable: false,
120
+ className: "tableToolBar",
120
121
  style: {
121
122
  position: "absolute",
122
123
  top: "-40px",
@@ -5,6 +5,8 @@ import { Transforms } from "slate";
5
5
  import { TableUtil } from "../../utils/table.js";
6
6
  import "./TableSelector.css";
7
7
  import CloseIcon from "@mui/icons-material/Close";
8
+ // import commonStyle from "../../commonStyle";
9
+ // import styled from "@emotion/styled";
8
10
  import { jsx as _jsx } from "react/jsx-runtime";
9
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
12
  const TableSelector = ({
@@ -50,7 +52,7 @@ const TableSelector = ({
50
52
  })
51
53
  }), showOptions ? /*#__PURE__*/_jsx(Dialog, {
52
54
  open: showOptions,
53
- className: "tablePopup",
55
+ className: `dialogComp tablePopup`,
54
56
  children: /*#__PURE__*/_jsxs(Grid, {
55
57
  item: true,
56
58
  xs: 12,
@@ -68,6 +70,7 @@ const TableSelector = ({
68
70
  children: [/*#__PURE__*/_jsx(Typography, {
69
71
  variant: "h6",
70
72
  className: "popupTitle",
73
+ color: "primary",
71
74
  children: "Table"
72
75
  }), /*#__PURE__*/_jsx(Grid, {
73
76
  style: {
@@ -103,7 +106,7 @@ const TableSelector = ({
103
106
  variant: "body1",
104
107
  color: "textSecondary",
105
108
  sx: {
106
- fontSize: '14px'
109
+ fontSize: "14px"
107
110
  },
108
111
  children: "No.of Rows"
109
112
  })
@@ -129,7 +132,7 @@ const TableSelector = ({
129
132
  variant: "body1",
130
133
  color: "textSecondary",
131
134
  sx: {
132
- fontSize: '14px'
135
+ fontSize: "14px"
133
136
  },
134
137
  children: "No.of Columns"
135
138
  })
@@ -163,4 +166,5 @@ const TableSelector = ({
163
166
  }) : null]
164
167
  });
165
168
  };
166
- export default TableSelector;
169
+ export default TableSelector;
170
+ // export default styled(commonStyle)(TableSelector);
@@ -1,6 +1,7 @@
1
1
  const usePopupStyle = () => ({
2
2
  popupWrapper: {
3
- boxShadow: "0px 4px 10px 0px rgba(0, 0, 0, 0.16)"
3
+ boxShadow: "0px 4px 10px 0px rgba(0, 0, 0, 0.16)",
4
+ zIndex: 999
4
5
  },
5
6
  textFormatWrapper: {
6
7
  padding: "0px 24px 24px 24px",
@@ -5,10 +5,14 @@ const buttonStyle = [{
5
5
  label: "Button Text",
6
6
  key: "label",
7
7
  type: "text"
8
- }, {
9
- label: "Button URL",
10
- type: "text",
11
- key: "url"
8
+ }]
9
+ }, {
10
+ tab: "Link",
11
+ value: "link",
12
+ fields: [{
13
+ label: "Button Link",
14
+ key: "buttonLink",
15
+ type: "buttonLink"
12
16
  }]
13
17
  }, {
14
18
  tab: "Banner Spacing",
@@ -1,12 +1,4 @@
1
1
  const embedImageStyle = [{
2
- tab: "Image Texts",
3
- value: "imageTexts",
4
- fields: [{
5
- label: "Image Texts",
6
- key: "imageTexts",
7
- type: "imageTexts"
8
- }]
9
- }, {
10
2
  tab: "Banner Spacing",
11
3
  value: "bannerSpacing",
12
4
  fields: [{
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Grid, Radio, RadioGroup, FormControl, FormLabel, FormControlLabel } from "@mui/material";
2
+ import { Grid, Radio, RadioGroup, FormControl, FormLabel, FormControlLabel, Typography } from "@mui/material";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { jsxs as _jsxs } from "react/jsx-runtime";
5
5
  const Alignment = props => {
@@ -21,7 +21,6 @@ const Alignment = props => {
21
21
  };
22
22
  return /*#__PURE__*/_jsxs(Grid, {
23
23
  container: true,
24
- padding: 3,
25
24
  style: {
26
25
  paddingTop: "12px"
27
26
  },
@@ -32,7 +31,11 @@ const Alignment = props => {
32
31
  children: /*#__PURE__*/_jsxs(FormControl, {
33
32
  children: [/*#__PURE__*/_jsx(FormLabel, {
34
33
  id: "demo-row-radio-buttons-group-label",
35
- children: "Horizantal Position"
34
+ children: /*#__PURE__*/_jsx(Typography, {
35
+ variant: "body1",
36
+ color: "primary",
37
+ children: "Horizantal Position"
38
+ })
36
39
  }), /*#__PURE__*/_jsxs(RadioGroup, {
37
40
  row: true,
38
41
  "aria-labelledby": "demo-row-radio-buttons-group-label",
@@ -60,7 +63,11 @@ const Alignment = props => {
60
63
  children: /*#__PURE__*/_jsxs(FormControl, {
61
64
  children: [/*#__PURE__*/_jsx(FormLabel, {
62
65
  id: "demo-row-radio-buttons-group-label",
63
- children: "Vertical Position"
66
+ children: /*#__PURE__*/_jsx(Typography, {
67
+ variant: "body1",
68
+ color: "primary",
69
+ children: "Vertical Position"
70
+ })
64
71
  }), /*#__PURE__*/_jsxs(RadioGroup, {
65
72
  row: true,
66
73
  "aria-labelledby": "demo-row-radio-buttons-group-label",
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react";
2
- import { Grid, Button } from "@mui/material";
2
+ import { Grid, Button, Typography } from "@mui/material";
3
3
  import CloudUploadIcon from "@mui/icons-material/CloudUpload";
4
4
  import { convertBase64 } from "../../../utils/helper";
5
5
  import { uploadFile } from "../../../service/fileupload";
@@ -43,14 +43,13 @@ const BackgroundImage = props => {
43
43
  };
44
44
  return /*#__PURE__*/_jsxs(Grid, {
45
45
  container: true,
46
- padding: 3,
47
46
  children: [/*#__PURE__*/_jsxs(Grid, {
48
47
  item: true,
49
48
  xs: 12,
50
49
  style: {
51
50
  display: "flex"
52
51
  },
53
- justifyContent: "center",
52
+ justifyContent: "space-between",
54
53
  alignItems: "center",
55
54
  children: [/*#__PURE__*/_jsxs(Button, {
56
55
  component: "label",
@@ -59,16 +58,24 @@ const BackgroundImage = props => {
59
58
  children: ["Upload file", /*#__PURE__*/_jsx("input", {
60
59
  type: "file",
61
60
  style: {
62
- opacity: 0
61
+ opacity: 0,
62
+ width: "0px"
63
63
  },
64
64
  onChange: handleChange
65
65
  })]
66
- }), /*#__PURE__*/_jsx("input", {
67
- type: "checkbox",
68
- value: "none",
69
- checked: value === "none",
70
- onChange: onRemoveBG
71
- }), " ", "None"]
66
+ }), /*#__PURE__*/_jsxs(Grid, {
67
+ className: "dflex",
68
+ children: [/*#__PURE__*/_jsx("input", {
69
+ type: "checkbox",
70
+ value: "none",
71
+ checked: value === "none",
72
+ onChange: onRemoveBG
73
+ }), " ", /*#__PURE__*/_jsx(Typography, {
74
+ variant: "body1",
75
+ color: "primary",
76
+ children: "Remove"
77
+ })]
78
+ })]
72
79
  }), uploading ? "Uploading..." : "", /*#__PURE__*/_jsx(Grid, {
73
80
  item: true,
74
81
  xs: 12,
@@ -0,0 +1,113 @@
1
+ import React from "react";
2
+ import { FormControl, FormLabel, RadioGroup, FormControlLabel, Grid, Radio, TextField, Select, MenuItem } from "@mui/material";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { jsxs as _jsxs } from "react/jsx-runtime";
5
+ const ButtonLink = props => {
6
+ const {
7
+ value,
8
+ data,
9
+ elementProps,
10
+ customProps,
11
+ onChange
12
+ } = props;
13
+ const {
14
+ key
15
+ } = data;
16
+ const {
17
+ metadata
18
+ } = customProps || {
19
+ metadata: {}
20
+ };
21
+ const {
22
+ buttonLink
23
+ } = metadata || {
24
+ actionTrigger: {}
25
+ };
26
+ const {
27
+ actionTrigger
28
+ } = buttonLink || {};
29
+ const {
30
+ options,
31
+ onClick
32
+ } = actionTrigger || {
33
+ options: []
34
+ };
35
+ const optSelected = options.filter(f => f.selected) || [];
36
+ const handleChange = e => {
37
+ onChange({
38
+ [key]: {
39
+ ...value,
40
+ [e.target.name]: e.target.value,
41
+ onClick: onClick || {}
42
+ }
43
+ });
44
+ };
45
+ const onURLChange = e => {
46
+ onChange({
47
+ url: e.target.value
48
+ });
49
+ };
50
+ const renderLinkTypeFields = () => {
51
+ if (value?.linkType === "webAddress") {
52
+ return /*#__PURE__*/_jsx(Grid, {
53
+ item: true,
54
+ xs: 12,
55
+ children: /*#__PURE__*/_jsx(TextField, {
56
+ fullWidth: true,
57
+ size: "small",
58
+ placeholder: "https://",
59
+ onChange: onURLChange,
60
+ value: elementProps?.url
61
+ })
62
+ });
63
+ } else if (value?.linkType === "actionTrigger") {
64
+ return /*#__PURE__*/_jsx(Grid, {
65
+ item: true,
66
+ xs: 12,
67
+ children: /*#__PURE__*/_jsx(Select, {
68
+ name: "actionStep",
69
+ size: "small",
70
+ fullWidth: true,
71
+ value: optSelected[0]?.value || "",
72
+ children: optSelected.map(m => {
73
+ return /*#__PURE__*/_jsx(MenuItem, {
74
+ value: m.value,
75
+ children: m.label
76
+ }, `bl_tr_opt_${m.value}`);
77
+ })
78
+ })
79
+ });
80
+ }
81
+ };
82
+ return /*#__PURE__*/_jsxs(Grid, {
83
+ container: true,
84
+ padding: 4,
85
+ spacing: 1,
86
+ children: [/*#__PURE__*/_jsx(Grid, {
87
+ item: true,
88
+ xs: 12,
89
+ children: /*#__PURE__*/_jsxs(FormControl, {
90
+ children: [/*#__PURE__*/_jsx(FormLabel, {
91
+ id: "demo-radio-buttons-group-label",
92
+ children: "Where do you want to Link?"
93
+ }), /*#__PURE__*/_jsxs(RadioGroup, {
94
+ row: true,
95
+ "aria-labelledby": "demo-radio-buttons-group-label",
96
+ value: value?.linkType || "",
97
+ name: "linkType",
98
+ onChange: handleChange,
99
+ children: [/*#__PURE__*/_jsx(FormControlLabel, {
100
+ value: "actionTrigger",
101
+ control: /*#__PURE__*/_jsx(Radio, {}),
102
+ label: "Action Trigger"
103
+ }), /*#__PURE__*/_jsx(FormControlLabel, {
104
+ value: "webAddress",
105
+ control: /*#__PURE__*/_jsx(Radio, {}),
106
+ label: "Web Address"
107
+ })]
108
+ })]
109
+ })
110
+ }), renderLinkTypeFields()]
111
+ });
112
+ };
113
+ export default ButtonLink;
@@ -18,7 +18,6 @@ const GridSize = props => {
18
18
  };
19
19
  return /*#__PURE__*/_jsx(Grid, {
20
20
  container: true,
21
- padding: 3,
22
21
  children: /*#__PURE__*/_jsxs(Grid, {
23
22
  item: true,
24
23
  xs: 12,
@@ -8,6 +8,7 @@ import GridSize from "./gridSize";
8
8
  import ElementSize from "./elementSize";
9
9
  import ImageTexts from "./imageTexts";
10
10
  import MenusArray from "./menusArray";
11
+ import ButtonLink from "./buttonLink";
11
12
  const FieldMap = {
12
13
  text: Text,
13
14
  bannerSpacing: BannerSpacing,
@@ -18,6 +19,7 @@ const FieldMap = {
18
19
  gridSize: GridSize,
19
20
  elementSize: ElementSize,
20
21
  imageTexts: ImageTexts,
21
- menusArray: MenusArray
22
+ menusArray: MenusArray,
23
+ buttonLink: ButtonLink
22
24
  };
23
25
  export default FieldMap;
@@ -2,6 +2,8 @@ import React, { useState } from "react";
2
2
  import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Tabs, Tab, Grid, IconButton, Typography } from "@mui/material";
3
3
  import FieldMap from "./fieldTypes";
4
4
  import CloseIcon from "@mui/icons-material/Close";
5
+ import commonStyle from "../../commonStyle";
6
+ import { styled } from "@mui/material/styles";
5
7
  import { jsx as _jsx } from "react/jsx-runtime";
6
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
7
9
  const StyleContent = props => {
@@ -70,6 +72,7 @@ const StyleBuilder = props => {
70
72
  onClose,
71
73
  onDelete,
72
74
  customProps
75
+ // className,
73
76
  } = props;
74
77
  const [elementProps, setElementProps] = useState(element);
75
78
  const [tab, setTab] = useState(renderTabs[0]?.value);
@@ -88,6 +91,7 @@ const StyleBuilder = props => {
88
91
  return /*#__PURE__*/_jsx(Dialog, {
89
92
  open: true,
90
93
  fullWidth: true,
94
+ className: ` dialogComp`,
91
95
  children: /*#__PURE__*/_jsxs(Grid, {
92
96
  item: true,
93
97
  xs: 12,
@@ -105,6 +109,7 @@ const StyleBuilder = props => {
105
109
  children: [/*#__PURE__*/_jsx(Typography, {
106
110
  variant: "h6",
107
111
  className: "popupTitle",
112
+ color: "primary",
108
113
  children: title
109
114
  }), /*#__PURE__*/_jsx(Grid, {
110
115
  style: {
@@ -155,4 +160,6 @@ const StyleBuilder = props => {
155
160
  })
156
161
  });
157
162
  };
158
- export default StyleBuilder;
163
+
164
+ // export default StyleBuilder;
165
+ export default styled(StyleBuilder)(commonStyle);
@@ -55,9 +55,9 @@ const Uploader = props => {
55
55
  children: [/*#__PURE__*/_jsxs(Button, {
56
56
  component: "label",
57
57
  sx: {
58
- display: 'inline-flex',
59
- width: '154px',
60
- whiteSpace: 'nowrap'
58
+ display: "inline-flex",
59
+ width: "154px",
60
+ whiteSpace: "nowrap"
61
61
  },
62
62
  variant: "contained",
63
63
  startIcon: /*#__PURE__*/_jsx(CloudUploadIcon, {}),
@@ -73,7 +73,7 @@ const Uploader = props => {
73
73
  color: "secondary",
74
74
  onClick: onRemoveBG,
75
75
  children: "Clear"
76
- }) : '']
76
+ }) : ""]
77
77
  })
78
78
  }), uploading ? "Uploading..." : "", /*#__PURE__*/_jsx(Grid, {
79
79
  item: true,
@@ -0,0 +1,11 @@
1
+ const commonStyle = theme => ({
2
+ "&.dialogComp": {
3
+ "& .close-popupbtn": {
4
+ // background: theme.palette.containers.bg7,
5
+ }
6
+ },
7
+ ".close-popupbtn": {
8
+ // background: theme.palette.containers.bg7,
9
+ }
10
+ });
11
+ export default commonStyle;
@@ -16,6 +16,7 @@ const withEmbeds = editor => {
16
16
  editor.insertBreak = (...args) => {
17
17
  const parentPath = Path.parent(editor.selection.focus.path);
18
18
  const parentNode = Node.get(editor, parentPath);
19
+ console.log(parentNode, parentPath, args);
19
20
  if (editor.isVoid(parentNode)) {
20
21
  const nextPath = Path.next(parentPath);
21
22
  Transforms.insertNodes(editor, {
@@ -0,0 +1,16 @@
1
+ export const actionButtonRedirect = async (formData, props) => {
2
+ try {
3
+ const response = await fetch(`${props.url}`, {
4
+ method: "POST",
5
+ headers: {
6
+ "Content-Type": "application/json"
7
+ },
8
+ body: JSON.stringify(formData)
9
+ });
10
+ const result = await response.json();
11
+ return result.data;
12
+ } catch (err) {
13
+ console.log(err);
14
+ return err;
15
+ }
16
+ };
@@ -4,7 +4,10 @@ export const insertButton = editor => {
4
4
  type: "button",
5
5
  children: [{
6
6
  text: ""
7
- }]
7
+ }],
8
+ buttonLink: {
9
+ linkType: "webAddress"
10
+ }
8
11
  };
9
12
  Transforms.insertNodes(editor, button);
10
13
  Transforms.move(editor);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "1.2.8",
3
+ "version": "1.3.0",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"