@notjosh/rangy-core (npm): A cross-browser DOM range and selection library
Keywords: range|selection|caret|DOM