@flozy/editor 5.2.4 → 5.2.6

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.
@@ -11,10 +11,11 @@ function CustomSelect({
11
11
  show,
12
12
  btnProps = {}
13
13
  }) {
14
+ const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
14
15
  if (show) {
15
16
  return /*#__PURE__*/_jsx(Box, {
16
17
  component: "div",
17
- sx: classes.customSelectContainer,
18
+ sx: !isMobile && classes.customSelectContainer,
18
19
  className: "customSelectContainer",
19
20
  children: options?.map((groupOption, index) => {
20
21
  const {
@@ -52,7 +52,7 @@ const Divider = props => {
52
52
  contentEditable: false,
53
53
  className: "divider-settings",
54
54
  style: {
55
- top: "-20px",
55
+ top: "-33px",
56
56
  left: 0
57
57
  },
58
58
  children: /*#__PURE__*/_jsx(Tooltip, {
@@ -4,7 +4,7 @@ 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, Box, useTheme, Popper } from "@mui/material";
7
+ import { IconButton, Tooltip, Box, useTheme } from "@mui/material";
8
8
  import { GridSettingsIcon, LinkIcon } from "../../common/iconslist";
9
9
  import { useEditorContext } from "../../hooks/useMouseMove";
10
10
  import { getTRBLBreakPoints, getBreakPointsValue, groupByBreakpoint } from "../../helper/theme";
@@ -17,11 +17,6 @@ const SimpleTextStyle = ({
17
17
  opacity: 0
18
18
  }
19
19
  },
20
- "&.dataView": {
21
- "& .placeholder-simple-text": {
22
- opacity: 0
23
- }
24
- },
25
20
  "& .placeholder-simple-text": {
26
21
  color: "#94A3B8",
27
22
  background: "transparent",
@@ -13,6 +13,7 @@ import AddRowCol from "./AddRowCol";
13
13
  import TableTool from "./TableTool";
14
14
  import { MoreIcon, SettingsIcon } from "../../assets/svg/TableIcons";
15
15
  import { getSelectedCls } from "../../utils/helper";
16
+ import SwipeableDrawerComponent from "../../common/SwipeableDrawer";
16
17
  import { jsx as _jsx } from "react/jsx-runtime";
17
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
19
  const hideRowDragBtns = (hide, dragRowBtnCls) => {
@@ -21,6 +22,26 @@ const hideRowDragBtns = (hide, dragRowBtnCls) => {
21
22
  rowDragBtns?.forEach(btn => btn.style.display = hide);
22
23
  }
23
24
  };
25
+ const ToolTableComponent = props => {
26
+ const {
27
+ handleAction,
28
+ editorTheme
29
+ } = props;
30
+ const {
31
+ updateTableSelection
32
+ } = useTable();
33
+ return /*#__PURE__*/_jsx("div", {
34
+ children: /*#__PURE__*/_jsx(TableTool, {
35
+ theme: editorTheme,
36
+ handleToolAction: (type, option) => {
37
+ handleAction(type, option);
38
+ if (type === "duplicate") {
39
+ updateTableSelection(getDefaultTableSelection());
40
+ }
41
+ }
42
+ })
43
+ });
44
+ };
24
45
  const MoreTableSettings = props => {
25
46
  const {
26
47
  exandTools,
@@ -28,10 +49,18 @@ const MoreTableSettings = props => {
28
49
  editorTheme,
29
50
  setExpandTools
30
51
  } = props;
31
- const {
32
- updateTableSelection
33
- } = useTable();
34
- return /*#__PURE__*/_jsx(Popper, {
52
+ const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
53
+ return isMobile ? /*#__PURE__*/_jsx(SwipeableDrawerComponent, {
54
+ open: Boolean(exandTools),
55
+ onClose: () => {
56
+ setExpandTools(false);
57
+ },
58
+ swipeableDrawer: false,
59
+ children: /*#__PURE__*/_jsx(ToolTableComponent, {
60
+ handleAction: handleAction,
61
+ editorTheme: editorTheme
62
+ })
63
+ }) : /*#__PURE__*/_jsx(Popper, {
35
64
  open: Boolean(exandTools),
36
65
  anchorEl: exandTools,
37
66
  contentEditable: false,
@@ -41,16 +70,9 @@ const MoreTableSettings = props => {
41
70
  placement: "bottom-start",
42
71
  children: /*#__PURE__*/_jsx(ClickAwayListener, {
43
72
  onClickAway: () => setExpandTools(false),
44
- children: /*#__PURE__*/_jsx("div", {
45
- children: /*#__PURE__*/_jsx(TableTool, {
46
- theme: editorTheme,
47
- handleToolAction: (type, option) => {
48
- handleAction(type, option);
49
- if (type === "duplicate") {
50
- updateTableSelection(getDefaultTableSelection());
51
- }
52
- }
53
- })
73
+ children: /*#__PURE__*/_jsx(ToolTableComponent, {
74
+ handleAction: handleAction,
75
+ editorTheme: editorTheme
54
76
  })
55
77
  })
56
78
  });
@@ -6,29 +6,19 @@ import SwipeableDrawerComponent from "./SwipeableDrawer";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
8
  import { Fragment as _Fragment } from "react/jsx-runtime";
9
- const ColorPickerButton = props => {
10
- const {
11
- value,
12
- onSave,
13
- defaultColors = [],
14
- classes = {},
15
- recentColors = [],
16
- hideGradient
17
- } = props;
18
- const [anchorEl, setAnchorEl] = useState(null);
9
+ const ColorPickerToolComponent = ({
10
+ value,
11
+ defaultColors = [],
12
+ onSave = () => {},
13
+ recentColors = [],
14
+ hideGradient,
15
+ handleClose
16
+ }) => {
19
17
  const [color, setColor] = useState(value);
20
- const open = Boolean(anchorEl);
21
- const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
22
- const handleColorPicker = e => {
23
- setAnchorEl(e.currentTarget);
24
- };
25
18
  const handleSave = () => {
26
19
  onSave(color);
27
20
  handleClose();
28
21
  };
29
- const handleClose = () => {
30
- setAnchorEl(null);
31
- };
32
22
  const handleColorChange = color => {
33
23
  setColor(color);
34
24
  };
@@ -39,7 +29,7 @@ const ColorPickerButton = props => {
39
29
  }
40
30
  return colors;
41
31
  }, [recentColors, defaultColors, hideGradient]);
42
- const ColorPickerToolComponent = () => /*#__PURE__*/_jsxs(Grid, {
32
+ return /*#__PURE__*/_jsxs(Grid, {
43
33
  item: true,
44
34
  xs: 12,
45
35
  children: [/*#__PURE__*/_jsx("div", {
@@ -66,6 +56,25 @@ const ColorPickerButton = props => {
66
56
  })]
67
57
  })]
68
58
  });
59
+ };
60
+ const ColorPickerButton = props => {
61
+ const {
62
+ value,
63
+ onSave,
64
+ defaultColors = [],
65
+ classes = {},
66
+ recentColors = [],
67
+ hideGradient
68
+ } = props;
69
+ const [anchorEl, setAnchorEl] = useState(null);
70
+ const open = Boolean(anchorEl);
71
+ const isMobile = window.matchMedia("(max-width: 899px)")?.matches || false;
72
+ const handleColorPicker = e => {
73
+ setAnchorEl(e.currentTarget);
74
+ };
75
+ const handleClose = () => {
76
+ setAnchorEl(null);
77
+ };
69
78
  return /*#__PURE__*/_jsxs(_Fragment, {
70
79
  children: [/*#__PURE__*/_jsx(Button, {
71
80
  style: {
@@ -86,7 +95,14 @@ const ColorPickerButton = props => {
86
95
  padding: 0,
87
96
  className: "ed-cp-wrpr",
88
97
  sx: classes.colorPickerPopup,
89
- children: /*#__PURE__*/_jsx(ColorPickerToolComponent, {})
98
+ children: /*#__PURE__*/_jsx(ColorPickerToolComponent, {
99
+ value: value,
100
+ defaultColors: defaultColors,
101
+ onSave: onSave,
102
+ recentColors: recentColors,
103
+ hideGradient: hideGradient,
104
+ handleClose: handleClose
105
+ })
90
106
  })
91
107
  }) : /*#__PURE__*/_jsx(Popover, {
92
108
  open: open,
@@ -105,7 +121,14 @@ const ColorPickerButton = props => {
105
121
  container: true,
106
122
  padding: 0,
107
123
  className: "ed-cp-wrpr",
108
- children: /*#__PURE__*/_jsx(ColorPickerToolComponent, {})
124
+ children: /*#__PURE__*/_jsx(ColorPickerToolComponent, {
125
+ value: value,
126
+ defaultColors: defaultColors,
127
+ onSave: onSave,
128
+ recentColors: recentColors,
129
+ hideGradient: hideGradient,
130
+ handleClose: handleClose
131
+ })
109
132
  })
110
133
  })]
111
134
  });
@@ -1,7 +1,7 @@
1
1
  import { ClickAwayListener } from "@mui/material";
2
2
  import { createContext, useContext, useEffect, useMemo, useState } from "react";
3
3
  import { clearCellText } from "../utils/table";
4
- import { Editor, Element, Transforms, Range } from "slate";
4
+ import { Editor, Element, Transforms } from "slate";
5
5
  import { DndContext, DragOverlay, PointerSensor, useSensor, useSensors } from "@dnd-kit/core";
6
6
  import { encodeToBase64, isHavingSelection } from "../utils/helper";
7
7
  import { serializeToText } from "../utils/serializeToText";
@@ -190,8 +190,8 @@ const withHtml = editor => {
190
190
  }], {
191
191
  at: [0]
192
192
  });
193
- insertData(data);
194
193
  }
194
+ insertData(data);
195
195
  }, decoded);
196
196
  }
197
197
  } else if (html) {
@@ -3,6 +3,7 @@ import { Box } from "@mui/material";
3
3
  import { fontFamilyMap, sizeMap } from "../font";
4
4
  import Mentions from "../../Elements/Mentions/Mentions";
5
5
  import CheckList from "../../Elements/List/CheckList";
6
+ import SimpleText from "../../Elements/SimpleText";
6
7
  import { isEmptyTextNode } from "../../helper";
7
8
  import { getBreakPointsValue } from "../../helper/theme";
8
9
  import insertNewLine from "../insertNewLine";
@@ -363,6 +364,9 @@ export const getBlock = props => {
363
364
  ...props
364
365
  });
365
366
  default:
366
- return null;
367
+ return /*#__PURE__*/_jsx(SimpleText, {
368
+ ...props,
369
+ isEmpty: isEmpty
370
+ });
367
371
  }
368
372
  };
@@ -652,6 +652,7 @@ export function isHavingSelection(editor) {
652
652
  console.log(err);
653
653
  }
654
654
  }
655
+ const omitNodes = ["site-settings", "page-settings"];
655
656
  export function getInitialValue(value = [], readOnly) {
656
657
  if (readOnly === "readonly" && value?.length) {
657
658
  // remove last empty nodes on readonly mode, to remove empty spaces
@@ -668,6 +669,8 @@ export function getInitialValue(value = [], readOnly) {
668
669
  const hasOnlyTextChildren = node.children.every(child => Text.isText(child));
669
670
  const text = node.children[node.children.length - 1]?.text;
670
671
  lastNonEmptyElementIndex = hasOnlyTextChildren ? text ? elementIndex : null : elementIndex;
672
+ } else if (omitNodes.includes(node?.type)) {
673
+ continue;
671
674
  } else {
672
675
  lastNonEmptyElementIndex = elementIndex;
673
676
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "5.2.4",
3
+ "version": "5.2.6",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"