mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
feat: Add Eraser 🎉 (#4887)
* 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
This commit is contained in:
parent
5c0eff50a0
commit
7daf1a7944
18 changed files with 233 additions and 32 deletions
|
@ -77,7 +77,7 @@ export type AppState = {
|
|||
// (e.g. text element when typing into the input)
|
||||
editingElement: NonDeletedExcalidrawElement | null;
|
||||
editingLinearElement: LinearElementEditor | null;
|
||||
elementType: typeof SHAPES[number]["value"];
|
||||
elementType: typeof SHAPES[number]["value"] | "eraser";
|
||||
elementLocked: boolean;
|
||||
penMode: boolean;
|
||||
penDetected: boolean;
|
||||
|
@ -384,6 +384,7 @@ export type PointerDownState = Readonly<{
|
|||
boxSelection: {
|
||||
hasOccurred: boolean;
|
||||
};
|
||||
elementIdsToErase: { [key: ExcalidrawElement["id"]]: boolean };
|
||||
}>;
|
||||
|
||||
export type ExcalidrawImperativeAPI = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue