@flozy/editor 1.7.5 → 1.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/dist/Editor/CommonEditor.js +30 -12
  2. package/dist/Editor/DialogWrapper.js +2 -10
  3. package/dist/Editor/Editor.css +105 -0
  4. package/dist/Editor/Elements/Color Picker/ColorButtons.js +20 -5
  5. package/dist/Editor/Elements/Color Picker/ColorPicker.js +9 -6
  6. package/dist/Editor/Elements/Color Picker/LogoIcon.js +15 -49
  7. package/dist/Editor/Elements/Color Picker/Styles.js +27 -6
  8. package/dist/Editor/Elements/Color Picker/defaultColors.js +1 -1
  9. package/dist/Editor/Elements/Embed/Image.js +25 -31
  10. package/dist/Editor/Elements/Embed/Video.js +49 -40
  11. package/dist/Editor/Elements/Form/Workflow/Styles.js +3 -2
  12. package/dist/Editor/Elements/Grid/Grid.js +67 -114
  13. package/dist/Editor/Elements/Grid/GridItem.js +9 -23
  14. package/dist/Editor/Elements/Grid/templates/default_grid.js +0 -23
  15. package/dist/Editor/Elements/Link/Link.js +58 -20
  16. package/dist/Editor/Elements/Link/LinkButton.js +37 -97
  17. package/dist/Editor/Elements/Link/LinkPopup.js +106 -0
  18. package/dist/Editor/Elements/List/CheckList.js +28 -22
  19. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +11 -5
  20. package/dist/Editor/Elements/Signature/SignaturePopup.js +15 -4
  21. package/dist/Editor/Elements/SimpleText.js +30 -26
  22. package/dist/Editor/MiniEditor.js +4 -6
  23. package/dist/Editor/Styles/EditorStyles.js +72 -1
  24. package/dist/Editor/Toolbar/FormatTools/TextSize.js +2 -1
  25. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +5 -1
  26. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +3 -1
  27. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +4 -1
  28. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +96 -19
  29. package/dist/Editor/Toolbar/toolbarGroups.js +1 -1
  30. package/dist/Editor/common/Icon.js +7 -4
  31. package/dist/Editor/common/Section/index.js +118 -0
  32. package/dist/Editor/common/Shorthands/elements.js +1 -1
  33. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +5 -1
  34. package/dist/Editor/common/StyleBuilder/buttonStyle.js +44 -51
  35. package/dist/Editor/common/StyleBuilder/embedImageStyle.js +2 -24
  36. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +0 -3
  37. package/dist/Editor/common/StyleBuilder/fieldStyle.js +0 -3
  38. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +52 -62
  39. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +2 -1
  40. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +100 -74
  41. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +41 -10
  42. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +3 -3
  43. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +27 -77
  44. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +7 -5
  45. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +19 -15
  46. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +2 -2
  47. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +2 -2
  48. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +67 -8
  49. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +2 -3
  50. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +21 -32
  51. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +37 -41
  52. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +26 -24
  53. package/dist/Editor/common/StyleBuilder/formStyle.js +0 -6
  54. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +38 -54
  55. package/dist/Editor/common/StyleBuilder/gridStyle.js +20 -26
  56. package/dist/Editor/common/StyleBuilder/index.js +14 -58
  57. package/dist/Editor/common/StyleBuilder/sectionStyle.js +16 -0
  58. package/dist/Editor/helper/index.js +63 -1
  59. package/dist/Editor/utils/Decorators/index.js +5 -0
  60. package/dist/Editor/utils/Decorators/link.js +26 -0
  61. package/dist/Editor/utils/SlateUtilityFunctions.js +36 -8
  62. package/dist/Editor/utils/accordion.js +17 -4
  63. package/dist/Editor/utils/button.js +15 -1
  64. package/dist/Editor/utils/customHooks/useElement.js +28 -0
  65. package/dist/Editor/utils/embed.js +1 -7
  66. package/dist/Editor/utils/events.js +92 -43
  67. package/dist/Editor/utils/gridItem.js +1 -1
  68. package/dist/Editor/utils/link.js +10 -9
  69. package/package.json +1 -1
@@ -9,24 +9,27 @@ import { draftToSlate } from "./utils/draftToSlate";
9
9
  import useMentions from "./hooks/useMentions";
