Márk Tolmács
cd514d72d6
feat(editor): LaserPointer based freedraw ( #11507 )
...
Introduces constant width freedraw mode, keeping the original variable mode as default.
---------
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2026-06-24 09:16:22 +02:00
Augusto Xavier
a83ac48853
fix(editor): recalculate roundness type when switching shape types ( #11473 )
...
When converting between generic shapes, the roundness type was only
recalculated when the target type was a diamond. Converting a diamond
(which uses the proportional radius algorithm) back to a rectangle kept
the proportional radius, so rectangles ended up rendering with overly
round corners.
---------
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
Co-authored-by: Maruthan G <maruthang4@gmail.com >
Co-authored-by: Sivram <withsivram@gmail.com >
Co-authored-by: Jai Kumar Dewani <jai.dewani.99@gmail.com >
Co-authored-by: Mark Tolmacs <mark@lazycat.hu >
2026-06-11 19:17:15 +02:00
Ryan Di
e95222ed32
fix: add constants and side methods to packages ( #10418 )
...
* fix: add constants and side methods to packages
* add transform to the element package
* lint
* remove dead code
* put transform types back to transform.ts
* fix imports
* fix imports in test
---------
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2025-12-28 21:53:25 +01:00
David Luzar
d080833f4d
chore: bump typescript@5.9.3 ( #10431 )
2025-12-01 22:37:42 +01:00
David Luzar
b9d27d308e
fix: pasting not working in firefox ( #9947 )
2025-09-06 22:51:23 +02:00
Omar Brikaa
3bdaafe4b5
feat: [cont.] support inserting multiple images ( #9875 )
...
* feat: support inserting multiple images
* Initial
* handleAppOnDrop, onImageToolbarButtonClick, pasteFromClipboard
* Initial get history working
* insertMultipleImages -> insertImages
* Bug fixes, improvements
* Remove redundant branch
* Refactor addElementsFromMixedContentPaste
* History, drag & drop bug fixes
* Update snapshots
* Remove redundant try-catch
* Refactor pasteFromClipboard
* Plain paste check in mermaid paste
* Move comment
* processClipboardData -> insertClipboardContent
* Redundant variable
* Redundant variable
* Refactor insertImages
* createImagePlaceholder -> newImagePlaceholder
* Get rid of unneeded NEVER schedule, filter out failed images
* Trigger CI
* Position placeholders before initializing
* Don't mutate scene with positionElementsOnGrid, captureUpdate: CaptureUpdateAction.IMMEDIATELY
* Comment
* Move positionOnGrid out of file
* Rename file
* Get rid of generic
* Initial tests
* More asserts, test paste
* Test image tool
* De-duplicate
* Stricter assert, move rest of logic outside of waitFor
* Modify history tests
* De-duplicate update snapshots
* Trigger CI
* Fix package build
* Make setupImageTest more explicit
* Re-introduce generic to use latest placeholder versions
* newElementWith instead of mutateElement to delete failed placeholder
* Insert failed images separately with CaptureUpdateAction.NEVER
* Refactor
* Don't re-order elements
* WIP
* Get rid of 'never' for failed
* refactor type check
* align max file size constant
* make grid padding scale to zoom
---------
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2025-09-01 17:31:24 +02:00
Marcel Mraz
0d4abd1ddc
fix: add history capture for paste and drop of images and embeds ( #9605 )
2025-06-10 14:28:16 +02:00
Marcel Mraz
7e41026812
refactor: export everything from @excalidraw/element, don't import from subpaths ( #9466 )
...
* Don't import from subpaths
* Fix tests, move related tests to element
2025-05-09 23:01:33 +02:00
Marcel Mraz
1913599594
refactor: remove dependency on the (static) Scene ( #9389 )
2025-04-23 13:45:08 +02:00
David Luzar
b5d60973b7
fix: duplication tests pointer state leaking between tests ( #9414 )
...
* fix: duplication tests pointer state leaking between tests
* fix snapshots
2025-04-18 11:11:12 +02:00
Marcel Mraz
432a46ef9e
refactor: separate elements logic into a standalone package ( #9285 )
2025-03-26 15:24:59 +01:00
Marcel Mraz
21ffaf4d76
refactor: auto ordered imports ( #9163 )
2025-03-12 15:23:31 +01:00
Marcel Mraz
ecef5d12f4
chore: release @excalidraw/excalidraw@18.0.0 🎉 ( #9127 )
2025-02-28 16:49:09 +01:00
David Luzar
31e8476c78
chore: upgrade to react@19 ( #9182 )
2025-02-25 19:18:42 +01:00
David Luzar
424e94a403
fix: duplicating/removing frame while children selected ( #9079 )
2025-02-04 19:23:47 +01:00
Márk Tolmács
91ebf8b0ea
feat: Elbow arrow segment fixing & positioning ( #8952 )
...
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
Co-authored-by: David Luzar <5153846+dwelle@users.noreply.github.com >
2025-01-17 18:07:03 +01:00
David Luzar
36274f1f3e
feat: cleanup svg export and move payload to <metadata> ( #8975 )
2025-01-05 16:53:05 +01:00
David Luzar
47ee8a0094
refactor: point() -> pointFrom() to fix compiler issue ( #8578 )
2024-10-01 21:27:17 +02:00
David Luzar
8ca4cf3260
feat: flip arrowheads if only arrow(s) selected ( #8525 )
...
Co-authored-by: Mark Tolmacs <mark@lazycat.hu >
2024-09-19 15:46:36 +02:00
Márk Tolmács
f3f0ab7c83
fix: Elbow arrow fixedpoint flipping now properly flips on inverted resize and flip action ( #8324 )
...
* Flipping action now properly mirrors selections with elbow arrows
* Flipping action now re-centers the selection to the original center to avoid "walking" selections on repeated flipping
2024-09-19 08:47:23 +02:00
David Luzar
d107215564
fix: select instead of focus search input ( #8483 )
2024-09-09 19:57:22 +02:00
Márk Tolmács
f4dd23fc31
chore: Unify math types, utils and functions ( #8389 )
...
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2024-09-02 22:23:38 +00:00
David Luzar
f19ce30dfe
chore: bump @testing-library/react 12.1.5 -> 16.0.0 ( #8322 )
2024-08-06 15:17:42 +02:00
Márk Tolmács
15e019706d
feat: Orthogonal (elbow) arrows for diagramming ( #8299 )
...
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2024-08-01 18:39:03 +02:00
Aakansha Doshi
1ed53b153c
build: enable consistent type imports eslint rule ( #7992 )
...
* build: enable consistent type imports eslint rule
* change to warn
* fix the warning in example and excalidraw-app
* fix packages
* enable type annotations and throw error for the rule
2024-05-08 14:21:50 +05:30
Marcel Mraz
530617be90
feat: multiplayer undo / redo ( #7348 )
2024-04-17 14:01:24 +02:00
Ryan Di
32df5502ae
feat: fractional indexing ( #7359 )
...
* Introducing fractional indices as part of `element.index`
* Ensuring invalid fractional indices are always synchronized with the array order
* Simplifying reconciliation based on the fractional indices
* Moving reconciliation inside the `@excalidraw/excalidraw` package
---------
Co-authored-by: Marcel Mraz <marcel@excalidraw.com >
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2024-04-04 13:51:11 +01:00
Aakansha Doshi
2e719ff671
fix: decouple pure functions from hyperlink to prevent mermaid bundling ( #7710 )
...
* move hyperlink code into its folder
* move pure js functions to hyperlink/helpers and move actionLink to actions
* fix tests
* fix
2024-02-20 20:59:01 +05:30
David Luzar
0c24a7042f
feat: remove ExcalidrawEmbeddableElement.validated flag ( #7539 )
2024-01-11 17:42:51 +01:00
Aakansha Doshi
d6cd8b78f1
build: decouple package deps and introduce yarn workspaces ( #7415 )
...
* feat: decouple package deps and introduce yarn workspaces
* update root directory
* fix
* fix scripts
* fix lint
* update path in scripts
* remove yarn.lock files from packages
* ignore workspace
* dummy
* dummy
* remove comment check
* revert workflow changes
* ignore ws when installing gh actions
* remove log
* update path
* fix
* fix typo
2023-12-12 11:32:51 +05:30