in src/component/selection/getDraftEditorSelection.js [24:55]
function getDraftEditorSelection(
editorState: EditorState,
root: HTMLElement,
): DOMDerivedSelection {
const selection: SelectionObject =
root.ownerDocument.defaultView.getSelection();
const {anchorNode, anchorOffset, focusNode, focusOffset, rangeCount} =
selection;
if (
// No active selection.
rangeCount === 0 ||
// No selection, ever. As in, the user hasn't selected anything since
// opening the document.
anchorNode == null ||
focusNode == null
) {
return {
selectionState: editorState.getSelection().set('hasFocus', false),
needsRecovery: false,
};
}
return getDraftEditorSelectionWithNodes(
editorState,
root,
anchorNode,
anchorOffset,
focusNode,
focusOffset,
);
}