* feat: support custom elements in @excalidraw/excalidraw
* revert
* fix css
* fix offsets
* fix overflow of custom elements in example
* fix overflow in comments input
* make sure comment input never overflows the viewport
* remove offsetschange
* expose setActiveTool
* rename to onPointerDown
* update docs
* fix
* feat: support avatarURLfor collaborators
* fix
* better avatars :)
* use position fixed for tooltips so it renders correctly when offsets updated
* update docs
* Update src/excalidraw-app/collab/CollabWrapper.tsx
* rename avatarUrl to src
* support libraryItems promise for `updateScene()` and use `importLibrary`
* fix typing for `getLibraryItemsFromStorage()`
* remove `libraryItemsFromStorage` hack
if there was a point to it then I'm missing it, but this part will be rewritten anyway
* rewrite state handling
(temporarily removed loading states)
* add async support
* refactor and deduplicate library importing logic
* hide hints when library open
* fix snaps
* support promise in `initialData.libraryItems`
* add default to params instead
* restore library items in all cases & refactor
* export `restoreLibraryItems` from package
* feat: rerender library menu when updating via API
* update readme & changelog
* fix changelog
* fix: Copy to clipboard all text nodes as text
* fix: support copying text even if there are selected elements that are no text
* patch: makes paragraphs betwen texts of each element
* patch: allow copying text for bound text
* save penMode and penDetected to browser cache
* added on pointer down
* added onPointerDown
* factor out and merge handlers
Co-authored-by: dwelle <luzar.david@gmail.com>
* feat: Support binding text to closest container
* Bind text to selected container
* show bind action in canvas and selected container after binding
* allow binding if container has no bound text
* fix
* move logic to show/hide bind actions to contextMenuPredicate
* don't show bind action when clicking on bounding box and not elemnts
* feat: update eraser cursor
* fix dark theme
* check before adding active class
* use custom cursor instead of DOM manipulation
* cache canvas and redraw only when theme changes
* use oc colors
* remove
* cache preview data url
* increase linwidth
* update coords for cursor
* add white 2px outline
* improvements
* use 1px line width 6px radius for outer
* improve
* feat: Add Eraser 🎉
* Eraser working
* remove unused state
* fix
* toggle eraser
* Support deselect with Alt/Option
* rename actionDelete -> actionErase
* Add util isEraserActive
* show eraser in mobile
* render eraser conditionally in mobile
* use selection if eraser in local storage state
* Add sampling to erase accurately
* use pointerDownState
* set eraser to false in AllowedExcalidrawElementTypes
* rename/reword fixes
* don't use updateScene
* handle bound text when erasing
* fix hover state in mobile
* consider all hitElements instead of a single
* code improvements
* revert to select if eraser active and elements selected
* show eraser in zenmode
* erase element when clicked on element while eraser active
* set groupIds to empty when eraser active
* fix test
* remove dragged distance
* fix: ensure verticalAlign properties not shown when no element selected
* show verticalAlign prop if selection contains at least one applicable element
* simplify