@lexical/list 0.6.4 → 0.7.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.
@@ -695,7 +695,7 @@ class ListItemNode extends lexical.ElementNode {
695
695
  const list = this.getParentOrThrow();
696
696
 
697
697
  if ($isListNode(list)) {
698
- const childrenKeys = list.__children;
698
+ const childrenKeys = list.getChildrenKeys();
699
699
  const childrenLength = childrenKeys.length;
700
700
  const index = childrenKeys.indexOf(this.__key);
701
701
 
@@ -727,7 +727,7 @@ class ListItemNode extends lexical.ElementNode {
727
727
  return replaceWithNode;
728
728
  }
729
729
 
730
- insertAfter(node) {
730
+ insertAfter(node, restoreSelection = true) {
731
731
  const listNode = this.getParentOrThrow();
732
732
 
733
733
  if (!$isListNode(listNode)) {
@@ -739,7 +739,7 @@ class ListItemNode extends lexical.ElementNode {
739
739
  const siblings = this.getNextSiblings();
740
740
 
741
741
  if ($isListItemNode(node)) {
742
- const after = super.insertAfter(node);
742
+ const after = super.insertAfter(node, restoreSelection);
743
743
  const afterListNode = node.getParentOrThrow();
744
744
 
745
745
  if ($isListNode(afterListNode)) {
@@ -756,7 +756,7 @@ class ListItemNode extends lexical.ElementNode {
756
756
 
757
757
  for (let i = children.length - 1; i >= 0; i--) {
758
758
  child = children[i];
759
- this.insertAfter(child);
759
+ this.insertAfter(child, restoreSelection);
760
760
  }
761
761
 
762
762
  return child;
@@ -764,12 +764,12 @@ class ListItemNode extends lexical.ElementNode {
764
764
  // Split the lists and insert the node in between them
765
765
 
766
766
 
767
- listNode.insertAfter(node);
767
+ listNode.insertAfter(node, restoreSelection);
768
768
 
769
769
  if (siblings.length !== 0) {
770
770
  const newListNode = $createListNode(listNode.getListType());
771
771
  siblings.forEach(sibling => newListNode.append(sibling));
772
- node.insertAfter(newListNode);
772
+ node.insertAfter(newListNode, restoreSelection);
773
773
  }
774
774
 
775
775
  return node;
@@ -788,9 +788,9 @@ class ListItemNode extends lexical.ElementNode {
788
788
  }
789
789
  }
790
790
 
791
- insertNewAfter() {
791
+ insertNewAfter(_, restoreSelection = true) {
792
792
  const newElement = $createListItemNode(this.__checked == null ? undefined : false);
793
- this.insertAfter(newElement);
793
+ this.insertAfter(newElement, restoreSelection);
794
794
  return newElement;
795
795
  }
796
796
 
@@ -42,7 +42,7 @@ declare export function insertList(
42
42
  declare export class ListItemNode extends ElementNode {
43
43
  append(...nodes: LexicalNode[]): this;
44
44
  replace<N: LexicalNode>(replaceWithNode: N): N;
45
- insertAfter(node: LexicalNode): LexicalNode;
45
+ insertAfter(node: LexicalNode, restoreSelection?: boolean): LexicalNode;
46
46
  insertNewAfter(): ListItemNode | ParagraphNode;
47
47
  collapseAtStart(selection: RangeSelection): true;
48
48
  getIndent(): number;
@@ -15,9 +15,9 @@ function H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void
15
15
  F(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){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(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&("indent"===a?G(d):H(d))}}
16
16
  class J extends h.ElementNode{static getType(){return"listitem"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement("li"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,
17
17
  priority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();
18
- if(q(b)){var c=b.__children;let 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=E(b.getListType());let 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.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();
19
- for(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=
20
- p(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),"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}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=
18
+ if(q(b)){var c=b.getChildrenKeys();let 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=E(b.getListType());let 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,b=!0){var c=this.getParentOrThrow();q(c)||m(39);var d=this.getNextSiblings();if(p(a))return b=super.insertAfter(a,b),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===c.getListType()){c=
19
+ a;a=a.getChildren();for(d=a.length-1;0<=d;d--)c=a[d],this.insertAfter(c,b);return c}c.insertAfter(a,b);if(0!==d.length){let e=E(c.getListType());d.forEach(f=>e.append(f));a.insertAfter(e,b)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(a,b=!0){a=z(null==this.__checked?void 0:!1);this.insertAfter(a,b);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),
20
+ d=c.getParentOrThrow();let e=p(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),"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}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=
21
21
  this.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||
22
22
  p(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}
23
23
  function L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(" "),d.push(...f));if(b){f=c.getParent();f=q(f)&&"check"===f.getListType();let l=c.getChecked();f&&!l||e.push(b.listitemUnchecked);f&&l||e.push(b.listitemChecked);f&&d.push(l?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(" "),c.getChildren().some(l=>q(l))?d.push(...g):e.push(...g));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,
@@ -29,9 +29,9 @@ export declare class ListItemNode extends ElementNode {
29
29
  exportJSON(): SerializedListItemNode;
30
30
  append(...nodes: LexicalNode[]): this;
31
31
  replace<N extends LexicalNode>(replaceWithNode: N): N;
32
- insertAfter(node: LexicalNode): LexicalNode;
32
+ insertAfter(node: LexicalNode, restoreSelection?: boolean): LexicalNode;
33
33
  remove(preserveEmptyParent?: boolean): void;
34
- insertNewAfter(): ListItemNode | ParagraphNode;
34
+ insertNewAfter(_: RangeSelection, restoreSelection?: boolean): ListItemNode | ParagraphNode;
35
35
  collapseAtStart(selection: RangeSelection): true;
36
36
  getValue(): number;
37
37
  setValue(value: number): void;
package/package.json CHANGED
@@ -8,13 +8,13 @@
8
8
  "list"
9
9
  ],
10
10
  "license": "MIT",
11
- "version": "0.6.4",
11
+ "version": "0.7.0",
12
12
  "main": "LexicalList.js",
13
13
  "peerDependencies": {
14
- "lexical": "0.6.4"
14
+ "lexical": "0.7.0"
15
15
  },
16
16
  "dependencies": {
17
- "@lexical/utils": "0.6.4"
17
+ "@lexical/utils": "0.7.0"
18
18
  },
19
19
  "repository": {
20
20
  "type": "git",