リストアイテム単体のフォーマット解除が正しく動作するよう修正
Lexxy のリストツールバーで、複数項目からなるリストのうち 1 つだけの箇条書きを解除しようとすると、リスト全体が段落に変換されてしまうバグを、選択範囲の拡張ロジックを修正して解消しました。
背景
問題は、リスト内の単一アイテムだけに対してリスト解除操作を行っても、リスト全体が平坦化されてしまう点にあります。 ユーザーが中間項目にカーソルを置いてツールバーの箇条書きボタンをクリックすると、期待通りその行だけが <p> に変換されず、残りの項目までが段落へ変換されていました。この挙動はエディタの粒度の細かい編集を阻害し、実務での利用体験を著しく損ねていました。
根本原因は、`applyParagraphFormatが内部で呼び出す$expandSelectionToLineBreaksAndSplitAtEdgesが、リスト内でフォールバックとしてnode.getTopLevelElement()` を使用していたことです。 getTopLevelElement() はリスト項目の親である ListNode を返すため、選択範囲がリスト全体に拡大され、続く **$setBlocksType** がすべての項目を段落に変換していました。
この問題を修正することで、リスト内の任意の項目だけを独立した段落に変換でき、エディタの操作感が向上します。