@lexical/utils 0.4.1 → 0.5.1-next.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/LexicalUtils.dev.js +12 -4
- package/LexicalUtils.js.flow +6 -1
- package/LexicalUtils.prod.js +7 -7
- package/index.d.ts +2 -1
- package/package.json +4 -4
package/LexicalUtils.dev.js
CHANGED
|
@@ -12,7 +12,8 @@ var lexical = require('lexical');
|
|
|
12
12
|
function addClassNamesToElement(element, ...classNames) {
|
|
13
13
|
classNames.forEach(className => {
|
|
14
14
|
if (typeof className === 'string') {
|
|
15
|
-
|
|
15
|
+
const classesToAdd = className.split(' ').filter(n => n !== '');
|
|
16
|
+
element.classList.add(...classesToAdd);
|
|
16
17
|
}
|
|
17
18
|
});
|
|
18
19
|
}
|
|
@@ -316,13 +317,13 @@ function $restoreEditorState(editor, editorState) {
|
|
|
316
317
|
const selection = editorState._selection;
|
|
317
318
|
lexical.$setSelection(selection === null ? null : selection.clone());
|
|
318
319
|
}
|
|
319
|
-
function $
|
|
320
|
+
function $insertNodeToNearestRoot(node) {
|
|
320
321
|
const selection = lexical.$getSelection();
|
|
321
322
|
|
|
322
323
|
if (lexical.$isRangeSelection(selection)) {
|
|
323
324
|
const focusNode = selection.focus.getNode();
|
|
324
325
|
focusNode.getTopLevelElementOrThrow().insertAfter(node);
|
|
325
|
-
} else if (lexical.$isNodeSelection(selection) || lexical
|
|
326
|
+
} else if (lexical.$isNodeSelection(selection) || lexical.DEPRECATED_$isGridSelection(selection)) {
|
|
326
327
|
const nodes = selection.getNodes();
|
|
327
328
|
nodes[nodes.length - 1].getTopLevelElementOrThrow().insertAfter(node);
|
|
328
329
|
} else {
|
|
@@ -335,13 +336,20 @@ function $insertBlockNode(node) {
|
|
|
335
336
|
paragraphNode.select();
|
|
336
337
|
return node.getLatest();
|
|
337
338
|
}
|
|
339
|
+
function $wrapNodeInElement(node, createElementNode) {
|
|
340
|
+
const elementNode = createElementNode();
|
|
341
|
+
node.replace(elementNode);
|
|
342
|
+
elementNode.append(node);
|
|
343
|
+
return elementNode;
|
|
344
|
+
}
|
|
338
345
|
|
|
339
346
|
exports.$dfs = $dfs;
|
|
340
347
|
exports.$findMatchingParent = $findMatchingParent;
|
|
341
348
|
exports.$getNearestBlockElementAncestorOrThrow = $getNearestBlockElementAncestorOrThrow;
|
|
342
349
|
exports.$getNearestNodeOfType = $getNearestNodeOfType;
|
|
343
|
-
exports.$
|
|
350
|
+
exports.$insertNodeToNearestRoot = $insertNodeToNearestRoot;
|
|
344
351
|
exports.$restoreEditorState = $restoreEditorState;
|
|
352
|
+
exports.$wrapNodeInElement = $wrapNodeInElement;
|
|
345
353
|
exports.addClassNamesToElement = addClassNamesToElement;
|
|
346
354
|
exports.mergeRegister = mergeRegister;
|
|
347
355
|
exports.registerNestedElementResolver = registerNestedElementResolver;
|
package/LexicalUtils.js.flow
CHANGED
|
@@ -64,4 +64,9 @@ declare export function $restoreEditorState(
|
|
|
64
64
|
editorState: EditorState,
|
|
65
65
|
): void;
|
|
66
66
|
|
|
67
|
-
declare export function $
|
|
67
|
+
declare export function $insertNodeToNearestRoot<T: LexicalNode>(node: T): T;
|
|
68
|
+
|
|
69
|
+
declare export function $wrapNodeInElement(
|
|
70
|
+
node: LexicalNode,
|
|
71
|
+
createElementNode: () => ElementNode,
|
|
72
|
+
): ElementNode;
|
package/LexicalUtils.prod.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
'use strict';var l=require("lexical");function n(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}function p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}
|
|
8
|
-
function q(a,b,
|
|
8
|
+
function q(a,b,d,f,e){var c=d._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&"object"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=d._nodes;g._parentEditor=d._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;e._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,d,h,e).__key,c.__children.push(g));
|
|
9
9
|
c.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}
|
|
10
|
-
function t(a,b){let
|
|
11
|
-
exports.$dfs=function(a,b){let
|
|
10
|
+
function t(a,b){let d=b._editorState.constructor,f=new Map,e=new d(f),c=new Map(a._nodeMap),h=c.get("root");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,e)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}e._readOnly=!0;return e}function r(a,b){b="string"===typeof b?JSON.parse(b):b;return t(b,a)}
|
|
11
|
+
exports.$dfs=function(a,b){let d=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,e=0;null!==(f=f.getParent());)e++;for(f=e;null!==a&&!a.is(b);)if(d.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(e=null;null===e&&null!==a;)e=a.getNextSibling(),null===e?(a=a.getParent(),f--):a=e;null!==a&&a.is(b)&&d.push({depth:f,node:a});return d};exports.$findMatchingParent=p;
|
|
12
12
|
exports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};
|
|
13
|
-
exports.$
|
|
14
|
-
exports.$restoreEditorState=function(a,b){let
|
|
15
|
-
exports.registerNestedElementResolver=function(a,b,
|
|
16
|
-
exports.removeClassNamesFromElement=function(a,...b){b.forEach(
|
|
13
|
+
exports.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.DEPRECATED_$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a);b=l.$createParagraphNode();a.insertAfter(b);b.select();return a.getLatest()};
|
|
14
|
+
exports.$restoreEditorState=function(a,b){let d=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=d);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(d=>{"string"===typeof d&&(d=d.split(" ").filter(f=>""!==f),a.classList.add(...d))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};
|
|
15
|
+
exports.registerNestedElementResolver=function(a,b,d,f){return a.registerNodeTransform(b,e=>{a:{var c=e.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=e;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(e)){f(g,e);e=k.getNextSiblings();c=e.length;g.insertAfter(k);if(0!==c){h=d(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(e[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};
|
|
16
|
+
exports.removeClassNamesFromElement=function(a,...b){b.forEach(d=>{"string"===typeof d&&a.classList.remove(...d.split(" "))})};exports.unstable_convertLegacyJSONEditorState=r
|
package/index.d.ts
CHANGED
|
@@ -24,5 +24,6 @@ export declare function mergeRegister(...func: Array<Func>): () => void;
|
|
|
24
24
|
export declare function registerNestedElementResolver<N extends ElementNode>(editor: LexicalEditor, targetNode: Klass<N>, cloneNode: (from: N) => N, handleOverlap: (from: N, to: N) => void): () => void;
|
|
25
25
|
export declare function unstable_convertLegacyJSONEditorState(editor: LexicalEditor, maybeStringifiedEditorState: string): EditorState;
|
|
26
26
|
export declare function $restoreEditorState(editor: LexicalEditor, editorState: EditorState): void;
|
|
27
|
-
export declare function $
|
|
27
|
+
export declare function $insertNodeToNearestRoot<T extends LexicalNode>(node: T): T;
|
|
28
|
+
export declare function $wrapNodeInElement(node: LexicalNode, createElementNode: () => ElementNode): ElementNode;
|
|
28
29
|
export {};
|
package/package.json
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"utils"
|
|
9
9
|
],
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.1-next.0",
|
|
12
12
|
"main": "LexicalUtils.js",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"lexical": "0.
|
|
14
|
+
"lexical": "0.5.1-next.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@lexical/list": "0.
|
|
18
|
-
"@lexical/table": "0.
|
|
17
|
+
"@lexical/list": "0.5.1-next.0",
|
|
18
|
+
"@lexical/table": "0.5.1-next.0"
|
|
19
19
|
},
|
|
20
20
|
"repository": {
|
|
21
21
|
"type": "git",
|