* Add debug-mutations
* Fix linting
* Add debug-mutations to o core plugins
* Fix debug output
* Add comment about debug statement
* Add comment explaining the building of debug output object
* Add framework for mutations and mutation observer
* Working splitBlock and mergeBlock
* many things working but not autocorrect
* All later tests pass
* Before adding isComposing to composition-manager
* Fixit
* fix enter enter backspace backspace
* Pass all tests except space-back-space-back
* Passes all tests I think but doesn't continuous backspace or select delete
* Passes all tests and delete selection work
* Fix for merge
* Passes all tests including typing hello world on new line and enter
* Before switching to a function
* Fix enter after last char
* Fix it wasn't me. no. bug
* Remove timeout delay on compositionEnd and everthing works except it wasnt me. no.
* Passes all tests but need to add tests for delete all and select delete
* Pass all tests
* Fix remove selection
* Added flush onCompositionEnd just in case
* Fix bugs for Android 8 split join and fix side effects on Android 9 to that fix
* Add comments to composition manager
* Clean up code
* Fix bug with delete range
* Add comments
* Fix focus lost bug on change examples
* Improve comments
* Rename clear to clearAction and a comment
* Rename lastEl to last.rootEl
* Remove isListening
* Rename vars
* Fix bug where changing to new example during a composition messes up update
* Add comment to switching examples in composition fix
* Improve comments
* Refactor
* Refactor removeNode
* Remove unused event callbacks
* Refactor connect
* Cleanup mutation plugin
* Remove unnecessary comments
* Remove readme
* Refactor ReactPlugin
* Refactor plugins and injection locations
* Remove dom-observer
* Remove is-input-data helpers
* Move fixSelectionInZeroWidthBlock
* Fix some linting and also a composition manager bug
* Fix linting and remove placeholder on Android
* Refactor
* Update composition-manager description
* Fix comment on composition manager
Co-Authored-By: Nick Anderson <tetramputechture@gmail.com>
This version of the method has drifted from `editor.findEventRange`,
and now crashes when it's being used. This commit fixes an import and
changes some code to match the new code in `editor.findEventRange`.
deleteAtRange will consider a zero-length range on the first character
of a text node as a hanging selection, which is incorrect. This should
not be considered hanging.
It's still possible to hit the `startKey === endKey && isHanging`
conditional if endKey is in a void node, since we will bump the
selection to the previous node and update endKey (but then endOffset
is no longer 0, so it's not _really_ hanging anymore). We have an
existing test for that, and it still passes after this change.
When `block.texts()` is passed a path, it treats that path as relative
to itself. `findSelection` passes it the selection path, which is
relative to the document.
In order to find the correct text nodes, we must convert the selection
path to a path relative to the block we found. Then, when a new path
is returned, we need to convert that new block-relative path back to a
document-relative path.
* Working version of restore dom
* Fix linting errors
* Add button to corrupt DOM
* Added error boundary that fixes DOM on render error
* Fix linting errors
* Fix debug output for componentDidCatch
* Improve example by adding a separate restoreDOM button
* Remove key change from error boundary which is not necessary
* Fix linting error
* first stab at removing leaves with tests passing
* fixes
* add iterables to the element interface
* use iterables in more places
* update examples to use iterables
* update naming
* fix tests
* convert more key-based logic to paths
* add range support to iterables
* refactor many methods to use iterables, deprecate cruft
* clean up existing iterables
* more cleanup
* more cleaning
* fix word count example
* work
* split decoration and annotations
* update examples for `renderNode` useage
* deprecate old DOM-based helpers, update examples
* make formats first class, refactor leaf rendering
* fix examples, fix isAtomic checking
* deprecate leaf model
* convert Text and Leaf to functional components
* fix lint and tests