@flozy/editor 3.1.1 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -107,7 +107,8 @@ const EditorButton = props => {
107
107
  break;
108
108
  case "page":
109
109
  props.component = "a";
110
- props.href = `/${url}`.replace("home", "");
110
+ const [page, section] = url.split("#");
111
+ props.href = page === "home" ? `#${section}` : `/${url}`;
111
112
  if (openInNewTab) {
112
113
  props.target = "_blank";
113
114
  }
@@ -180,7 +181,7 @@ const EditorButton = props => {
180
181
  onClick: onMenuClick("nav"),
181
182
  children: /*#__PURE__*/_jsx(LinkIcon, {})
182
183
  })
183
- }), /*#__PURE__*/_jsx(Tooltip, {
184
+ }), linkType === "page" ? null : /*#__PURE__*/_jsx(Tooltip, {
184
185
  title: "Open Link",
185
186
  arrow: true,
186
187
  children: /*#__PURE__*/_jsx(Box, {
@@ -6,7 +6,7 @@ import { IconButton, Tooltip, Grid as GridContainer } from "@mui/material";
6
6
  import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
7
7
  import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward";
8
8
  import KeyboardReturnIcon from "@mui/icons-material/KeyboardReturn";
9
- import ContentCopyIcon from '@mui/icons-material/ContentCopy';
9
+ import ContentCopyIcon from "@mui/icons-material/ContentCopy";
10
10
  import { insertGrid } from "../../utils/grid";
11
11
  import { GridAddGridIcon, GridSettingsIcon } from "../../common/iconslist";
12
12
  import GridPopup from "./GridPopup";
@@ -155,7 +155,8 @@ const Grid = props => {
155
155
  const onNewLine = direction => () => {
156
156
  try {
157
157
  if (direction) {
158
- let moveTo = direction === "up" ? path[0] - 1 : path[0] + 1;
158
+ const path = ReactEditor.findPath(editor, element);
159
+ let moveTo = direction === "up" ? path : Path.next(path);
159
160
  let lastLine = false;
160
161
  if (moveTo < 0) {
161
162
  moveTo = 0;
@@ -169,7 +170,8 @@ const Grid = props => {
169
170
  text: ""
170
171
  }]
171
172
  }, {
172
- at: [moveTo]
173
+ at: [...moveTo],
174
+ select: true
173
175
  });
174
176
  if (lastLine) {
175
177
  Transforms.move(editor, {
@@ -5,7 +5,6 @@ import DownArrowIcon from "../../../assets/svg/DownArrowIcon";
5
5
  import useWindowResize from "../../../hooks/useWindowResize";
6
6
  import { BREAKPOINTS_DEVICES, getBreakPointsValue } from "../../../helper/theme";
7
7
  import { headingMap, sizeMap } from "../../../utils/font";
8
- import { useDebounce } from "use-debounce";
9
8
  import { jsx as _jsx } from "react/jsx-runtime";
10
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
10
  const fontSizeOptions = [16, 18, 20, 22, 26, 32, 36, 40, 48, 64, 96, 128];
@@ -21,7 +20,7 @@ function SelectFontSize({
21
20
  const [size] = useWindowResize();
22
21
  const val = activeMark(editor, format);
23
22
  const value = getBreakPointsValue(val, size?.device);
24
- const [deboundedValue] = useDebounce(fontSize, 500);
23
+ const timerRef = useRef();
25
24
  const updateMarkData = newVal => {
26
25
  let upData = {
27
26
  ...getBreakPointsValue(val),
@@ -52,11 +51,6 @@ function SelectFontSize({
52
51
  setFontSize(null);
53
52
  }
54
53
  };
55
- useEffect(() => {
56
- if (deboundedValue) {
57
- onChangeSize(deboundedValue);
58
- }
59
- }, [deboundedValue]);
60
54
  const getSizeVal = () => {
61
55
  try {
62
56
  let size = `${value}`?.indexOf("px") >= 0 ? value : sizeMap[value] || value;
@@ -73,6 +67,14 @@ function SelectFontSize({
73
67
  useEffect(() => {
74
68
  setFontSize(getSizeVal());
75
69
  }, [value]);
70
+ const onChange = e => {
71
+ clearTimeout(timerRef.current);
72
+ const value = e.target.value;
73
+ setFontSize(value);
74
+ timerRef.current = setTimeout(() => {
75
+ onChangeSize(value);
76
+ }, 500);
77
+ };
76
78
  return /*#__PURE__*/_jsxs("div", {
77
79
  ref: containerRef,
78
80
  style: {
@@ -82,7 +84,7 @@ function SelectFontSize({
82
84
  children: [/*#__PURE__*/_jsx(TextField, {
83
85
  sx: classes?.miniFontSizeInput,
84
86
  value: fontSize,
85
- onChange: e => setFontSize(e.target.value),
87
+ onChange: onChange,
86
88
  size: "small"
87
89
  }), /*#__PURE__*/_jsx(IconButton, {
88
90
  onClick: e => {
@@ -105,6 +107,7 @@ function SelectFontSize({
105
107
  className: `customSelectOptionLabel ${fontSize === s ? "selected" : ""}`,
106
108
  onClick: () => {
107
109
  setFontSize(s);
110
+ onChangeSize(s);
108
111
  },
109
112
  children: s
110
113
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "3.1.1",
3
+ "version": "3.1.3",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"