@lexical/list 0.48.0 → 0.48.1-nightly.20260720.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/dist/LexicalList.dev.js +10 -10
- package/dist/LexicalList.dev.mjs +10 -10
- package/dist/utils.d.ts +1 -1
- package/package.json +6 -6
- package/src/LexicalListItemNode.ts +5 -5
- package/src/formatList.ts +8 -8
- package/src/utils.ts +1 -1
package/dist/LexicalList.dev.js
CHANGED
|
@@ -102,7 +102,7 @@ function $getAllListItems(node) {
|
|
|
102
102
|
* @param node - The node to be checked.
|
|
103
103
|
* @returns true if the node is a ListItemNode and has a ListNode child, false otherwise.
|
|
104
104
|
*/
|
|
105
|
-
function isNestedListNode(node) {
|
|
105
|
+
function $isNestedListNode(node) {
|
|
106
106
|
return $isListItemNode(node) && $isListNode(node.getFirstChild());
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -273,7 +273,7 @@ function $createListOrMerge(node, listType) {
|
|
|
273
273
|
function mergeLists(list1, list2) {
|
|
274
274
|
const listItem1 = list1.getLastChild();
|
|
275
275
|
const listItem2 = list2.getFirstChild();
|
|
276
|
-
if (listItem1 && listItem2 && isNestedListNode(listItem1) && isNestedListNode(listItem2)) {
|
|
276
|
+
if (listItem1 && listItem2 && $isNestedListNode(listItem1) && $isNestedListNode(listItem2)) {
|
|
277
277
|
mergeLists(listItem1.getFirstChild(), listItem2.getFirstChild());
|
|
278
278
|
listItem2.remove();
|
|
279
279
|
}
|
|
@@ -382,7 +382,7 @@ function mergeNextSiblingListIfSameType(list) {
|
|
|
382
382
|
function $handleIndent(listItemNode) {
|
|
383
383
|
// go through each node and decide where to move it.
|
|
384
384
|
const removed = new Set();
|
|
385
|
-
if (isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
385
|
+
if ($isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
386
386
|
return;
|
|
387
387
|
}
|
|
388
388
|
const parent = listItemNode.getParent();
|
|
@@ -390,7 +390,7 @@ function $handleIndent(listItemNode) {
|
|
|
390
390
|
const previousSibling = listItemNode.getPreviousSibling();
|
|
391
391
|
// if there are nested lists on either side, merge them all together.
|
|
392
392
|
|
|
393
|
-
if (isNestedListNode(nextSibling) && isNestedListNode(previousSibling)) {
|
|
393
|
+
if ($isNestedListNode(nextSibling) && $isNestedListNode(previousSibling)) {
|
|
394
394
|
const innerList = previousSibling.getFirstChild();
|
|
395
395
|
if ($isListNode(innerList)) {
|
|
396
396
|
innerList.append(listItemNode);
|
|
@@ -402,7 +402,7 @@ function $handleIndent(listItemNode) {
|
|
|
402
402
|
removed.add(nextSibling.getKey());
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
|
-
} else if (isNestedListNode(nextSibling)) {
|
|
405
|
+
} else if ($isNestedListNode(nextSibling)) {
|
|
406
406
|
// if the ListItemNode is next to a nested ListNode, merge them
|
|
407
407
|
const innerList = nextSibling.getFirstChild();
|
|
408
408
|
if ($isListNode(innerList)) {
|
|
@@ -411,7 +411,7 @@ function $handleIndent(listItemNode) {
|
|
|
411
411
|
firstChild.insertBefore(listItemNode);
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
|
-
} else if (isNestedListNode(previousSibling)) {
|
|
414
|
+
} else if ($isNestedListNode(previousSibling)) {
|
|
415
415
|
const innerList = previousSibling.getFirstChild();
|
|
416
416
|
if ($isListNode(innerList)) {
|
|
417
417
|
innerList.append(listItemNode);
|
|
@@ -444,7 +444,7 @@ function $handleIndent(listItemNode) {
|
|
|
444
444
|
function $handleOutdent(listItemNode) {
|
|
445
445
|
// go through each node and decide where to move it.
|
|
446
446
|
|
|
447
|
-
if (isNestedListNode(listItemNode)) {
|
|
447
|
+
if ($isNestedListNode(listItemNode)) {
|
|
448
448
|
return;
|
|
449
449
|
}
|
|
450
450
|
const parentList = listItemNode.getParent();
|
|
@@ -677,7 +677,7 @@ class ListItemNode extends lexical.ElementNode {
|
|
|
677
677
|
if (direction) {
|
|
678
678
|
element.dir = direction;
|
|
679
679
|
}
|
|
680
|
-
if (isNestedListNode(this)) {
|
|
680
|
+
if ($isNestedListNode(this)) {
|
|
681
681
|
return {
|
|
682
682
|
after(containerElement) {
|
|
683
683
|
if (lexical.isHTMLElement(containerElement)) {
|
|
@@ -798,7 +798,7 @@ class ListItemNode extends lexical.ElementNode {
|
|
|
798
798
|
const prevSibling = this.getPreviousSibling();
|
|
799
799
|
const nextSibling = this.getNextSibling();
|
|
800
800
|
super.remove(preserveEmptyParent);
|
|
801
|
-
if (prevSibling && nextSibling && isNestedListNode(prevSibling) && isNestedListNode(nextSibling)) {
|
|
801
|
+
if (prevSibling && nextSibling && $isNestedListNode(prevSibling) && $isNestedListNode(nextSibling)) {
|
|
802
802
|
mergeLists(prevSibling.getFirstChild(), nextSibling.getFirstChild());
|
|
803
803
|
nextSibling.remove();
|
|
804
804
|
}
|
|
@@ -815,7 +815,7 @@ class ListItemNode extends lexical.ElementNode {
|
|
|
815
815
|
return newElement;
|
|
816
816
|
}
|
|
817
817
|
collapseAtStart(selection) {
|
|
818
|
-
if (isNestedListNode(this)) {
|
|
818
|
+
if ($isNestedListNode(this)) {
|
|
819
819
|
return false;
|
|
820
820
|
}
|
|
821
821
|
const listNode = this.getParentOrThrow();
|
package/dist/LexicalList.dev.mjs
CHANGED
|
@@ -100,7 +100,7 @@ function $getAllListItems(node) {
|
|
|
100
100
|
* @param node - The node to be checked.
|
|
101
101
|
* @returns true if the node is a ListItemNode and has a ListNode child, false otherwise.
|
|
102
102
|
*/
|
|
103
|
-
function isNestedListNode(node) {
|
|
103
|
+
function $isNestedListNode(node) {
|
|
104
104
|
return $isListItemNode(node) && $isListNode(node.getFirstChild());
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -271,7 +271,7 @@ function $createListOrMerge(node, listType) {
|
|
|
271
271
|
function mergeLists(list1, list2) {
|
|
272
272
|
const listItem1 = list1.getLastChild();
|
|
273
273
|
const listItem2 = list2.getFirstChild();
|
|
274
|
-
if (listItem1 && listItem2 && isNestedListNode(listItem1) && isNestedListNode(listItem2)) {
|
|
274
|
+
if (listItem1 && listItem2 && $isNestedListNode(listItem1) && $isNestedListNode(listItem2)) {
|
|
275
275
|
mergeLists(listItem1.getFirstChild(), listItem2.getFirstChild());
|
|
276
276
|
listItem2.remove();
|
|
277
277
|
}
|
|
@@ -380,7 +380,7 @@ function mergeNextSiblingListIfSameType(list) {
|
|
|
380
380
|
function $handleIndent(listItemNode) {
|
|
381
381
|
// go through each node and decide where to move it.
|
|
382
382
|
const removed = new Set();
|
|
383
|
-
if (isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
383
|
+
if ($isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
384
384
|
return;
|
|
385
385
|
}
|
|
386
386
|
const parent = listItemNode.getParent();
|
|
@@ -388,7 +388,7 @@ function $handleIndent(listItemNode) {
|
|
|
388
388
|
const previousSibling = listItemNode.getPreviousSibling();
|
|
389
389
|
// if there are nested lists on either side, merge them all together.
|
|
390
390
|
|
|
391
|
-
if (isNestedListNode(nextSibling) && isNestedListNode(previousSibling)) {
|
|
391
|
+
if ($isNestedListNode(nextSibling) && $isNestedListNode(previousSibling)) {
|
|
392
392
|
const innerList = previousSibling.getFirstChild();
|
|
393
393
|
if ($isListNode(innerList)) {
|
|
394
394
|
innerList.append(listItemNode);
|
|
@@ -400,7 +400,7 @@ function $handleIndent(listItemNode) {
|
|
|
400
400
|
removed.add(nextSibling.getKey());
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
} else if (isNestedListNode(nextSibling)) {
|
|
403
|
+
} else if ($isNestedListNode(nextSibling)) {
|
|
404
404
|
// if the ListItemNode is next to a nested ListNode, merge them
|
|
405
405
|
const innerList = nextSibling.getFirstChild();
|
|
406
406
|
if ($isListNode(innerList)) {
|
|
@@ -409,7 +409,7 @@ function $handleIndent(listItemNode) {
|
|
|
409
409
|
firstChild.insertBefore(listItemNode);
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
|
-
} else if (isNestedListNode(previousSibling)) {
|
|
412
|
+
} else if ($isNestedListNode(previousSibling)) {
|
|
413
413
|
const innerList = previousSibling.getFirstChild();
|
|
414
414
|
if ($isListNode(innerList)) {
|
|
415
415
|
innerList.append(listItemNode);
|
|
@@ -442,7 +442,7 @@ function $handleIndent(listItemNode) {
|
|
|
442
442
|
function $handleOutdent(listItemNode) {
|
|
443
443
|
// go through each node and decide where to move it.
|
|
444
444
|
|
|
445
|
-
if (isNestedListNode(listItemNode)) {
|
|
445
|
+
if ($isNestedListNode(listItemNode)) {
|
|
446
446
|
return;
|
|
447
447
|
}
|
|
448
448
|
const parentList = listItemNode.getParent();
|
|
@@ -675,7 +675,7 @@ class ListItemNode extends ElementNode {
|
|
|
675
675
|
if (direction) {
|
|
676
676
|
element.dir = direction;
|
|
677
677
|
}
|
|
678
|
-
if (isNestedListNode(this)) {
|
|
678
|
+
if ($isNestedListNode(this)) {
|
|
679
679
|
return {
|
|
680
680
|
after(containerElement) {
|
|
681
681
|
if (isHTMLElement(containerElement)) {
|
|
@@ -796,7 +796,7 @@ class ListItemNode extends ElementNode {
|
|
|
796
796
|
const prevSibling = this.getPreviousSibling();
|
|
797
797
|
const nextSibling = this.getNextSibling();
|
|
798
798
|
super.remove(preserveEmptyParent);
|
|
799
|
-
if (prevSibling && nextSibling && isNestedListNode(prevSibling) && isNestedListNode(nextSibling)) {
|
|
799
|
+
if (prevSibling && nextSibling && $isNestedListNode(prevSibling) && $isNestedListNode(nextSibling)) {
|
|
800
800
|
mergeLists(prevSibling.getFirstChild(), nextSibling.getFirstChild());
|
|
801
801
|
nextSibling.remove();
|
|
802
802
|
}
|
|
@@ -813,7 +813,7 @@ class ListItemNode extends ElementNode {
|
|
|
813
813
|
return newElement;
|
|
814
814
|
}
|
|
815
815
|
collapseAtStart(selection) {
|
|
816
|
-
if (isNestedListNode(this)) {
|
|
816
|
+
if ($isNestedListNode(this)) {
|
|
817
817
|
return false;
|
|
818
818
|
}
|
|
819
819
|
const listNode = this.getParentOrThrow();
|
package/dist/utils.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ declare const NestedListNodeBrand: unique symbol;
|
|
|
38
38
|
* @param node - The node to be checked.
|
|
39
39
|
* @returns true if the node is a ListItemNode and has a ListNode child, false otherwise.
|
|
40
40
|
*/
|
|
41
|
-
export declare function isNestedListNode(node: LexicalNode | null | undefined): node is Spread<{
|
|
41
|
+
export declare function $isNestedListNode(node: LexicalNode | null | undefined): node is Spread<{
|
|
42
42
|
getFirstChild(): ListNode;
|
|
43
43
|
[NestedListNodeBrand]: never;
|
|
44
44
|
}, ListItemNode>;
|
package/package.json
CHANGED
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
"list"
|
|
9
9
|
],
|
|
10
10
|
"license": "MIT",
|
|
11
|
-
"version": "0.48.0",
|
|
11
|
+
"version": "0.48.1-nightly.20260720.0",
|
|
12
12
|
"main": "./dist/LexicalList.js",
|
|
13
13
|
"types": "./dist/typescript-too-old.d.ts",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@lexical/extension": "0.48.0",
|
|
16
|
-
"@lexical/
|
|
17
|
-
"@lexical/
|
|
18
|
-
"lexical": "0.48.0",
|
|
19
|
-
"
|
|
15
|
+
"@lexical/extension": "0.48.1-nightly.20260720.0",
|
|
16
|
+
"@lexical/internal": "0.48.1-nightly.20260720.0",
|
|
17
|
+
"@lexical/html": "0.48.1-nightly.20260720.0",
|
|
18
|
+
"@lexical/utils": "0.48.1-nightly.20260720.0",
|
|
19
|
+
"lexical": "0.48.1-nightly.20260720.0"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
|
|
48
48
|
import {$createListNode, $isListNode, type ListNode, type ListType} from './';
|
|
49
49
|
import {$handleIndent, $handleOutdent, mergeLists} from './formatList';
|
|
50
|
-
import {isNestedListNode} from './utils';
|
|
50
|
+
import {$isNestedListNode} from './utils';
|
|
51
51
|
|
|
52
52
|
export type SerializedListItemNode = Spread<
|
|
53
53
|
{
|
|
@@ -218,7 +218,7 @@ export class ListItemNode extends ElementNode {
|
|
|
218
218
|
element.dir = direction;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
if (isNestedListNode(this)) {
|
|
221
|
+
if ($isNestedListNode(this)) {
|
|
222
222
|
return {
|
|
223
223
|
after(containerElement) {
|
|
224
224
|
if (isHTMLElement(containerElement)) {
|
|
@@ -371,8 +371,8 @@ export class ListItemNode extends ElementNode {
|
|
|
371
371
|
if (
|
|
372
372
|
prevSibling &&
|
|
373
373
|
nextSibling &&
|
|
374
|
-
isNestedListNode(prevSibling) &&
|
|
375
|
-
isNestedListNode(nextSibling)
|
|
374
|
+
$isNestedListNode(prevSibling) &&
|
|
375
|
+
$isNestedListNode(nextSibling)
|
|
376
376
|
) {
|
|
377
377
|
mergeLists(prevSibling.getFirstChild(), nextSibling.getFirstChild());
|
|
378
378
|
nextSibling.remove();
|
|
@@ -398,7 +398,7 @@ export class ListItemNode extends ElementNode {
|
|
|
398
398
|
}
|
|
399
399
|
|
|
400
400
|
collapseAtStart(selection: RangeSelection): boolean {
|
|
401
|
-
if (isNestedListNode(this)) {
|
|
401
|
+
if ($isNestedListNode(this)) {
|
|
402
402
|
return false;
|
|
403
403
|
}
|
|
404
404
|
|
package/src/formatList.ts
CHANGED
|
@@ -40,8 +40,8 @@ import {
|
|
|
40
40
|
$getAllListItems,
|
|
41
41
|
$getNewListStart,
|
|
42
42
|
$getTopListNode,
|
|
43
|
+
$isNestedListNode,
|
|
43
44
|
$removeHighestEmptyListParent,
|
|
44
|
-
isNestedListNode,
|
|
45
45
|
} from './utils';
|
|
46
46
|
|
|
47
47
|
function $isSelectingEmptyListItem(
|
|
@@ -229,8 +229,8 @@ export function mergeLists(list1: ListNode, list2: ListNode): void {
|
|
|
229
229
|
if (
|
|
230
230
|
listItem1 &&
|
|
231
231
|
listItem2 &&
|
|
232
|
-
isNestedListNode(listItem1) &&
|
|
233
|
-
isNestedListNode(listItem2)
|
|
232
|
+
$isNestedListNode(listItem1) &&
|
|
233
|
+
$isNestedListNode(listItem2)
|
|
234
234
|
) {
|
|
235
235
|
mergeLists(listItem1.getFirstChild(), listItem2.getFirstChild());
|
|
236
236
|
listItem2.remove();
|
|
@@ -364,7 +364,7 @@ export function $handleIndent(listItemNode: ListItemNode): void {
|
|
|
364
364
|
// go through each node and decide where to move it.
|
|
365
365
|
const removed = new Set<NodeKey>();
|
|
366
366
|
|
|
367
|
-
if (isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
367
|
+
if ($isNestedListNode(listItemNode) || removed.has(listItemNode.getKey())) {
|
|
368
368
|
return;
|
|
369
369
|
}
|
|
370
370
|
|
|
@@ -374,7 +374,7 @@ export function $handleIndent(listItemNode: ListItemNode): void {
|
|
|
374
374
|
const previousSibling = listItemNode.getPreviousSibling();
|
|
375
375
|
// if there are nested lists on either side, merge them all together.
|
|
376
376
|
|
|
377
|
-
if (isNestedListNode(nextSibling) && isNestedListNode(previousSibling)) {
|
|
377
|
+
if ($isNestedListNode(nextSibling) && $isNestedListNode(previousSibling)) {
|
|
378
378
|
const innerList = previousSibling.getFirstChild();
|
|
379
379
|
|
|
380
380
|
if ($isListNode(innerList)) {
|
|
@@ -388,7 +388,7 @@ export function $handleIndent(listItemNode: ListItemNode): void {
|
|
|
388
388
|
removed.add(nextSibling.getKey());
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
|
-
} else if (isNestedListNode(nextSibling)) {
|
|
391
|
+
} else if ($isNestedListNode(nextSibling)) {
|
|
392
392
|
// if the ListItemNode is next to a nested ListNode, merge them
|
|
393
393
|
const innerList = nextSibling.getFirstChild();
|
|
394
394
|
|
|
@@ -399,7 +399,7 @@ export function $handleIndent(listItemNode: ListItemNode): void {
|
|
|
399
399
|
firstChild.insertBefore(listItemNode);
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
|
-
} else if (isNestedListNode(previousSibling)) {
|
|
402
|
+
} else if ($isNestedListNode(previousSibling)) {
|
|
403
403
|
const innerList = previousSibling.getFirstChild();
|
|
404
404
|
|
|
405
405
|
if ($isListNode(innerList)) {
|
|
@@ -434,7 +434,7 @@ export function $handleIndent(listItemNode: ListItemNode): void {
|
|
|
434
434
|
export function $handleOutdent(listItemNode: ListItemNode): void {
|
|
435
435
|
// go through each node and decide where to move it.
|
|
436
436
|
|
|
437
|
-
if (isNestedListNode(listItemNode)) {
|
|
437
|
+
if ($isNestedListNode(listItemNode)) {
|
|
438
438
|
return;
|
|
439
439
|
}
|
|
440
440
|
const parentList = listItemNode.getParent();
|
package/src/utils.ts
CHANGED
|
@@ -137,7 +137,7 @@ const NestedListNodeBrand: unique symbol = Symbol.for(
|
|
|
137
137
|
* @param node - The node to be checked.
|
|
138
138
|
* @returns true if the node is a ListItemNode and has a ListNode child, false otherwise.
|
|
139
139
|
*/
|
|
140
|
-
export function isNestedListNode(
|
|
140
|
+
export function $isNestedListNode(
|
|
141
141
|
node: LexicalNode | null | undefined,
|
|
142
142
|
): node is Spread<
|
|
143
143
|
{getFirstChild(): ListNode; [NestedListNodeBrand]: never},
|