10
10
  import MentionsPopup from "./common/MentionsPopup";
11
11
  import { RemoteCursorOverlay } from "./RemoteCursorOverlay/Overlay";
12
- import { mentionsEvent, commands, indentation, escapeEvent } from "./utils/events";
12
+ import { mentionsEvent, commands, indentation, escapeEvent, enterEvent } from "./utils/events";
13
13
  import withCommon from "./hooks/withCommon";
14
14
  import DialogWrapper from "./DialogWrapper";
15
15
  import { serializeToText } from "./utils/serializeToText";
16
16
  import { getPageSettings } from "./utils/pageSettings";
17
- import { getThumbnailImage } from "./helper";
17
+ import { getThumbnailImage, invertColor } from "./helper";
18
18
  import PopupTool from "./Toolbar/PopupTool";
19
19
  import "./font.css";
20
20
  import "./Editor.css";
21
- import { Box } from "@mui/material";
21
+ import { Box, Typography } from "@mui/material";
22
22
  import Shorthands from "./common/Shorthands";
23
23
  import MiniToolbar from "./Toolbar/Mini/MiniToolbar";
24
24
  import { EditorProvider } from "./hooks/useMouseMove";
25
25
  import TopBanner from "./Elements/TopBanner/TopBanner";
26
26
  import editorStyles from "./Styles/EditorStyles";
27
- import DragHandle from "./common/DnD/DragHandle";
28
27
  import DragAndDrop from "./common/DnD";
28
+ import Section from "./common/Section";
29
29
  import "animate.css";
30
+ import decorators from "./utils/Decorators";
31
+ import useFormat from "./utils/customHooks/useFormat";
32
+ import useElement from "./utils/customHooks/useElement";
30
33
  import { jsx as _jsx } from "react/jsx-runtime";
31
34
  import { jsxs as _jsxs } from "react/jsx-runtime";
32
35
  const PREVIEW_IMAGE_HIDE_CLASS = ["grid-container-toolbar", "grid-item-toolbar", "element-toolbar"];
