+ if (alteredListItems.length === 1 && selectionBounds) {
+ // Retain selection range if moving just one item
+ const listItem = alteredListItems[0] as ListItemNode;
+ let child = listItem.getChildren()[0] as TextNode;
+ if (!child) {
+ child = $createTextNode('');
+ listItem.append(child);
+ }
+ child.select(selectionBounds[0].offset, selectionBounds[1].offset);
+ } else {
+ $selectNodes(alteredListItems);
+ }
+