@@ -23,17 +23,13 @@ export interface Selection {
2323/**
2424 * Snaps a selection so no edge sits inside a chip.
2525 *
26- * - **Collapsed caret inside a chip** → nearest chip edge (so the caret can't
27- * rest mid-chip).
28- * - **Ranged selection** → each edge inside a chip snaps to a chip boundary,
29- * never collapsing the range. Which boundary depends on the gesture:
30- * - A *lone moved edge* (keyboard extend/shrink, drag) snaps in its direction
31- * of travel — growing absorbs the chip, shrinking releases it.
32- * - A *fresh selection* (double-click, select-all) expands outward to include
33- * touched chips whole. A fresh selection that happens to share one edge with
34- * `prev` (e.g. select-all from a caret already at 0) takes the single-edge
35- * path, but a grown edge expands outward there too — the paths differ only
36- * for a *shrinking* edge, which implies a genuine single-edge gesture.
26+ * - **Collapsed caret inside a chip** → nearest chip edge.
27+ * - **Ranged selection** → each edge inside a chip snaps to a boundary without
28+ * collapsing the range. A lone moved edge (keyboard extend/shrink, drag) snaps
29+ * in its direction of travel — growing absorbs the chip, shrinking releases
30+ * it; a fresh selection (double-click, select-all) expands outward. The two
31+ * paths differ only for a shrinking edge, so the gesture inference is safe
32+ * even when a fresh selection happens to share an edge with `prev`.
3733 *
3834 * @param sel - The observed selection.
3935 * @param prev - The previously observed selection, used to infer which edge moved.
0 commit comments