@lexical/list 0.2.3 → 0.2.4
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/LexicalList.d.ts +2 -2
- package/LexicalList.dev.js +4 -2
- package/LexicalList.prod.js +22 -22
- package/package.json +3 -3
package/LexicalList.d.ts
CHANGED
|
@@ -20,8 +20,8 @@ export function $createListItemNode(): ListItemNode;
|
|
|
20
20
|
export function $createListNode(tag: ListNodeTagType, start?: number): ListNode;
|
|
21
21
|
export function $getListDepth(listNode: ListNode): number;
|
|
22
22
|
export function $handleListInsertParagraph(): boolean;
|
|
23
|
-
export function $isListItemNode(node?: LexicalNode):
|
|
24
|
-
export function $isListNode(node?: LexicalNode):
|
|
23
|
+
export function $isListItemNode(node?: LexicalNode): node is ListItemNode;
|
|
24
|
+
export function $isListNode(node?: LexicalNode): node is ListNode;
|
|
25
25
|
export function indentList(): boolean;
|
|
26
26
|
export function insertList(editor: LexicalEditor, listType: 'ul' | 'ol'): void;
|
|
27
27
|
export declare class ListItemNode extends ElementNode {
|
package/LexicalList.dev.js
CHANGED
|
@@ -285,8 +285,9 @@ function removeList(editor) {
|
|
|
285
285
|
}
|
|
286
286
|
function $handleIndent(listItemNodes) {
|
|
287
287
|
// go through each node and decide where to move it.
|
|
288
|
+
const removed = new Set();
|
|
288
289
|
listItemNodes.forEach(listItemNode => {
|
|
289
|
-
if (isNestedListNode(listItemNode)) {
|
|
290
|
+
if (isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
290
291
|
return;
|
|
291
292
|
}
|
|
292
293
|
|
|
@@ -304,7 +305,8 @@ function $handleIndent(listItemNodes) {
|
|
|
304
305
|
if ($isListNode(nextInnerList)) {
|
|
305
306
|
const children = nextInnerList.getChildren();
|
|
306
307
|
innerList.append(...children);
|
|
307
|
-
|
|
308
|
+
nextSibling.remove();
|
|
309
|
+
removed.add(nextSibling.getKey());
|
|
308
310
|
}
|
|
309
311
|
|
|
310
312
|
innerList.getChildren().forEach(child => child.markDirty());
|
package/LexicalList.prod.js
CHANGED
|
@@ -4,25 +4,25 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
var h=require("lexical"),k=require("@lexical/utils");function
|
|
8
|
-
function u(
|
|
9
|
-
function y(b
|
|
10
|
-
function C(
|
|
11
|
-
A(),
|
|
12
|
-
function D(
|
|
13
|
-
n.markDirty());e.getChildren().forEach(n=>n.markDirty())}}})}function E(
|
|
14
|
-
class F extends h.ElementNode{static getType(){return"listitem"}static clone(
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
"element"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,"element"),"element"===
|
|
18
|
-
q(
|
|
19
|
-
function H(b,
|
|
20
|
-
class J extends h.ElementNode{static getType(){return"list"}static clone(
|
|
21
|
-
priority:0}),ul:()=>({conversion:L,priority:0})}}canBeEmpty(){return!1}append(...
|
|
22
|
-
function K(b,
|
|
23
|
-
function L(
|
|
24
|
-
exports.$handleListInsertParagraph=function(){var
|
|
25
|
-
|
|
26
|
-
exports.insertList=function(b
|
|
27
|
-
B(
|
|
28
|
-
exports.removeList=function(
|
|
7
|
+
var h=require("lexical"),k=require("@lexical/utils");function m(a){throw Error(`Minified Lexical error #${a}; see codes.json for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}function p(a){let b=1;for(a=a.getParent();null!=a;){if(q(a)){a=a.getParent();if(r(a)){b++;a=a.getParent();continue}m(2)}break}return b}function t(a){a=a.getParent();r(a)||m(2);let b=a;for(;null!==b;)b=b.getParent(),r(b)&&(a=b);return a}
|
|
8
|
+
function u(a){let b=[];a=a.getChildren().filter(q);for(let c=0;c<a.length;c++){const d=a[c],e=d.getFirstChild();r(e)?b=b.concat(u(e)):b.push(d)}return b}function v(a){return q(a)&&r(a.getFirstChild())}function x(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){const b=a.getParent();if(null==b||!q(a)&&!r(a))break;a=b}a.remove()}
|
|
9
|
+
function y(a,b){if(r(a))return a;const c=a.getPreviousSibling(),d=a.getNextSibling(),e=A();if(r(c)&&b===c.getTag())return e.append(a),c.append(e),r(d)&&b===d.getTag()&&(c.append(...d.getChildren()),d.remove()),c;if(r(d)&&b===d.getTag())return e.append(a),d.getFirstChildOrThrow().insertBefore(e),d;b=B(b);b.append(e);a.replace(b);e.append(a);return b}
|
|
10
|
+
function C(a){const b=new Set;a.forEach(c=>{if(!v(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(v(e)&&v(f))f=f.getFirstChild(),r(f)&&(f.append(c),c=e.getFirstChild(),r(c)&&(c=c.getChildren(),f.append(...c),e.remove(),b.add(e.getKey())),f.getChildren().forEach(g=>g.markDirty()));else if(v(e))e=e.getFirstChild(),r(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),e.getChildren().forEach(g=>g.markDirty()));else if(v(f))e=f.getFirstChild(),r(e)&&(e.append(c),
|
|
11
|
+
e.getChildren().forEach(g=>g.markDirty()));else if(r(d)){const g=A(),l=B(d.getTag());g.append(l);l.append(c);f?f.insertAfter(g):e?e.insertBefore(g):d.append(g)}r(d)&&d.getChildren().forEach(g=>g.markDirty())}})}
|
|
12
|
+
function D(a){a.forEach(b=>{if(!v(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(r(e)&&q(d)&&r(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var l=c.getTag();f=A();const n=B(l);f.append(n);b.getPreviousSiblings().forEach(w=>n.append(w));g=A();l=B(l);g.append(l);l.append(...b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}c.getChildren().forEach(n=>
|
|
13
|
+
n.markDirty());e.getChildren().forEach(n=>n.markDirty())}}})}function E(a){var b=h.$getSelection();if(!h.$isRangeSelection(b))return!1;var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(q(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){const e=c[b];q(e)&&d.add(e)}d=Array.from(d)}return 0<d.length?("indent"===a?C(d):D(d),!0):!1}
|
|
14
|
+
class F extends h.ElementNode{static getType(){return"listitem"}static clone(a){return new F(a.__key)}constructor(a){super(a)}createDOM(a){const b=document.createElement("li");b.value=G(this);H(b,a.theme,this);return b}updateDOM(a,b,c){b.value=G(this);H(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:I,priority:0})}}append(...a){for(let b=0;b<a.length;b++){const c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){const d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(q(a))return super.replace(a);
|
|
15
|
+
const b=this.getParentOrThrow();if(r(b)){var c=b.__children;const e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=B(b.getTag());const f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getNextSiblings();if(q(a))return b.forEach(d=>d.markDirty()),super.insertAfter(a);var c=this.getParentOrThrow();r(c)||m(1);if(r(a)&&a.getTag()===c.getTag()){b=
|
|
16
|
+
a;a=a.getChildren();for(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}c.insertAfter(a);if(0!==b.length){const d=B(c.getTag());b.forEach(e=>d.append(e));a.insertAfter(d)}return a}insertNewAfter(){const a=A();this.insertAfter(a);return a}collapseAtStart(a){const b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();const e=q(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),
|
|
17
|
+
"element"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,"element"),"element"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,"element")):(c.insertBefore(b),this.remove());return!0}getIndent(){let a=this.getParentOrThrow().getParentOrThrow(),b=0;for(;q(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(C([this]),b++):(D([this]),b--);return this}insertBefore(a){const b=this.getNextSiblings();q(a)&&b.forEach(c=>c.markDirty());return super.insertBefore(a)}canInsertAfter(a){return q(a)}canReplaceWith(a){return q(a)}canMergeWith(a){return h.$isParagraphNode(a)||
|
|
18
|
+
q(a)}}function G(a){var b=a.getParent();let c=1;null!=b&&(r(b)?c=b.getStart():m(47));a=a.getPreviousSiblings();for(b=0;b<a.length;b++){const d=a[b];q(d)&&!r(d.getFirstChild())&&c++}return c}
|
|
19
|
+
function H(a,b,c){const d=[],e=[],f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(b=f.split(" "),d.push(...b));void 0!==g&&(g=g.split(" "),c.getChildren().some(l=>r(l))?d.push(...g):e.push(...g));0<d.length&&k.addClassNamesToElement(a,...d);0<e.length&&k.removeClassNamesFromElement(a,...e)}function I(){return{node:A()}}function A(){return new F}function q(a){return a instanceof F}
|
|
20
|
+
class J extends h.ElementNode{static getType(){return"list"}static clone(a){return new J(a.__tag,a.__start,a.__key)}constructor(a,b,c){super(c);this.__tag=a;this.__start=b}getTag(){return this.__tag}getStart(){return this.__start}createDOM(a){const b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute("start",String(this.__start));K(b,a.theme,this);return b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;K(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:L,
|
|
21
|
+
priority:0}),ul:()=>({conversion:L,priority:0})}}canBeEmpty(){return!1}append(...a){for(let c=0;c<a.length;c++){var b=a[c];if(q(b))super.append(b);else{const d=A();r(b)?d.append(b):(b=h.$createTextNode(b.getTextContent()),d.append(b));super.append(d)}}return this}}
|
|
22
|
+
function K(a,b,c){const d=[],e=[];var f=b.list;if(void 0!==f){const l=f[c.__tag+"Depth"]||[];b=p(c)-1;const n=b%l.length;var g=l[n];const w=f[c.__tag];let z;f=f.nested;void 0!==f&&f.list&&(z=f.list);void 0!==w&&d.push(w);if(void 0!==g)for(g=g.split(" "),d.push(...g),g=0;g<l.length;g++)g!==n&&e.push(c.__tag+g);void 0!==z&&(c=z.split(" "),1<b?d.push(...c):e.push(...c))}0<d.length&&k.addClassNamesToElement(a,...d);0<e.length&&k.removeClassNamesFromElement(a,...e)}
|
|
23
|
+
function L(a){a=a.nodeName.toLowerCase();let b=null;if("ol"===a||"ul"===a)b=B(a);return{node:b}}function B(a,b=1){return new J(a,b)}function r(a){return a instanceof J}const M=h.createCommand(),N=h.createCommand(),O=h.createCommand();exports.$createListItemNode=A;exports.$createListNode=B;exports.$getListDepth=p;
|
|
24
|
+
exports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!q(a)||""!==a.getTextContent())return!1;var b=t(a),c=a.getParent();r(c)||m(2);const d=c.getParent();let e;if(h.$isRootNode(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(q(d))e=A(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){const f=B(c.getTag());h.$isParagraphNode(e)?e.insertAfter(f):(c=A(),c.append(f),e.insertAfter(c));
|
|
25
|
+
b.forEach(g=>{g.remove();f.append(g)})}x(a);return!0};exports.$isListItemNode=q;exports.$isListNode=r;exports.INSERT_ORDERED_LIST_COMMAND=N;exports.INSERT_UNORDERED_LIST_COMMAND=M;exports.ListItemNode=F;exports.ListNode=J;exports.REMOVE_LIST_COMMAND=O;exports.indentList=function(){return E("indent")};
|
|
26
|
+
exports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(0===d.length)d=B(b),h.$isRootNode(e)?(c.replace(d),c=A(),d.append(c)):q(c)&&(c=c.getParentOrThrow(),d.append(...c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))y(f,b);else if(h.$isLeafNode(f))for(f=f.getParent();null!=f;){const l=f.getKey();if(r(f)){if(!c.has(l)){var g=
|
|
27
|
+
B(b);g.append(...f.getChildren());f.replace(g);c.add(l)}break}else{g=f.getParent();if(h.$isRootNode(g)&&!c.has(l)){c.add(l);y(f,b);break}f=g}}}}})};exports.outdentList=function(){return E("outdent")};
|
|
28
|
+
exports.removeList=function(a){a.update(()=>{var b=h.$getSelection();if(h.$isRangeSelection(b)){const d=new Set,e=b.getNodes();b=b.anchor.getNode();if(0===e.length&&q(b))d.add(t(b));else for(b=0;b<e.length;b++){var c=e[b];h.$isLeafNode(c)&&(c=k.$getNearestNodeOfType(c,F),null!=c&&d.add(t(c)))}d.forEach(f=>{let g=f;u(f).forEach(l=>{if(null!=l){const n=h.$createParagraphNode();n.append(...l.getChildren());g.insertAfter(n);g=n;l.remove()}});f.remove()})}})};
|
package/package.json
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"list"
|
|
9
9
|
],
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"version": "0.2.
|
|
11
|
+
"version": "0.2.4",
|
|
12
12
|
"main": "LexicalList.js",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"lexical": "0.2.
|
|
14
|
+
"lexical": "0.2.4"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@lexical/utils": "0.2.
|
|
17
|
+
"@lexical/utils": "0.2.4"
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|