Fix Chrome quirk where initial focus would immediately lose its selected range by switching to selectstart and checking for window.getSelection().rangeCount
(See 71ae9a2)
Add Edit#getState() method to returned Edit handle. useEditable returns the Edit object with several methods to allow manipulating the current editable.
The getState() method allows you to retrieve the current text and position of the editable.
(See 98cb706)
Add space-only indentation when opts.indentation is passed. This means that useEditable now inserts spaces over tabs when opts.indentation is set and overrides the
default backspace behaviour to delete multiple spaces as needed.
(See 9291f6c)
Add Edit#move() method to edit the caret position programmatically. The caret can now be moved to a specific character index or row/column coordinates.
(See 15cea68)
Support non-collpsed selection restoration, in other words, when a range is selected and the component updates in the meantime, the selection is restored correctly.
This is achieved by storing the selection's "extent", i.e. the number of characters it selects past its start.
(See a15f8fc)