@flozy/editor 4.7.2 → 4.7.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.
@@ -584,8 +584,6 @@ const CommonEditor = /*#__PURE__*/forwardRef((props, ref) => {
584
584
  }), htmlAction.showInput && /*#__PURE__*/_jsx(CodeToText, {
585
585
  ...htmlAction,
586
586
  handleCodeToText: handleCodeToText
587
- }), /*#__PURE__*/_jsx(FontLoader, {
588
- ...props
589
587
  })]
590
588
  }, id)
591
589
  })
@@ -58,8 +58,15 @@ const Embed = ({
58
58
  url: img
59
59
  };
60
60
  setFormData(fd);
61
+ let extProps = {};
62
+ if (format === "video") {
63
+ extProps = {
64
+ aspectRatio: "16 / 9"
65
+ };
66
+ }
61
67
  handleFormSubmit({
62
- ...fd
68
+ ...fd,
69
+ ...extProps
63
70
  });
64
71
  };
65
72
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -5,6 +5,7 @@ import LinkSettings from "../../../LinkSettings";
5
5
  import { insertLink, removeLink } from "../../../../utils/link";
6
6
  import { getBlockActive, isBlockActive, upateBlockActive } from "../../../../utils/SlateUtilityFunctions";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { Fragment as _Fragment } from "react/jsx-runtime";
8
9
  const Link = props => {
9
10
  const {
10
11
  onClose,
@@ -138,18 +139,20 @@ const Link = props => {
138
139
  console.log(err);
139
140
  }
140
141
  };
141
- return /*#__PURE__*/_jsx(LinkSettings, {
142
- handleClose: onClose,
143
- onSave: d => {
144
- const upData = getTransformedData(d);
145
- onSave({
146
- ...upData
147
- });
148
- onClose();
149
- },
150
- ...(blockProps || {}),
151
- customProps: customProps,
152
- theme: theme
142
+ return /*#__PURE__*/_jsx(_Fragment, {
143
+ children: blockProps ? /*#__PURE__*/_jsx(LinkSettings, {
144
+ handleClose: onClose,
145
+ onSave: d => {
146
+ const upData = getTransformedData(d);
147
+ onSave({
148
+ ...upData
149
+ });
150
+ onClose();
151
+ },
152
+ ...(blockProps || {}),
153
+ customProps: customProps,
154
+ theme: theme
155
+ }) : null
153
156
  });
154
157
  };
155
158
  export default Link;
@@ -107,7 +107,9 @@ const ELEMENTS_LIST = [{
107
107
  icon: /*#__PURE__*/_jsx(Icon, {
108
108
  icon: "video"
109
109
  }),
110
- onInsert: editor => insertDefaultEmbed(editor, "video")
110
+ onInsert: editor => insertDefaultEmbed(editor, "video", "", {
111
+ aspectRatio: "16 / 9"
112
+ })
111
113
  }, {
112
114
  name: "Embed",
113
115
  desc: "",
@@ -16,14 +16,14 @@ const embedVideoStyle = [{
16
16
  key: "aspectRatio",
17
17
  type: "textOptions",
18
18
  options: [{
19
- text: "Cover (Default)",
20
- value: ""
21
- }, {
22
- text: "16:9",
19
+ text: "16:9 (Default)",
23
20
  value: "16 / 9"
24
21
  }, {
25
22
  text: "9:16",
26
23
  value: "9 / 16"
24
+ }, {
25
+ text: "Custom",
26
+ value: ""
27
27
  }],
28
28
  renderOption: option => {
29
29
  return /*#__PURE__*/_jsx("span", {
@@ -1,4 +1,16 @@
1
1
  import { Editor, Node, Path, Transforms } from "slate";
2
+ const getCurrentNodeType = editor => {
3
+ if (editor.selection) {
4
+ // Get the current node at the selection
5
+ const [node] = Editor.nodes(editor, {
6
+ match: n => Editor.isBlock(editor, n)
7
+ });
8
+
9
+ // Return the node's type if it exists
10
+ return node ? node[0].type : null;
11
+ }
12
+ return null;
13
+ };
2
14
  const isNodeTextEmpty = node => {
3
15
  const nodeText = Node.string(node);
4
16
  return nodeText.trim() === "";
@@ -14,6 +26,19 @@ const withCustomDeleteBackward = editor => {
14
26
  selection
15
27
  } = editor;
16
28
  if (selection) {
29
+ // get the current node
30
+ const [freeGridItemNode] = Editor.nodes(editor, {
31
+ match: n => n.type === "freegridItem" // Adjust based on your list item type
32
+ });
33
+
34
+ // if it is freegrid
35
+ if (freeGridItemNode && freeGridItemNode[0]) {
36
+ const hasText = Node.string(freeGridItemNode[0]);
37
+ if (!hasText) {
38
+ return;
39
+ }
40
+ }
41
+
17
42
  // Check if current node is a list item and is the last one
18
43
  const [node] = Editor.nodes(editor, {
19
44
  match: n => n.type === "list-item" // Adjust based on your list item type
@@ -1,11 +1,12 @@
1
1
  import { Transforms } from "slate";
2
2
  import insertNewLine from "./insertNewLine";
3
- export const insertDefaultEmbed = (editor, type, defaultURL = "") => {
3
+ export const insertDefaultEmbed = (editor, type, defaultURL = "", extProps = {}) => {
4
4
  try {
5
5
  const url = defaultURL ? defaultURL : type === "image" ? "" : "";
6
6
  insertEmbed(editor, {
7
7
  url,
8
- images: []
8
+ images: [],
9
+ ...extProps
9
10
  }, type);
10
11
  } catch (err) {
11
12
  console.log(err);
@@ -14,7 +15,8 @@ export const insertDefaultEmbed = (editor, type, defaultURL = "") => {
14
15
  export const createEmbedNode = (type, {
15
16
  url,
16
17
  alt,
17
- images
18
+ images,
19
+ ...rest
18
20
  }) => ({
19
21
  type,
20
22
  alt,
@@ -23,6 +25,7 @@ export const createEmbedNode = (type, {
23
25
  children: [{
24
26
  text: " "
25
27
  }],
28
+ ...(rest || {}),
26
29
  size: {
27
30
  xs: {
28
31
  widthInPercent: "100",
@@ -483,7 +483,7 @@ export const isFreeGrid = (nodes, types = ["freegrid", "freegridItem", "freegrid
483
483
  }
484
484
  return false;
485
485
  } catch (err) {
486
- console.log('isFreeGrid error:', err);
486
+ console.log("isFreeGrid error:", err);
487
487
  return false;
488
488
  }
489
489
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flozy/editor",
3
- "version": "4.7.2",
3
+ "version": "4.7.3",
4
4
  "description": "An Editor for flozy app brain",
5
5
  "files": [
6
6
  "dist"