The caret's character range within the text being edited. Half-open
[start, end) over the concatenated run text, normalized so start <= end
regardless of which way the user dragged. start === end is a collapsed
caret — a real position, not the absence of one, which is why the hook
reports null rather than a zero-width range when there is no caret.
The caret's character range within the text being edited. Half-open
[start, end)over the concatenated run text, normalized sostart <= endregardless of which way the user dragged.start === endis a collapsed caret — a real position, not the absence of one, which is why the hook reportsnullrather than a zero-width range when there is no caret.