* Use Theme type everywhere
* Rename Appearance type to Theme for consistency
* Reorder headers in readme
The host don't need to pass hardcoded strings any more and instead can use the exported constant
* fix: support tab in text Wyswig
* Refactor tab handling
Tab now indent the whole line, instead of inserting at the cursor
position.
Shift+Tab now deindent the whole line.
* Add multi-line tabulation support
* rename
* simplify algo for selected lines start indices & naming tweaks
* add cmd-bracket shortcuts as alias to indent/outdent
* support outdenting partial tabs
Co-authored-by: dwelle <luzar.david@gmail.com>
* fix: Bind keyboard events to excalidraw container
* fix cases around blurring
* fix modal rendering so keyboard shortcuts work on modal as well
* Revert "fix modal rendering so keyboard shortcuts work on modal as well"
This reverts commit 2c8ec6be8eff7d308591467fe2c33cfbca16138f.
* Attach keyboard event in react way so we need not handle portals separately (modals)
* dnt propagate esc event when modal shown
* focus the container when help dialog closed with shift+?
* focus the help icon when help dialog on close triggered
* move focusNearestTabbableParent to util
* rename util to focusNearestParent and remove outline from excal and modal
* Add prop bindKeyGlobally to decide if keyboard events should be binded to document and allow it in excal app, revert tests
* fix
* focus container after installing library, reset library and closing error dialog
* fix tests and create util to focus container
* Add excalidraw-container class to focus on the container
* pass focus container to library to focus current instance of excal
* update docs
* remove util as it wont be used anywhere
* fix propagation not being stopped for React keyboard handling
* tweak reamde
Co-authored-by: David Luzar <luzar.david@gmail.com>
* tweak changelog
* rename prop to handleKeyboardGlobally
Co-authored-by: dwelle <luzar.david@gmail.com>
* fix: Position text editor absolute and fix the offsets so it doesn't remain fixed when container is scrolled
* update changelog
* Update src/packages/excalidraw/CHANGELOG.md
* fix: Use Array.from when spreading over set so that typescript transpiles correctly in the umd build
* patch version
* fix
* update changelog
* tweak
For rendering we always use mouse in order to check which handles to display but when doing the hit test, we used pointer which has a different size. So we couldn't use the middle handles for small shapes. This is now fixed.
cc @j-f1 as you added it in #790
On dark mode, while text element is being edited, it was changing color to the light mode variant (white turns back to black, etc...).
This is caused by the --appearance-filter not being applied to the floating textarea. The css var --appearance-filter is only applied to the .excalidraw class while the floating textarea is being appended to the body which put it outside of .excalidraw.
This change adds excalidraw class to the floating textarea and also adds Appearance_dark to it while dark mode is on.