@@ -46,7 +49,10 @@ const Item = /*#__PURE__*/forwardRef(({
46
49
  });
47
50
  Item.displayName = "Item";
48
51
  const Element = props => {
49
- return getBlock(props);
52
+ return /*#__PURE__*/_jsx(Section, {
53
+ ...props,
54
+ children: getBlock(props)
55
+ });
50
56
  };
51
57
  const Leaf = ({
52
58
  attributes,
@@ -95,9 +101,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
95
101
  fullWidth = "80%"
96
102
  } = otherProps || {};
97
103
  const [drag, setDrag] = useState(null);
98
- const classes = editorStyles({
99
- padHeight: !fullScreen ? otherProps?.padHeight : 120
100
- });
101
104
  const editor = useMemo(() => {
102
105
  if (collaborativeEditor) return collaborativeEditor;
103
106
  return withCommon(createEditor(), {
@@ -120,6 +123,12 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
120
123
  bottom: 0
121
124
  }
122
125
  };
126
+ const classes = editorStyles({
127
+ padHeight: !fullScreen ? otherProps?.padHeight : 120,
128
+ placeHolderColor: invertColor(pageColor || "#FFF")
129
+ });
130
+ const isListItem = useElement(editor, ["list-item", "check-list-item", "accordion-summary"]);
131
+ console.log(editor.selection);
123
132
  useEffect(() => {
124
133
  setValue(draftToSlate({
125
134
  data: content
@@ -297,6 +306,8 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
297
306
  escapeEvent({
298
307
  editor
299
308
  });
309
+ } else if (event.key === "Enter") {
310
+ enterEvent(event, editor, isListItem);
300
311
  }
301
312
  }, [chars, editor, target, mentions, setMentions, search, type, mentionsRef]);
302
313
  const Overlay = collaborativeEditor && !isReadOnly ? RemoteCursorOverlay : React.Fragment;
@@ -336,11 +347,11 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
336
347
  onChange: handleEditorChange,
337
348
  children: [/*#__PURE__*/_jsx(DragAndDrop, {
338
349
  children: /*#__PURE__*/_jsx(Overlay, {
339
- children: /*#__PURE__*/_jsx(Box, {
350
+ children: /*#__PURE__*/_jsxs(Box, {
340
351
  className: `${hasTopBanner() ? "has-topbanner" : ""}`,
341
352
  sx: classes.slateWrapper,
342
353
  id: "slate-wrapper-scroll-container",
343
- children: /*#__PURE__*/_jsxs(Box, {
354
+ children: [/*#__PURE__*/_jsxs(Box, {
344
355
  component: "div",
345
356
  className: "max-content",
346
357
  children: [renderTopBanner(), /*#__PURE__*/_jsx("div", {
@@ -358,7 +369,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
358
369
  paddingTop: `${bannerSpacing?.top}px`,
359
370
  paddingBottom: `${bannerSpacing?.bottom}px`,
360
371
  width: !pageWidth || pageWidth === "fixed" ? fixedWidth : fullWidth,
361
- // width: viewport.w ? `${viewport.w}px` : "100%",
362
372
  height: viewport.h ? `${viewport.h}px` : `100%`,
363
373
  alignSelf: "center",
364
374
  transformOrigin: "left top",
@@ -372,6 +382,7 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
372
382
  readOnly: isReadOnly,
373
383
  renderElement: renderElement,
374
384
  renderLeaf: renderLeaf,
385
+ decorate: decorators,
375
386
  onKeyDown: onKeyDown
376
387
  }), /*#__PURE__*/_jsx(MentionsPopup, {
377
388
  ref: mentionsRef,
@@ -388,7 +399,14 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
388
399
  customProps: customProps,
389
400
  toolbarOptions: toolbarOptions
390
401
  }) : null]
391
- })
402
+ }), readOnly && /*#__PURE__*/_jsx(Typography, {
403
+ sx: {
404
+ color: "rgb(100, 116, 139)",
405
+ fontSize: "13px"
406
+ },
407
+ align: "center",
408
+ children: footer
409
+ })]
392
410
  })
393
411
  })
394
412
  }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Dialog, DialogTitle, DialogContent, DialogActions, IconButton, Grid } from "@mui/material";
2
+ import { Dialog, DialogTitle, DialogContent, IconButton, Grid } from "@mui/material";
3
3
  import CloseIcon from "@mui/icons-material/Close";
4
4
  // import styled from "@emotion/styled";
5
5
  // import commonStyle from "./commonStyle";
@@ -9,8 +9,7 @@ const DialogWrapper = props => {
9
9
  const {
10
10
  fullScreen,
11
11
  onClose,
12
- children,
13
- footer
12
+ children
14
13
  } = props;
15
14
  return fullScreen ? /*#__PURE__*/_jsxs(Dialog, {
16
15
  className: `dialogComp`,
@@ -38,13 +37,6 @@ const DialogWrapper = props => {
38
37
  padding: "0px"
39
38
  },
40
39
  children: children
41
- }), /*#__PURE__*/_jsx(DialogActions, {
42
- style: {
43
- justifyContent: "center",
44
- color: "#64748B",
45
- fontSize: "13px"
46
- },
47
- children: footer
48
40
  })]
49
41
  }) : children;
50
42
  };
@@ -772,6 +772,10 @@ blockquote {
772
772
  padding: 6px;
773
773
  }
774
774
 
775
+ .iconRadioButton .MuiFormControlLabel-root {
776
+ margin-right: 8px;
777
+ }
778
+
775
779
  .iconRadioButton .MuiTypography-root {
776
780
  width: 32px;
777
781
  height: 32px;
@@ -810,6 +814,80 @@ blockquote {
810
814
  outline: none !important;
811
815
  }
812
816
 
817
+ .bannerSpaceBoxLeft {
818
+ width: 12px;
819
+ height: 80px;
820
+ border-radius: 2px 8px 8px 2px;
821
+ border: 2px solid #2563eb;
822
+ top: 14px;
823
+ position: absolute;
824
+ left: 0;
825
+ }
826
+
827
+ .bannerSpaceBoxTop {
828
+ height: 12px;
829
+ width: 86px;
830
+ border-radius: 2px 2px 8px 8px;
831
+ border: 2px solid #2563eb;
832
+ position: absolute;
833
+ left: 9px;
834
+ top: 0;
835
+ }
836
+ .bannerSpaceBoxRight {
837
+ width: 12px;
838
+ height: 80px;
839
+ border-radius: 8px 2px 2px 8px;
840
+ border: 2px solid #2563eb;
841
+ position: absolute;
842
+ right: 0;
843
+ top: 14px;
844
+ }
845
+ .bannerSpaceBoxBottom {
846
+ height: 12px;
847
+ width: 86px;
848
+ border-radius: 8px 8px 2px 2px;
849
+ border: 2px solid #2563eb;
850
+ position: absolute;
851
+ left: 9px;
852
+ bottom: 0;
853
+ }
854
+ .bannerSpaceBox {
855
+ position: relative;
856
+ width: 106px;
857
+ height: 106px;
858
+ flex-shrink: 0;
859
+ }
860
+
861
+ .sliderInput {
862
+ width: 66px;
863
+ padding: 2px 10px;
864
+ margin-left: 18px;
865
+ box-shadow: 0px 4px 16px 0px #0000000d;
866
+ border: 1px solid #6f6f6f33;
867
+ border-radius: 4px;
868
+ }
869
+ .sld-wrpr {
870
+ padding-left: 16px;
871
+ }
872
+ .cradio-primary .MuiRadio-root {
873
+ color: #E0E0E0;
874
+ }
875
+ .cradio-primary .MuiRadio-root.Mui-checked,
876
+ .ccheckbox-primary .MuiCheckbox-root.Mui-checked {
877
+ color: #2563eb
878
+ }
879
+
880
+ .spacingSlider .MuiSlider-thumb {
881
+ width: 16px;
882
+ height: 16px;
883
+ border: 2px solid #fff;
884
+ box-shadow: 0px 1px 6px #aaa;
885
+ }
886
+ .spacingSlider {
887
+ height: 9px !important;
888
+ color: #2563eb !important;
889
+ }
890
+
813
891
  .uploadImageSection {
814
892
  position: absolute;
815
893
  transform: translate(-50%, -50%);
@@ -874,6 +952,33 @@ blockquote {
874
952
  height: 0px;
875
953
  }
876
954
 
955
+ .sidebar-wrpr-eds {
956
+ padding: 8px 0px;
957
+ }
958
+ .sidebar-wrpr-eds .MuiTypography-body1 {
959
+ color: #0F172A;
960
+ font-size: 14px;
961
+ }
962
+
963
+ .content-editable.empty {
964
+ position: relative;
965
+ }
966
+ .content-editable.empty:after {
967
+ content: attr(placeholder);
968
+ position: absolute;
969
+ left: 0;
970
+ top: 0;
971
+ }
972
+ .af-pl-1::after {
973
+ padding-left: 12px;
974
+ }
975
+ .af-pl-2::after {
976
+ padding-left: 24px;
977
+ }
978
+ .af-pt-2::after {
979
+ padding-top: 8px;
980
+ }
981
+
877
982
  /* HTML: <div class="loader"></div> */
878
983
  .img-loader-wrapper {
879
984
  width: 28px;
@@ -8,26 +8,31 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
8
8
  let c = [];
9
9
  const ColorChunks = (recentColors = []) => [...recentColors, ...colors].reduce((a, b, i) => {
10
10
  if (i % 7 === 0) {
11
- a.push(c);
11
+ if (c.length > 0) {
12
+ a.push(c);
13
+ }
12
14
  c = [];
13
15
  }
14
16
  c.push(b);
15
17
  return a;
16
- }, []).reverse();
18
+ }, []);
17
19
  const SingleColorButton = ({
18
20
  crs,
19
21
  index,
20
22
  handleSelect,
21
23
  classes,
22
24
  handleMore,
23
- activeColor
25
+ activeColor,
26
+ id,
27
+ padding
24
28
  }) => {
25
29
  return /*#__PURE__*/_jsxs(Box, {
26
30
  style: {
27
31
  width: "100%",
28
32
  display: "flex",
29
33
  alignItems: "center",
30
- padding: "8px"
34
+ padding: padding || "8px",
35
+ justifyContent: "center"
31
36
  },
32
37
  children: [crs.map(m => /*#__PURE__*/_jsx(Button, {
33
38
  onClick: handleSelect(m),
@@ -37,6 +42,7 @@ const SingleColorButton = ({
37
42
  sx: classes.colorButtonSingle,
38
43
  className: `${activeColor === m ? "active" : ""}`
39
44
  }, `color_bs_${m}`)), index === 0 && handleMore ? /*#__PURE__*/_jsx(IconButton, {
45
+ id: `in_${id}`,
40
46
  onClick: handleMore,
41
47
  className: "more-btn-cbs",
42
48
  children: /*#__PURE__*/_jsx(ArrowDropDownIcon, {})
@@ -45,6 +51,7 @@ const SingleColorButton = ({
45
51
  };
46
52
  export const AllColors = props => {
47
53
  const {
54
+ id,
48
55
  classes,
49
56
  open,
50
57
  anchorEl,
@@ -72,13 +79,18 @@ export const AllColors = props => {
72
79
  sx: classes.allColorInner,
73
80
  children: /*#__PURE__*/_jsx(Box, {
74
81
  className: "buttonsWrpr",
82
+ style: {
83
+ padding: "8px"
84
+ },
75
85
  children: all.map((m, i) => {
76
86
  return /*#__PURE__*/_jsx(SingleColorButton, {
87
+ id: `pi_${id}`,
77
88
  crs: m,
78
89
  index: i,
79
90
  handleSelect: onSelect,
80
91
  classes: classes,
81
- activeColor: activeColor
92
+ activeColor: activeColor,
93
+ padding: "0px"
82
94
  }, `si_btn_row1_${m}_${i}`);
83
95
  })
84
96
  })
@@ -88,6 +100,7 @@ export const AllColors = props => {
88
100
  };
89
101
  const ColorButtons = props => {
90
102
  const {
103
+ id,
91
104
  onSelect,
92
105
  classes,
93
106
  activeColor
@@ -111,6 +124,7 @@ const ColorButtons = props => {
111
124
  className: "buttonsWrpr first",
112
125
  children: [row1].map((m, i) => {
113
126
  return /*#__PURE__*/_jsx(SingleColorButton, {
127
+ id: `p1_${id}`,
114
128
  crs: m,
115
129
  index: i,
116
130
  handleSelect: handleSelect,
@@ -135,6 +149,7 @@ const ColorButtons = props => {
135
149
  sx: classes.colorButtonsInner,
136
150
  children: restRows.map((m, i) => {
137
151
  return /*#__PURE__*/_jsx(SingleColorButton, {
152
+ id: `p2_${id}`,
138
153
  crs: m,
139
154
  index: i,
140
155
  handleSelect: handleSelect,
@@ -5,9 +5,9 @@ import ColorPickerTool from "react-gcolor-picker";
5
5
  import { IconButton, Tooltip, Box, Popover } from "@mui/material";
6
6
  import { addMarkData, activeMark } from "../../utils/SlateUtilityFunctions";
7
7
  import { logo } from "./LogoIcon";
8
- import "./ColorPicker.css";
9
8
  import ColorButtons from "./ColorButtons";
10
9
  import ColorPickerStyles from "./Styles";
10
+ import "./ColorPicker.css";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
13
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -16,6 +16,7 @@ const DEFAULT_COLOR = {
16
16
  bgcolor: "#FFFFFF"
17
17
  };
18
18
  const ColorPicker = ({
19
+ id,
19
20
  format,
20
21
  editor,
21
22
  showHex,
@@ -55,6 +56,7 @@ const ColorPicker = ({
55
56
  title: title,
56
57
  arrow: true,
57
58
  children: /*#__PURE__*/_jsx(IconButton, {
59
+ sx: pickerStyles.colorPickerIcon,
58
60
  onClick: onOpen,
59
61
  children: Logo
60
62
  })
@@ -64,18 +66,19 @@ const ColorPicker = ({
64
66
  }) : null, /*#__PURE__*/_jsx(ColorButtons, {
65
67
  classes: pickerStyles,
66
68
  onSelect: onSelect,
67
- activeColor: activeColor
68
- }), /*#__PURE__*/_jsx(Popover, {
69
+ activeColor: activeColor,
70
+ id: id
71
+ }, id), /*#__PURE__*/_jsx(Popover, {
69
72
  open: open,
70
73
  anchorEl: anchorEl,
71
74
  onClose: handleClose,
72
75
  anchorOrigin: {
73
- vertical: "bottom",
76
+ vertical: "top",
74
77
  horizontal: "center"
75
78
  },
76
79
  transformOrigin: {
77
- vertical: "top",
78
- horizontal: "center"
80
+ vertical: "bottom",
81
+ horizontal: "top"
79
82
  },
80
83
  children: /*#__PURE__*/_jsx(ColorPickerTool, {
81
84
  gradient: true,
@@ -1,59 +1,25 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { jsxs as _jsxs } from "react/jsx-runtime";
3
2
  export const logo = {
4
3
  color: color => /*#__PURE__*/_jsx("svg", {
4
+ width: "14",
5
+ height: "14",
6
+ viewBox: "0 0 11 14",
7
+ fill: "none",
5
8
  xmlns: "http://www.w3.org/2000/svg",
6
- fill: "#64748B",
7
- height: "20px",
8
- width: "20px",
9
- version: "1.1",
10
- id: "Icons",
11
- viewBox: "0 0 32 32",
12
- children: /*#__PURE__*/_jsxs("g", {
13
- children: [/*#__PURE__*/_jsx("path", {
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 || "#64748B"
16
- }), /*#__PURE__*/_jsx("path", {
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
- })]
9
+ children: /*#__PURE__*/_jsx("path", {
10
+ d: "M5.16796 0C5.16796 0 0 5.92326 0 8.8319C0 12.0176 2.65524 14 5.16796 14C7.83258 14 10.3359 11.9129 10.3359 8.8319C10.3359 5.92326 5.16796 0 5.16796 0ZM8.7402 9.70788C8.45278 11.3396 7.03388 12.0548 5.89918 12.0548C5.80706 12.0543 9.14466 10.6134 7.85834 6.30322C8.53622 7.06776 8.96266 8.4448 8.7402 9.70788Z",
11
+ fill: "#778599"
19
12
  })
20
13
  }),
21
- bgColor: color => /*#__PURE__*/_jsxs("svg", {
22
- xmlns: "http://www.w3.org/2000/svg",
23
- width: "24px",
24
- height: "24px",
25
- viewBox: "0 0 50 50",
14
+ bgColor: color => /*#__PURE__*/_jsx("svg", {
15
+ width: "14",
16
+ height: "14",
17
+ viewBox: "0 0 14 14",
26
18
  fill: "none",
27
- children: [/*#__PURE__*/_jsx("rect", {
28
- width: "48",
29
- height: "48",
30
- fill: "white",
31
- fillOpacity: "0.01"
32
- }), /*#__PURE__*/_jsx("path", {
33
- fillRule: "evenodd",
34
- clipRule: "evenodd",
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",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ children: /*#__PURE__*/_jsx("path", {
21
+ d: "M13.5512 6.73405L6.71385 12.8277C6.30072 13.1996 5.76365 13.3648 5.22658 13.3442C4.6895 13.3235 4.19375 13.0756 3.80127 12.6625L0.516875 8.98561C-0.226762 8.13869 -0.164793 6.83733 0.682127 6.09369L7.51946 0L13.5512 6.7547V6.73405ZM13.3859 8.01475C13.4479 8.26263 11.6095 11.1959 13.138 11.3818C14.9558 11.5883 13.324 7.76687 13.3859 8.01475ZM12.5183 6.67208L7.47814 1.03283L1.19854 6.65142L12.5183 6.69273V6.67208Z",
36
22
  fill: "#64748B"
37
- }), /*#__PURE__*/_jsx("path", {
38
- d: "M20.8535 5.50439L24.389 9.03993",
39
- stroke: "#64748B",
40
- strokeWidth: "4",
41
- strokeLinecap: "round"
42
- }), /*#__PURE__*/_jsx("path", {
43
- d: "M23.6818 8.33281L8.12549 23.8892L19.4392 35.2029L34.9955 19.6465L23.6818 8.33281Z",
44
- stroke: "#64748B",
45
- strokeWidth: "4",
46
- strokeLinejoin: "round"
47
- }), /*#__PURE__*/_jsx("path", {
48
- d: "M12 20.0732L28.961 25.6496",
49
- stroke: "#64748B",
50
- strokeWidth: "4",
51
- strokeLinecap: "round"
52
- }), /*#__PURE__*/_jsx("path", {
53
- d: "M4 43H44",
54
- stroke: color || "#FFF",
55
- strokeWidth: "4",
56
- strokeLinecap: "round"
57
- })]
23
+ })
58
24
  })
59
25
  };
@@ -1,5 +1,6 @@
1
1
  const ColorPickerStyles = () => ({
2
2
  colorButtons: {
3
+ padding: "0px",
3
4
  "& .buttonsWrpr": {
4
5
  display: "flex",
5
6
  justifyCotnent: "center"
@@ -16,18 +17,18 @@ const ColorPickerStyles = () => ({
16
17
  "&:before": {
17
18
  content: '" "',
18
19
  position: "absolute",
19
- top: "-2px",
20
- left: "-2px",
21
- width: "calc(100% + 4px)",
22
- height: "calc(100% + 4px)",
23
- border: "3px solid blue",
20
+ top: "-4px",
21
+ left: "-4px",
22
+ width: "calc(100% + 8px)",
23
+ height: "calc(100% + 8px)",
24
+ border: "2px solid #2563EB",
24
25
  borderRadius: "50%"
25
26
  }
26
27
  }
27
28
  },
28
29
  colorButtonsInner: {
29
30
  width: "100%",
30
- padding: "4px",
31
+ padding: "0px",
31
32
  display: "flex",
32
33
  justifyContent: "center",
33
34
  alignItems: "center",
@@ -46,6 +47,26 @@ const ColorPickerStyles = () => ({
46
47
  margin: "0px 4px",
47
48
  border: "1px solid #ccc"
48
49
  }
50
+ },
51
+ colorPickerIcon: {
52
+ background: "linear-gradient(324.06deg, #7025EB 12.92%, #30C8E9 25.48%, #2967F0 38.81%, #DE1E1E 52.54%, #EECE28 68.51%, #64EA61 86.62%)",
53
+ position: "relative",
54
+ padding: "9px",
55
+ zIndex: 1,
56
+ "&:before": {
57
+ content: '" "',
58
+ position: "absolute",
59
+ top: "3px",
60
+ left: "3px",
61
+ width: "calc(100% - 6px)",
62
+ height: "calc(100% - 6px)",
63
+ borderRadius: "50%",
64
+ background: "#E9F3FE",
65
+ zIndex: 2
66
+ },
67
+ "& svg": {
68
+ zIndex: 3
69
+ }
49
70
  }
50
71
  });
51
72
  export default ColorPickerStyles;
@@ -1 +1 @@
1
- export const colors = ["#000000", "#e60000", "#ff9900", "#ffff00", "#008a00", "#0066cc", "#9933ff", "#ffffff", "#facccc", "#ffebcc", "#ffffcc", "#cce8cc", "#cce0f5", "#ebd6ff", "#bbbbbb", "#f06666", "#ffc266", "#ffff66", "#66b966", "#66a3e0", "#c285ff", "#888888", "#a10000", "#b26b00", "#b2b200", "#006100", "#0047b2", "#6b24b2", "#444444", "#5c0000", "#663d00", "#666600", "#003700", "#002966", "#3d1466", "linear-gradient(90deg, #3F2AB7 12.5%, #0DC9B5 100%)", "linear-gradient(95.19deg, #A831E7 4.17%, #F05339 88.89%)"];
1
+ export const colors = ["#292D32", "#578CFF", "#A58CFF", "#46BBFF", "#FFC93A", "#33B24F", "#F06C83", "#64748B", "#82A9FE", "#C4B3FF", "#71CBFF", "#FFD055", "#61D57A", "#FA91A4", "#A2B0B9", "#A4C1FF", "#D7CBFF", "#9FDCFF", "#FFDC80", "#8AE59E", "#FCB0BE", "#E4ECF3", "#CDDCFF", "#E0D7FF", "#BEE7FF", "#FFE49E", "#B9F6C6", "#FDCAD3", "#FFFFFF", "#489FF8", "#FE7A00", "linear-gradient(327.62deg, #EBB9E0 13.53%, #9CEEE5 86.82%)", "linear-gradient(310.6deg, #7FA4F4 15.53%, #805EF5 83.64%)", "linear-gradient(95.19deg, #A831E7 4.17%, #F05339 88.89%)", "linear-gradient(90deg, #3F2AB7 12.5%, #0DC9B5 100%)", "#0F172A", "#2563EB", "#8360FD", "#19A9FC", "#FDB52A", "#0E8E2A", "#E1425E"];
@@ -4,10 +4,10 @@ import { Node, Transforms, Editor } from "slate";
4
4
  import AspectRatioIcon from "@mui/icons-material/AspectRatio";
5
5
  import useResize from "../../utils/customHooks/useResize";
6
6
  import EmbedPopup from "./EmbedPopup";
7
- import { IconButton, Tooltip } from "@mui/material";
7
+ import { IconButton, Tooltip, Box } from "@mui/material";
8
8
  import { GridSettingsIcon } from "../../common/iconslist";
9
- import QuiltedImageList from "../../common/ImageList";
10
9
  import { useEditorContext } from "../../hooks/useMouseMove";
10
+ import Icon from "../../common/Icon";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
13
  const Image = ({
@@ -19,14 +19,11 @@ const Image = ({
19
19
  const {
20
20
  url,
21
21
  alt,
22
- images = [],
23
22
  bannerSpacing,
24
23
  alignment,
25
24
  bgColor,
26
25
  borderColor,
27
26
  borderRadius,
28
- cols,
29
- rowHeight,
30
27
  boxShadow
31
28
  } = element;
32
29
  const {
@@ -105,15 +102,6 @@ const Image = ({
105
102
  at: path
106
103
  });
107
104
  };
108
-
109
- // const onAddText = () => {
110
- // Transforms.wrapNodes(editor, {
111
- // type: "image-text-wrapper",
112
- // children: [],
113
- // });
114
- // insertImageText(editor, [...path, 1]);
115
- // };
116
-
117
105
  const ToolBar = () => {
118
106
  return selected ? /*#__PURE__*/_jsx("div", {
119
107
  className: "element-toolbar visible-on-hover",
@@ -128,6 +116,28 @@ const Image = ({
128
116
  })
129
117
  }) : null;
130
118
  };
119
+ const ImageContent = () => {
120
+ return !url && !readOnly ? /*#__PURE__*/_jsxs(Box, {
121
+ component: "button",
122
+ className: "element-empty-btn",
123
+ onClick: onSettings,
124
+ contentEditable: false,
125
+ children: [/*#__PURE__*/_jsx(Icon, {
126
+ icon: "video"
127
+ }), "Add Image"]
128
+ }) : /*#__PURE__*/_jsx("img", {
129
+ style: {
130
+ borderRadius: `${topLeft}px ${topRight}px ${bottomLeft}px ${bottomRight}px`,
131
+ objectFit: "cover",
132
+ boxShadow: boxShadow || "none"
133
+ },
134
+ alt: alt,
135
+ src: url,
136
+ onClick: handleImageClick,
137
+ "data-path": path.join(","),
138
+ draggable: false
139
+ });
140
+ };
131
141
  const totalMinus = (parseInt(left) || 0) + (parseInt(right) || 0);
132
142
  const width = resizing ? `${size.width}px` : `${size.widthInPercent}%`;
133
143
  return /*#__PURE__*/_jsxs("div", {
@@ -164,23 +174,7 @@ const Image = ({
164
174
  width: `${width}`,
165
175
  height: `${size.height}px`
166
176
  },
167
- children: [!readOnly && /*#__PURE__*/_jsx(ToolBar, {}), images?.length > 1 ? /*#__PURE__*/_jsx(QuiltedImageList, {
168
- itemData: images || [],
169
- readOnly: true,
170
- rowHeight: rowHeight,
171
- cols: cols
172
- }) : /*#__PURE__*/_jsx("img", {
173
- style: {
174
- borderRadius: `${topLeft}px ${topRight}px ${bottomLeft}px ${bottomRight}px`,
175
- objectFit: "cover",
176
- boxShadow: boxShadow || "none"
177
- },
178
- alt: alt,
179
- src: url,
180
- onClick: handleImageClick,
181
- "data-path": path.join(","),
182
- draggable: false
183
- }), selected && !readOnly && /*#__PURE__*/_jsx(IconButton, {
177
+ children: [!readOnly && /*#__PURE__*/_jsx(ToolBar, {}), /*#__PURE__*/_jsx(ImageContent, {}), selected && !readOnly && /*#__PURE__*/_jsx(IconButton, {
184
178
  onPointerDown: onMouseDown,
185
179
  style: {
186
180
  opacity: 1,