@webiny/lexical-nodes 6.0.0-beta.0 → 6.0.0-rc.0
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.
- package/FontColorNode.d.ts +24 -22
- package/FontColorNode.js +114 -103
- package/FontColorNode.js.map +1 -1
- package/HeadingNode.d.ts +30 -20
- package/HeadingNode.js +185 -176
- package/HeadingNode.js.map +1 -1
- package/ImageNode.d.ts +2 -12
- package/ImageNode.js +119 -193
- package/ImageNode.js.map +1 -1
- package/LinkNode.d.ts +6 -6
- package/LinkNode.js +249 -347
- package/LinkNode.js.map +1 -1
- package/ListItemNode.d.ts +6 -5
- package/ListItemNode.js +275 -352
- package/ListItemNode.js.map +1 -1
- package/ListNode.d.ts +32 -19
- package/ListNode.js +170 -210
- package/ListNode.js.map +1 -1
- package/ParagraphNode.d.ts +30 -20
- package/ParagraphNode.js +144 -201
- package/ParagraphNode.js.map +1 -1
- package/QuoteNode.d.ts +27 -20
- package/QuoteNode.js +102 -208
- package/QuoteNode.js.map +1 -1
- package/README.md +9 -4
- package/components/ImageNode/ImageComponent.d.ts +2 -7
- package/components/ImageNode/ImageComponent.js +72 -166
- package/components/ImageNode/ImageComponent.js.map +1 -1
- package/components/ImageNode/ImageResizer.d.ts +1 -8
- package/components/ImageNode/ImageResizer.js +80 -95
- package/components/ImageNode/ImageResizer.js.map +1 -1
- package/generateInitialLexicalValue.d.ts +4 -0
- package/generateInitialLexicalValue.js +27 -0
- package/generateInitialLexicalValue.js.map +1 -0
- package/index.d.ts +19 -23
- package/index.js +50 -233
- package/index.js.map +1 -1
- package/package.json +22 -19
- package/prepareLexicalState.d.ts +2 -0
- package/prepareLexicalState.js +53 -0
- package/prepareLexicalState.js.map +1 -0
- package/types.d.ts +5 -9
- package/types.js +1 -5
- package/types.js.map +1 -1
- package/utils/clearNodeFormating.d.ts +2 -2
- package/utils/clearNodeFormating.js +12 -18
- package/utils/clearNodeFormating.js.map +1 -1
- package/utils/formatList.d.ts +4 -4
- package/utils/formatList.js +171 -208
- package/utils/formatList.js.map +1 -1
- package/utils/formatToHeading.d.ts +2 -2
- package/utils/formatToHeading.js +8 -15
- package/utils/formatToHeading.js.map +1 -1
- package/utils/formatToParagraph.d.ts +1 -1
- package/utils/formatToParagraph.js +8 -16
- package/utils/formatToParagraph.js.map +1 -1
- package/utils/formatToQuote.d.ts +1 -1
- package/utils/formatToQuote.js +10 -17
- package/utils/formatToQuote.js.map +1 -1
- package/utils/getStyleId.d.ts +11 -0
- package/utils/getStyleId.js +14 -0
- package/utils/getStyleId.js.map +1 -0
- package/utils/listNode.d.ts +14 -4
- package/utils/listNode.js +43 -49
- package/utils/listNode.js.map +1 -1
- package/utils/toggleLink.d.ts +1 -1
- package/utils/toggleLink.js +41 -45
- package/utils/toggleLink.js.map +1 -1
- package/TypographyNode.d.ts +0 -39
- package/TypographyNode.js +0 -147
- package/TypographyNode.js.map +0 -1
- package/components/ImageNode/ContentEditable.css +0 -22
- package/components/ImageNode/ContentEditable.d.ts +0 -12
- package/components/ImageNode/ContentEditable.js +0 -26
- package/components/ImageNode/ContentEditable.js.map +0 -1
- package/components/ImageNode/ImageComponent.css +0 -43
- package/components/ImageNode/Placeholder.css +0 -20
- package/components/ImageNode/Placeholder.d.ts +0 -15
- package/components/ImageNode/Placeholder.js +0 -30
- package/components/ImageNode/Placeholder.js.map +0 -1
- package/components/ImageNode/SharedHistoryContext.d.ts +0 -10
- package/components/ImageNode/SharedHistoryContext.js +0 -27
- package/components/ImageNode/SharedHistoryContext.js.map +0 -1
package/ImageNode.js
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireWildcard3 = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.$createImageNode = $createImageNode;
|
|
9
|
-
exports.$isImageNode = $isImageNode;
|
|
10
|
-
exports.ImageNode = void 0;
|
|
11
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
|
|
16
|
-
var _react = _interopRequireWildcard3(require("react"));
|
|
17
|
-
var _lexical = require("lexical");
|
|
18
1
|
/**
|
|
19
2
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
20
3
|
*
|
|
@@ -22,190 +5,133 @@ var _lexical = require("lexical");
|
|
|
22
5
|
* LICENSE file in the root directory of this source tree.
|
|
23
6
|
*
|
|
24
7
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
8
|
+
import React, { Suspense } from "react";
|
|
9
|
+
import { $applyNodeReplacement, DecoratorNode } from "lexical";
|
|
10
|
+
const ImageComponent = /*#__PURE__*/React.lazy(() => {
|
|
11
|
+
return import(/* webpackChunkName: "lexical-image" */"./components/ImageNode/ImageComponent.js");
|
|
30
12
|
});
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
13
|
+
export class ImageNode extends DecoratorNode {
|
|
14
|
+
static getType() {
|
|
15
|
+
return "wby-image";
|
|
16
|
+
}
|
|
17
|
+
static clone(node) {
|
|
18
|
+
return new ImageNode({
|
|
19
|
+
id: node.__id,
|
|
20
|
+
src: node.__src,
|
|
21
|
+
altText: node.__altText,
|
|
22
|
+
maxWidth: node.__maxWidth,
|
|
23
|
+
width: node.__width,
|
|
24
|
+
height: node.__height
|
|
25
|
+
}, node.__key);
|
|
26
|
+
}
|
|
27
|
+
static importJSON(serializedNode) {
|
|
28
|
+
const {
|
|
29
|
+
id,
|
|
30
|
+
altText,
|
|
31
|
+
height,
|
|
32
|
+
width,
|
|
33
|
+
maxWidth,
|
|
34
|
+
src
|
|
35
|
+
} = serializedNode;
|
|
36
|
+
return $createImageNode({
|
|
37
|
+
id,
|
|
38
|
+
altText,
|
|
39
|
+
height,
|
|
40
|
+
maxWidth,
|
|
41
|
+
src,
|
|
42
|
+
width
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
exportDOM() {
|
|
46
|
+
const element = document.createElement("img");
|
|
47
|
+
element.setAttribute("id", this.__id);
|
|
48
|
+
element.setAttribute("src", this.__src);
|
|
49
|
+
element.setAttribute("alt", this.__altText);
|
|
50
|
+
element.setAttribute("width", this.__width.toString());
|
|
51
|
+
element.setAttribute("height", this.__height.toString());
|
|
52
|
+
return {
|
|
53
|
+
element
|
|
54
|
+
};
|
|
46
55
|
}
|
|
47
|
-
(0, _inherits2.default)(ImageNode, _DecoratorNode);
|
|
48
|
-
return (0, _createClass2.default)(ImageNode, [{
|
|
49
|
-
key: "exportDOM",
|
|
50
|
-
value: function exportDOM() {
|
|
51
|
-
var element = document.createElement("img");
|
|
52
|
-
element.setAttribute("id", this.__id);
|
|
53
|
-
element.setAttribute("src", this.__src);
|
|
54
|
-
element.setAttribute("alt", this.__altText);
|
|
55
|
-
element.setAttribute("width", this.__width.toString());
|
|
56
|
-
element.setAttribute("height", this.__height.toString());
|
|
57
|
-
return {
|
|
58
|
-
element: element
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Control how an HTMLElement is represented in Lexical.
|
|
59
|
+
* DOM data comes from clipboard or parsing HTML to nodes with the available lexical functions.
|
|
60
|
+
* (@see @lexical/html package: https://github.com/facebook/lexical/blob/main/packages/lexical-html/README.md).
|
|
61
|
+
*/
|
|
62
|
+
static importDOM() {
|
|
62
63
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
64
|
+
* By returning 'null' value, we are preventing image node to be created.
|
|
65
|
+
* Example of how to implement and create the node:
|
|
66
|
+
* https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/nodes/ImageNode.tsx#L94
|
|
66
67
|
*/
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// View
|
|
98
|
-
}, {
|
|
99
|
-
key: "createDOM",
|
|
100
|
-
value: function createDOM(config) {
|
|
101
|
-
var span = document.createElement("span");
|
|
102
|
-
var theme = config.theme;
|
|
103
|
-
var className = theme.image;
|
|
104
|
-
if (className !== undefined) {
|
|
105
|
-
span.className = className;
|
|
106
|
-
}
|
|
107
|
-
return span;
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
key: "updateDOM",
|
|
111
|
-
value: function updateDOM() {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
}, {
|
|
115
|
-
key: "getSrc",
|
|
116
|
-
value: function getSrc() {
|
|
117
|
-
return this.__src;
|
|
118
|
-
}
|
|
119
|
-
}, {
|
|
120
|
-
key: "getAltText",
|
|
121
|
-
value: function getAltText() {
|
|
122
|
-
return this.__altText;
|
|
123
|
-
}
|
|
124
|
-
}, {
|
|
125
|
-
key: "decorate",
|
|
126
|
-
value: function decorate() {
|
|
127
|
-
return /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
128
|
-
fallback: null
|
|
129
|
-
}, /*#__PURE__*/_react.default.createElement(ImageComponent, {
|
|
130
|
-
id: this.__id,
|
|
131
|
-
src: this.__src,
|
|
132
|
-
altText: this.__altText,
|
|
133
|
-
width: this.__width,
|
|
134
|
-
height: this.__height,
|
|
135
|
-
maxWidth: this.__maxWidth,
|
|
136
|
-
nodeKey: this.getKey(),
|
|
137
|
-
showCaption: this.__showCaption,
|
|
138
|
-
caption: this.__caption,
|
|
139
|
-
captionsEnabled: this.__captionsEnabled,
|
|
140
|
-
resizable: true
|
|
141
|
-
}));
|
|
142
|
-
}
|
|
143
|
-
}], [{
|
|
144
|
-
key: "getType",
|
|
145
|
-
value:
|
|
146
|
-
// Captions cannot yet be used within editor cells
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
constructor(props, key) {
|
|
71
|
+
super(key);
|
|
72
|
+
this.__id = props.id;
|
|
73
|
+
this.__src = props.src;
|
|
74
|
+
this.__altText = props.altText;
|
|
75
|
+
this.__maxWidth = props.maxWidth;
|
|
76
|
+
this.__width = props.width || "inherit";
|
|
77
|
+
this.__height = props.height || "inherit";
|
|
78
|
+
}
|
|
79
|
+
exportJSON() {
|
|
80
|
+
return {
|
|
81
|
+
id: this.__id,
|
|
82
|
+
src: this.getSrc(),
|
|
83
|
+
altText: this.getAltText(),
|
|
84
|
+
width: this.__width === "inherit" ? 0 : this.__width,
|
|
85
|
+
height: this.__height === "inherit" ? 0 : this.__height,
|
|
86
|
+
maxWidth: this.__maxWidth,
|
|
87
|
+
type: this.getType(),
|
|
88
|
+
version: 1
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
setWidthAndHeight(width, height) {
|
|
92
|
+
const writable = this.getWritable();
|
|
93
|
+
writable.__width = width;
|
|
94
|
+
writable.__height = height;
|
|
95
|
+
}
|
|
147
96
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
id: node.__id,
|
|
156
|
-
src: node.__src,
|
|
157
|
-
altText: node.__altText,
|
|
158
|
-
maxWidth: node.__maxWidth,
|
|
159
|
-
width: node.__width,
|
|
160
|
-
height: node.__height,
|
|
161
|
-
showCaption: node.__showCaption,
|
|
162
|
-
caption: node.__caption,
|
|
163
|
-
captionsEnabled: node.__captionsEnabled
|
|
164
|
-
}, node.__key);
|
|
165
|
-
}
|
|
166
|
-
}, {
|
|
167
|
-
key: "importJSON",
|
|
168
|
-
value: function importJSON(serializedNode) {
|
|
169
|
-
var id = serializedNode.id,
|
|
170
|
-
altText = serializedNode.altText,
|
|
171
|
-
height = serializedNode.height,
|
|
172
|
-
width = serializedNode.width,
|
|
173
|
-
maxWidth = serializedNode.maxWidth,
|
|
174
|
-
caption = serializedNode.caption,
|
|
175
|
-
src = serializedNode.src,
|
|
176
|
-
showCaption = serializedNode.showCaption;
|
|
177
|
-
var node = $createImageNode({
|
|
178
|
-
id: id,
|
|
179
|
-
altText: altText,
|
|
180
|
-
height: height,
|
|
181
|
-
maxWidth: maxWidth,
|
|
182
|
-
showCaption: showCaption,
|
|
183
|
-
src: src,
|
|
184
|
-
width: width
|
|
185
|
-
});
|
|
186
|
-
var nestedEditor = node.__caption;
|
|
187
|
-
var editorState = nestedEditor.parseEditorState(caption.editorState);
|
|
188
|
-
if (!editorState.isEmpty()) {
|
|
189
|
-
nestedEditor.setEditorState(editorState);
|
|
190
|
-
}
|
|
191
|
-
return node;
|
|
97
|
+
// View
|
|
98
|
+
createDOM(config) {
|
|
99
|
+
const span = document.createElement("span");
|
|
100
|
+
const theme = config.theme;
|
|
101
|
+
const className = theme.image;
|
|
102
|
+
if (className !== undefined) {
|
|
103
|
+
span.className = className;
|
|
192
104
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
105
|
+
return span;
|
|
106
|
+
}
|
|
107
|
+
updateDOM() {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
getSrc() {
|
|
111
|
+
return this.__src;
|
|
112
|
+
}
|
|
113
|
+
getAltText() {
|
|
114
|
+
return this.__altText;
|
|
115
|
+
}
|
|
116
|
+
decorate() {
|
|
117
|
+
return /*#__PURE__*/React.createElement(Suspense, {
|
|
118
|
+
fallback: null
|
|
119
|
+
}, /*#__PURE__*/React.createElement(ImageComponent, {
|
|
120
|
+
id: this.__id,
|
|
121
|
+
src: this.__src,
|
|
122
|
+
altText: this.__altText,
|
|
123
|
+
width: this.__width,
|
|
124
|
+
height: this.__height,
|
|
125
|
+
maxWidth: this.__maxWidth,
|
|
126
|
+
nodeKey: this.getKey(),
|
|
127
|
+
resizable: true
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
export function $createImageNode(props, key) {
|
|
132
|
+
return $applyNodeReplacement(new ImageNode(props, key));
|
|
207
133
|
}
|
|
208
|
-
function $isImageNode(node) {
|
|
134
|
+
export function $isImageNode(node) {
|
|
209
135
|
return node instanceof ImageNode;
|
|
210
136
|
}
|
|
211
137
|
|
package/ImageNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard3","require","_lexical","ImageComponent","React","lazy","Promise","resolve","then","_interopRequireWildcard2","default","ImageNode","exports","_DecoratorNode","props","key","_this","_classCallCheck2","_callSuper2","__id","id","__src","src","__altText","altText","__maxWidth","maxWidth","__width","width","__height","height","__showCaption","showCaption","__caption","caption","createEditor","__captionsEnabled","captionsEnabled","undefined","_inherits2","_createClass2","value","exportDOM","element","document","createElement","setAttribute","toString","exportJSON","getAltText","toJSON","getSrc","type","version","setWidthAndHeight","writable","getWritable","setShowCaption","createDOM","config","span","theme","className","image","updateDOM","decorate","Suspense","fallback","nodeKey","getKey","resizable","getType","clone","node","__key","importJSON","serializedNode","$createImageNode","nestedEditor","editorState","parseEditorState","isEmpty","setEditorState","importDOM","DecoratorNode","$applyNodeReplacement","$isImageNode"],"sources":["ImageNode.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nimport React, { Suspense } from \"react\";\nimport type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n LexicalEditor,\n LexicalNode,\n NodeKey,\n SerializedEditor,\n SerializedLexicalNode,\n Spread\n} from \"lexical\";\nimport { $applyNodeReplacement, createEditor, DecoratorNode } from \"lexical\";\n\nconst ImageComponent = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"LexicalNodesComponentsImageNodeImageComponent\" */\n \"./components/ImageNode/ImageComponent\"\n )\n);\n\nexport type SerializedImageNode = Spread<\n {\n id: string;\n altText: string;\n caption: SerializedEditor;\n height?: number;\n maxWidth: number;\n showCaption: boolean;\n src: string;\n width?: number;\n },\n SerializedLexicalNode\n>;\n\nexport interface ImageNodeProps {\n id: string;\n src: string;\n altText: string;\n maxWidth: number;\n width?: \"inherit\" | number;\n height?: \"inherit\" | number;\n showCaption?: boolean;\n caption?: LexicalEditor;\n captionsEnabled?: boolean;\n}\n\nexport class ImageNode extends DecoratorNode<JSX.Element> {\n __id: string;\n __src: string;\n __altText: string;\n __width: \"inherit\" | number;\n __height: \"inherit\" | number;\n __maxWidth: number;\n __showCaption: boolean;\n __caption: LexicalEditor;\n // Captions cannot yet be used within editor cells\n __captionsEnabled: boolean;\n\n static override getType(): string {\n return \"image\";\n }\n\n static override clone(node: ImageNode): ImageNode {\n return new ImageNode(\n {\n id: node.__id,\n src: node.__src,\n altText: node.__altText,\n maxWidth: node.__maxWidth,\n width: node.__width,\n height: node.__height,\n showCaption: node.__showCaption,\n caption: node.__caption,\n captionsEnabled: node.__captionsEnabled\n },\n node.__key\n );\n }\n\n static override importJSON(serializedNode: SerializedImageNode): ImageNode {\n const { id, altText, height, width, maxWidth, caption, src, showCaption } = serializedNode;\n const node = $createImageNode({\n id,\n altText,\n height,\n maxWidth,\n showCaption,\n src,\n width\n });\n const nestedEditor = node.__caption;\n const editorState = nestedEditor.parseEditorState(caption.editorState);\n if (!editorState.isEmpty()) {\n nestedEditor.setEditorState(editorState);\n }\n return node;\n }\n\n override exportDOM(): DOMExportOutput {\n const element = document.createElement(\"img\");\n element.setAttribute(\"id\", this.__id);\n element.setAttribute(\"src\", this.__src);\n element.setAttribute(\"alt\", this.__altText);\n element.setAttribute(\"width\", this.__width.toString());\n element.setAttribute(\"height\", this.__height.toString());\n return { element };\n }\n\n /**\n * Control how an HTMLElement is represented in Lexical.\n * DOM data comes from clipboard or parsing HTML to nodes with the available lexical functions.\n * (@see @lexical/html package: https://github.com/facebook/lexical/blob/main/packages/lexical-html/README.md).\n */\n static importDOM(): DOMConversionMap | null {\n /**\n * By returning 'null' value, we are preventing image node to be created.\n * Example of how to implement and create the node:\n * https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/nodes/ImageNode.tsx#L94\n */\n return null;\n }\n\n constructor(props: ImageNodeProps, key?: NodeKey) {\n super(key);\n this.__id = props.id;\n this.__src = props.src;\n this.__altText = props.altText;\n this.__maxWidth = props.maxWidth;\n this.__width = props.width || \"inherit\";\n this.__height = props.height || \"inherit\";\n this.__showCaption = props.showCaption || false;\n this.__caption = props.caption || createEditor();\n this.__captionsEnabled = props.captionsEnabled || props.captionsEnabled === undefined;\n }\n\n override exportJSON(): SerializedImageNode {\n return {\n id: this.__id,\n altText: this.getAltText(),\n caption: this.__caption.toJSON(),\n height: this.__height === \"inherit\" ? 0 : this.__height,\n maxWidth: this.__maxWidth,\n showCaption: this.__showCaption,\n src: this.getSrc(),\n type: \"image\",\n version: 1,\n width: this.__width === \"inherit\" ? 0 : this.__width\n };\n }\n\n setWidthAndHeight(width: \"inherit\" | number, height: \"inherit\" | number): void {\n const writable = this.getWritable();\n writable.__width = width;\n writable.__height = height;\n }\n\n setShowCaption(showCaption: boolean): void {\n const writable = this.getWritable();\n writable.__showCaption = showCaption;\n }\n\n // View\n override createDOM(config: EditorConfig): HTMLElement {\n const span = document.createElement(\"span\");\n const theme = config.theme;\n const className = theme.image;\n if (className !== undefined) {\n span.className = className;\n }\n return span;\n }\n\n override updateDOM(): false {\n return false;\n }\n\n getSrc(): string {\n return this.__src;\n }\n\n getAltText(): string {\n return this.__altText;\n }\n\n override decorate(): JSX.Element {\n return (\n <Suspense fallback={null}>\n <ImageComponent\n id={this.__id}\n src={this.__src}\n altText={this.__altText}\n width={this.__width}\n height={this.__height}\n maxWidth={this.__maxWidth}\n nodeKey={this.getKey()}\n showCaption={this.__showCaption}\n caption={this.__caption}\n captionsEnabled={this.__captionsEnabled}\n resizable={true}\n />\n </Suspense>\n );\n }\n}\n\nexport function $createImageNode(props: ImageNodeProps, key?: string): ImageNode {\n return $applyNodeReplacement(new ImageNode(props, key));\n}\n\nexport function $isImageNode(node: LexicalNode | null | undefined): node is ImageNode {\n return node instanceof ImageNode;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAOA,IAAAA,MAAA,GAAAC,wBAAA,CAAAC,OAAA;AAYA,IAAAC,QAAA,GAAAD,OAAA;AAnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA,IAAME,cAAc,gBAAGC,cAAK,CAACC,IAAI,CAC7B;EAAA,OAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA;IAAA,WAAAC,wBAAA,CAAAC,OAAA,EAAAT,OAAA,EAEQ;EAAA;AAAA,CAGZ,CAAC;AAAC,IA4BWU,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAAAE,cAAA;EA4ElB,SAAAF,UAAYG,KAAqB,EAAEC,GAAa,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAP,OAAA,QAAAC,SAAA;IAC9CK,KAAA,OAAAE,WAAA,CAAAR,OAAA,QAAAC,SAAA,GAAMI,GAAG;IACTC,KAAA,CAAKG,IAAI,GAAGL,KAAK,CAACM,EAAE;IACpBJ,KAAA,CAAKK,KAAK,GAAGP,KAAK,CAACQ,GAAG;IACtBN,KAAA,CAAKO,SAAS,GAAGT,KAAK,CAACU,OAAO;IAC9BR,KAAA,CAAKS,UAAU,GAAGX,KAAK,CAACY,QAAQ;IAChCV,KAAA,CAAKW,OAAO,GAAGb,KAAK,CAACc,KAAK,IAAI,SAAS;IACvCZ,KAAA,CAAKa,QAAQ,GAAGf,KAAK,CAACgB,MAAM,IAAI,SAAS;IACzCd,KAAA,CAAKe,aAAa,GAAGjB,KAAK,CAACkB,WAAW,IAAI,KAAK;IAC/ChB,KAAA,CAAKiB,SAAS,GAAGnB,KAAK,CAACoB,OAAO,IAAI,IAAAC,qBAAY,EAAC,CAAC;IAChDnB,KAAA,CAAKoB,iBAAiB,GAAGtB,KAAK,CAACuB,eAAe,IAAIvB,KAAK,CAACuB,eAAe,KAAKC,SAAS;IAAC,OAAAtB,KAAA;EAC1F;EAAC,IAAAuB,UAAA,CAAA7B,OAAA,EAAAC,SAAA,EAAAE,cAAA;EAAA,WAAA2B,aAAA,CAAA9B,OAAA,EAAAC,SAAA;IAAAI,GAAA;IAAA0B,KAAA,EAnCD,SAAAC,UAAA,EAAsC;MAClC,IAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;MAC7CF,OAAO,CAACG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC3B,IAAI,CAAC;MACrCwB,OAAO,CAACG,YAAY,CAAC,KAAK,EAAE,IAAI,CAACzB,KAAK,CAAC;MACvCsB,OAAO,CAACG,YAAY,CAAC,KAAK,EAAE,IAAI,CAACvB,SAAS,CAAC;MAC3CoB,OAAO,CAACG,YAAY,CAAC,OAAO,EAAE,IAAI,CAACnB,OAAO,CAACoB,QAAQ,CAAC,CAAC,CAAC;MACtDJ,OAAO,CAACG,YAAY,CAAC,QAAQ,EAAE,IAAI,CAACjB,QAAQ,CAACkB,QAAQ,CAAC,CAAC,CAAC;MACxD,OAAO;QAAEJ,OAAO,EAAPA;MAAQ,CAAC;IACtB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA5B,GAAA;IAAA0B,KAAA,EA2BA,SAAAO,WAAA,EAA2C;MACvC,OAAO;QACH5B,EAAE,EAAE,IAAI,CAACD,IAAI;QACbK,OAAO,EAAE,IAAI,CAACyB,UAAU,CAAC,CAAC;QAC1Bf,OAAO,EAAE,IAAI,CAACD,SAAS,CAACiB,MAAM,CAAC,CAAC;QAChCpB,MAAM,EAAE,IAAI,CAACD,QAAQ,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,CAACA,QAAQ;QACvDH,QAAQ,EAAE,IAAI,CAACD,UAAU;QACzBO,WAAW,EAAE,IAAI,CAACD,aAAa;QAC/BT,GAAG,EAAE,IAAI,CAAC6B,MAAM,CAAC,CAAC;QAClBC,IAAI,EAAE,OAAO;QACbC,OAAO,EAAE,CAAC;QACVzB,KAAK,EAAE,IAAI,CAACD,OAAO,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,CAACA;MACjD,CAAC;IACL;EAAC;IAAAZ,GAAA;IAAA0B,KAAA,EAED,SAAAa,kBAAkB1B,KAAyB,EAAEE,MAA0B,EAAQ;MAC3E,IAAMyB,QAAQ,GAAG,IAAI,CAACC,WAAW,CAAC,CAAC;MACnCD,QAAQ,CAAC5B,OAAO,GAAGC,KAAK;MACxB2B,QAAQ,CAAC1B,QAAQ,GAAGC,MAAM;IAC9B;EAAC;IAAAf,GAAA;IAAA0B,KAAA,EAED,SAAAgB,eAAezB,WAAoB,EAAQ;MACvC,IAAMuB,QAAQ,GAAG,IAAI,CAACC,WAAW,CAAC,CAAC;MACnCD,QAAQ,CAACxB,aAAa,GAAGC,WAAW;IACxC;;IAEA;EAAA;IAAAjB,GAAA;IAAA0B,KAAA,EACA,SAAAiB,UAAmBC,MAAoB,EAAe;MAClD,IAAMC,IAAI,GAAGhB,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;MAC3C,IAAMgB,KAAK,GAAGF,MAAM,CAACE,KAAK;MAC1B,IAAMC,SAAS,GAAGD,KAAK,CAACE,KAAK;MAC7B,IAAID,SAAS,KAAKxB,SAAS,EAAE;QACzBsB,IAAI,CAACE,SAAS,GAAGA,SAAS;MAC9B;MACA,OAAOF,IAAI;IACf;EAAC;IAAA7C,GAAA;IAAA0B,KAAA,EAED,SAAAuB,UAAA,EAA4B;MACxB,OAAO,KAAK;IAChB;EAAC;IAAAjD,GAAA;IAAA0B,KAAA,EAED,SAAAU,OAAA,EAAiB;MACb,OAAO,IAAI,CAAC9B,KAAK;IACrB;EAAC;IAAAN,GAAA;IAAA0B,KAAA,EAED,SAAAQ,WAAA,EAAqB;MACjB,OAAO,IAAI,CAAC1B,SAAS;IACzB;EAAC;IAAAR,GAAA;IAAA0B,KAAA,EAED,SAAAwB,SAAA,EAAiC;MAC7B,oBACIlE,MAAA,CAAAW,OAAA,CAAAmC,aAAA,CAAC9C,MAAA,CAAAmE,QAAQ;QAACC,QAAQ,EAAE;MAAK,gBACrBpE,MAAA,CAAAW,OAAA,CAAAmC,aAAA,CAAC1C,cAAc;QACXiB,EAAE,EAAE,IAAI,CAACD,IAAK;QACdG,GAAG,EAAE,IAAI,CAACD,KAAM;QAChBG,OAAO,EAAE,IAAI,CAACD,SAAU;QACxBK,KAAK,EAAE,IAAI,CAACD,OAAQ;QACpBG,MAAM,EAAE,IAAI,CAACD,QAAS;QACtBH,QAAQ,EAAE,IAAI,CAACD,UAAW;QAC1B2C,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC,CAAE;QACvBrC,WAAW,EAAE,IAAI,CAACD,aAAc;QAChCG,OAAO,EAAE,IAAI,CAACD,SAAU;QACxBI,eAAe,EAAE,IAAI,CAACD,iBAAkB;QACxCkC,SAAS,EAAE;MAAK,CACnB,CACK,CAAC;IAEnB;EAAC;IAAAvD,GAAA;IAAA0B,KAAA;IAnJD;;IAGA,SAAA8B,QAAA,EAAkC;MAC9B,OAAO,OAAO;IAClB;EAAC;IAAAxD,GAAA;IAAA0B,KAAA,EAED,SAAA+B,MAAsBC,IAAe,EAAa;MAC9C,OAAO,IAAI9D,SAAS,CAChB;QACIS,EAAE,EAAEqD,IAAI,CAACtD,IAAI;QACbG,GAAG,EAAEmD,IAAI,CAACpD,KAAK;QACfG,OAAO,EAAEiD,IAAI,CAAClD,SAAS;QACvBG,QAAQ,EAAE+C,IAAI,CAAChD,UAAU;QACzBG,KAAK,EAAE6C,IAAI,CAAC9C,OAAO;QACnBG,MAAM,EAAE2C,IAAI,CAAC5C,QAAQ;QACrBG,WAAW,EAAEyC,IAAI,CAAC1C,aAAa;QAC/BG,OAAO,EAAEuC,IAAI,CAACxC,SAAS;QACvBI,eAAe,EAAEoC,IAAI,CAACrC;MAC1B,CAAC,EACDqC,IAAI,CAACC,KACT,CAAC;IACL;EAAC;IAAA3D,GAAA;IAAA0B,KAAA,EAED,SAAAkC,WAA2BC,cAAmC,EAAa;MACvE,IAAQxD,EAAE,GAAkEwD,cAAc,CAAlFxD,EAAE;QAAEI,OAAO,GAAyDoD,cAAc,CAA9EpD,OAAO;QAAEM,MAAM,GAAiD8C,cAAc,CAArE9C,MAAM;QAAEF,KAAK,GAA0CgD,cAAc,CAA7DhD,KAAK;QAAEF,QAAQ,GAAgCkD,cAAc,CAAtDlD,QAAQ;QAAEQ,OAAO,GAAuB0C,cAAc,CAA5C1C,OAAO;QAAEZ,GAAG,GAAkBsD,cAAc,CAAnCtD,GAAG;QAAEU,WAAW,GAAK4C,cAAc,CAA9B5C,WAAW;MACvE,IAAMyC,IAAI,GAAGI,gBAAgB,CAAC;QAC1BzD,EAAE,EAAFA,EAAE;QACFI,OAAO,EAAPA,OAAO;QACPM,MAAM,EAANA,MAAM;QACNJ,QAAQ,EAARA,QAAQ;QACRM,WAAW,EAAXA,WAAW;QACXV,GAAG,EAAHA,GAAG;QACHM,KAAK,EAALA;MACJ,CAAC,CAAC;MACF,IAAMkD,YAAY,GAAGL,IAAI,CAACxC,SAAS;MACnC,IAAM8C,WAAW,GAAGD,YAAY,CAACE,gBAAgB,CAAC9C,OAAO,CAAC6C,WAAW,CAAC;MACtE,IAAI,CAACA,WAAW,CAACE,OAAO,CAAC,CAAC,EAAE;QACxBH,YAAY,CAACI,cAAc,CAACH,WAAW,CAAC;MAC5C;MACA,OAAON,IAAI;IACf;EAAC;IAAA1D,GAAA;IAAA0B,KAAA,EAiBD,SAAA0C,UAAA,EAA4C;MACxC;AACR;AACA;AACA;AACA;MACQ,OAAO,IAAI;IACf;EAAC;AAAA,EA1E0BC,sBAAa;AA+JrC,SAASP,gBAAgBA,CAAC/D,KAAqB,EAAEC,GAAY,EAAa;EAC7E,OAAO,IAAAsE,8BAAqB,EAAC,IAAI1E,SAAS,CAACG,KAAK,EAAEC,GAAG,CAAC,CAAC;AAC3D;AAEO,SAASuE,YAAYA,CAACb,IAAoC,EAAqB;EAClF,OAAOA,IAAI,YAAY9D,SAAS;AACpC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Suspense","$applyNodeReplacement","DecoratorNode","ImageComponent","lazy","ImageNode","getType","clone","node","id","__id","src","__src","altText","__altText","maxWidth","__maxWidth","width","__width","height","__height","__key","importJSON","serializedNode","$createImageNode","exportDOM","element","document","createElement","setAttribute","toString","importDOM","constructor","props","key","exportJSON","getSrc","getAltText","type","version","setWidthAndHeight","writable","getWritable","createDOM","config","span","theme","className","image","undefined","updateDOM","decorate","fallback","nodeKey","getKey","resizable","$isImageNode"],"sources":["ImageNode.tsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nimport React, { Suspense } from \"react\";\nimport type {\n DOMConversionMap,\n DOMExportOutput,\n EditorConfig,\n LexicalNode,\n NodeKey,\n SerializedLexicalNode,\n Spread\n} from \"lexical\";\nimport { $applyNodeReplacement, DecoratorNode } from \"lexical\";\n\nconst ImageComponent = React.lazy(() => {\n return import(\n /* webpackChunkName: \"lexical-image\" */\n \"./components/ImageNode/ImageComponent.js\"\n );\n});\n\nexport type SerializedImageNode = Spread<\n {\n id: string;\n altText: string;\n height?: number;\n maxWidth: number;\n src: string;\n width?: number;\n },\n SerializedLexicalNode\n>;\n\nexport interface ImageNodeProps {\n id: string;\n src: string;\n altText: string;\n maxWidth: number;\n width?: \"inherit\" | number;\n height?: \"inherit\" | number;\n}\n\nexport class ImageNode extends DecoratorNode<JSX.Element> {\n __id: string;\n __src: string;\n __altText: string;\n __width: \"inherit\" | number;\n __height: \"inherit\" | number;\n __maxWidth: number;\n\n static override getType(): string {\n return \"wby-image\";\n }\n\n static override clone(node: ImageNode): ImageNode {\n return new ImageNode(\n {\n id: node.__id,\n src: node.__src,\n altText: node.__altText,\n maxWidth: node.__maxWidth,\n width: node.__width,\n height: node.__height\n },\n node.__key\n );\n }\n\n static override importJSON(serializedNode: SerializedImageNode): ImageNode {\n const { id, altText, height, width, maxWidth, src } = serializedNode;\n return $createImageNode({\n id,\n altText,\n height,\n maxWidth,\n src,\n width\n });\n }\n\n override exportDOM(): DOMExportOutput {\n const element = document.createElement(\"img\");\n element.setAttribute(\"id\", this.__id);\n element.setAttribute(\"src\", this.__src);\n element.setAttribute(\"alt\", this.__altText);\n element.setAttribute(\"width\", this.__width.toString());\n element.setAttribute(\"height\", this.__height.toString());\n return { element };\n }\n\n /**\n * Control how an HTMLElement is represented in Lexical.\n * DOM data comes from clipboard or parsing HTML to nodes with the available lexical functions.\n * (@see @lexical/html package: https://github.com/facebook/lexical/blob/main/packages/lexical-html/README.md).\n */\n static override importDOM(): DOMConversionMap | null {\n /**\n * By returning 'null' value, we are preventing image node to be created.\n * Example of how to implement and create the node:\n * https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/nodes/ImageNode.tsx#L94\n */\n return null;\n }\n\n constructor(props: ImageNodeProps, key?: NodeKey) {\n super(key);\n this.__id = props.id;\n this.__src = props.src;\n this.__altText = props.altText;\n this.__maxWidth = props.maxWidth;\n this.__width = props.width || \"inherit\";\n this.__height = props.height || \"inherit\";\n }\n\n override exportJSON(): SerializedImageNode {\n return {\n id: this.__id,\n src: this.getSrc(),\n altText: this.getAltText(),\n width: this.__width === \"inherit\" ? 0 : this.__width,\n height: this.__height === \"inherit\" ? 0 : this.__height,\n maxWidth: this.__maxWidth,\n type: this.getType(),\n version: 1\n };\n }\n\n setWidthAndHeight(width: \"inherit\" | number, height: \"inherit\" | number): void {\n const writable = this.getWritable();\n writable.__width = width;\n writable.__height = height;\n }\n\n // View\n override createDOM(config: EditorConfig): HTMLElement {\n const span = document.createElement(\"span\");\n const theme = config.theme;\n const className = theme.image;\n if (className !== undefined) {\n span.className = className;\n }\n return span;\n }\n\n override updateDOM(): false {\n return false;\n }\n\n getSrc(): string {\n return this.__src;\n }\n\n getAltText(): string {\n return this.__altText;\n }\n\n override decorate(): JSX.Element {\n return (\n <Suspense fallback={null}>\n <ImageComponent\n id={this.__id}\n src={this.__src}\n altText={this.__altText}\n width={this.__width}\n height={this.__height}\n maxWidth={this.__maxWidth}\n nodeKey={this.getKey()}\n resizable={true}\n />\n </Suspense>\n );\n }\n}\n\nexport function $createImageNode(props: ImageNodeProps, key?: string): ImageNode {\n return $applyNodeReplacement(new ImageNode(props, key));\n}\n\nexport function $isImageNode(node: LexicalNode | null | undefined): node is ImageNode {\n return node instanceof ImageNode;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/LinkNode.d.ts
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
-
import type { DOMConversionMap, EditorConfig,
|
|
10
|
-
import { ElementNode
|
|
11
|
-
export
|
|
9
|
+
import type { DOMConversionMap, EditorConfig, RangeSelection, LexicalCommand, LexicalNode, NodeKey, SerializedElementNode, Spread } from "lexical";
|
|
10
|
+
import { ElementNode } from "lexical";
|
|
11
|
+
export type LinkAttributes = {
|
|
12
12
|
rel?: null | string;
|
|
13
13
|
target?: null | string;
|
|
14
14
|
title?: null | string;
|
|
@@ -19,7 +19,7 @@ declare global {
|
|
|
19
19
|
alt?: string;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
export
|
|
22
|
+
export type SerializedLinkNode = Spread<{
|
|
23
23
|
url: string;
|
|
24
24
|
}, Spread<LinkAttributes, SerializedElementNode>>;
|
|
25
25
|
/** @noInheritDoc */
|
|
@@ -58,7 +58,7 @@ export declare class LinkNode extends ElementNode {
|
|
|
58
58
|
canInsertTextAfter(): false;
|
|
59
59
|
canBeEmpty(): false;
|
|
60
60
|
isInline(): true;
|
|
61
|
-
extractWithChild(_: LexicalNode, selection: RangeSelection
|
|
61
|
+
extractWithChild(_: LexicalNode, selection: RangeSelection): boolean;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Takes a URL and creates a LinkNode.
|
|
@@ -73,7 +73,7 @@ export declare function $createLinkNode(url: string, attributes?: LinkAttributes
|
|
|
73
73
|
* @returns true if node is a LinkNode, false otherwise.
|
|
74
74
|
*/
|
|
75
75
|
export declare function $isLinkNode(node: LexicalNode | null | undefined): node is LinkNode;
|
|
76
|
-
export
|
|
76
|
+
export type SerializedAutoLinkNode = SerializedLinkNode;
|
|
77
77
|
export declare class AutoLinkNode extends LinkNode {
|
|
78
78
|
static getType(): string;
|
|
79
79
|
static clone(node: AutoLinkNode): AutoLinkNode;
|