* add basePath prop to Range inside slate-react custom types, calculate absolute ranges on passing them into TextComponent
* code highlighting example improvements, minor markdown preview refactoring
* changeset added
* Revert "add basePath prop to Range inside slate-react custom types, calculate absolute ranges on passing them into TextComponent"
This reverts commit afa085c289bc67ce3d27dd33b1f074ab8153efe8.
* add basePath prop to Point inside slate-react custom types, resolve relative ranges on passing them to TextComponent
* Update changeset
* linter fixes
* remove redundant checks inside renderElement function
* custom types fixes for Range and Point in examples
* wrap intervals and ranges extractors in useMemo hook for running them only if editor.children is changed
* revert basePath changes, compare only offsets for MemoizedText decorations
* use an element as a key in decorations ranges map instead of id
* simplify code highlighting implementation, make code block nested
* fix code-highlighting example, add toolbar code block button
* remove redundant code
* fix code highlighting playwright integration test
* Switch back to using inline styles for default editor styles
* Add example page and test for editor styling
* Add section in docs for editor styling
* Add test for editor height being set to placeholder height
* Add changeset
* empty
* empty
* empty
* Begin move from cypress to playwright.
* Switch remaining tests to playwright, remove old cypress suppport files.
* Clean up playwright config
* Enable ff, and safari when on mac.
* Fix safari/ff mentions test
* Fix code-highlighting test on ff/safari
* Add a local retry as a few tests are flaky.
* Replace cypress w/ playwright in gitignore.
* Update to latest yarn to fix ci install?
* Update yarn.lock w/ yarn command.
* Fix mocha tests.
* Fix prettier
* Fix Editor.above with point
Editor.above should ignore checking text nodes (they're never above
anything) and continue looking for ancestors.
Otherwise it won't be able to find any above nodes when starting to look
from a text node.
* Add changeset
* Stop trying to call bind on undifined when getBoundingClientRect is not defined. This is happening when testing slate with react testing library
* Add changeset
* Use stylesheet to give Editable components a default style
* Give Editors a unique id
* Use per-editor stylesheets to give editors a min-height
* Make editor min-height respond to changes in placeholder height
* Add changeset for stylesheet changes
* Prevent unnecessary creations of ResizeObservers
* Update yarn.lock
Since this really just calls setNodes, it seems like it should offer the same options.
Without this change, doing something like applying a mark to the contents of a selected block with `hanging` works one way, while trying to do the reverse (remove the mark) cannot include the "hang".
`Editor.unhangRange()` could decide to proceed with an adjustment in cases where the range was not hanging.
Because the algorithm it uses *always* skips over the first node it encounters, this meant the selection was adjusted in non-hanging cases.
This change reduces the chances of an incorrect decision to adjust.
Transforms now pass the `voids` flag to `unhangRange()` as it seems logical that the adjusted range should reflect the intention of the operation.
This fixes a unit test I added for markable voids that had to be skipped because of the `unhangRange()` error, and fixes a couple other long-skipped tests.
* Update `isHistory` to match new interface.
This change merely preserves the original functionality and does not add verification of Batch's new `selectionBefore` property.
* Add changeset.