Excalidraw Bot
2c7737ed9b
New translations en.json (Lithuanian)
2026-02-09 00:22:55 +01:00
Excalidraw Bot
c4dcd3a5d2
New translations en.json (Kurdish)
2026-02-09 00:22:54 +01:00
Excalidraw Bot
f0a37029bc
New translations en.json (Korean)
2026-02-09 00:22:53 +01:00
Excalidraw Bot
2567526103
New translations en.json (Japanese)
2026-02-09 00:22:52 +01:00
Excalidraw Bot
a10f7c10ae
New translations en.json (Italian)
2026-02-09 00:22:51 +01:00
Excalidraw Bot
60dc788254
New translations en.json (Hungarian)
2026-02-09 00:22:49 +01:00
Excalidraw Bot
34ab5746b4
New translations en.json (Hebrew)
2026-02-09 00:22:48 +01:00
Excalidraw Bot
6c7b8f4bf4
New translations en.json (Finnish)
2026-02-09 00:22:47 +01:00
Excalidraw Bot
7a79d0306c
New translations en.json (Basque)
2026-02-09 00:22:46 +01:00
Excalidraw Bot
d70108dcfa
New translations en.json (Greek)
2026-02-09 00:22:45 +01:00
Excalidraw Bot
c2fc95116a
New translations en.json (German)
2026-02-09 00:22:44 +01:00
Excalidraw Bot
947a11bac2
New translations en.json (Danish)
2026-02-09 00:22:42 +01:00
Excalidraw Bot
87336c115e
New translations en.json (Czech)
2026-02-09 00:22:41 +01:00
Excalidraw Bot
6041c34aeb
New translations en.json (Catalan)
2026-02-09 00:22:40 +01:00
Excalidraw Bot
184d9ca6e8
New translations en.json (Bulgarian)
2026-02-09 00:22:39 +01:00
Excalidraw Bot
3a844186a7
New translations en.json (Arabic)
2026-02-09 00:22:38 +01:00
Excalidraw Bot
cc262ce5d5
New translations en.json (Spanish)
2026-02-09 00:22:37 +01:00
Excalidraw Bot
802b01562c
New translations en.json (French)
2026-02-09 00:22:36 +01:00
Excalidraw Bot
6f2b43ff0c
New translations en.json (Romanian)
2026-02-09 00:22:35 +01:00
Excalidraw Bot
461f327887
New translations en.json (Russian)
2026-02-09 00:22:33 +01:00
Excalidraw Bot
a33a643a2f
New translations en.json (Vietnamese)
2026-02-09 00:22:32 +01:00
Excalidraw Bot
91f7b38a39
Auto commit: Calculate translation coverage
2026-02-08 21:46:20 +00:00
Excalidraw Bot
998a296ca2
New translations en.json (Persian)
2026-02-08 22:45:54 +01:00
Excalidraw Bot
0afec1bf5c
Auto commit: Calculate translation coverage
2026-02-08 16:00:00 +00:00
Excalidraw Bot
2436e8498a
New translations en.json (Japanese)
2026-02-08 16:59:48 +01:00
Excalidraw Bot
521362a532
Auto commit: Calculate translation coverage
2026-02-08 15:03:07 +00:00
Excalidraw Bot
ae5a2dee54
New translations en.json (Japanese)
2026-02-08 16:02:55 +01:00
Excalidraw Bot
bf62bce4cb
Auto commit: Calculate translation coverage
2026-02-08 13:52:29 +00:00
Excalidraw Bot
92c5acb960
New translations en.json (Japanese)
2026-02-08 14:52:19 +01:00
Excalidraw Bot
d4ce7b067a
New translations en.json (Japanese)
2026-02-08 13:56:44 +01:00
Excalidraw Bot
214e68ce03
Auto commit: Calculate translation coverage
2026-02-08 10:53:56 +00:00
Excalidraw Bot
19cb9ab30e
New translations en.json (Italian)
2026-02-08 11:53:43 +01:00
Excalidraw Bot
3d097669f8
Auto commit: Calculate translation coverage
2026-02-05 18:24:29 +00:00
Excalidraw Bot
ede77bd6ac
New translations en.json (Chinese Simplified)
2026-02-05 19:24:17 +01:00
Excalidraw Bot
05dde8f0d1
Auto commit: Calculate translation coverage
2026-02-04 07:52:55 +00:00
Excalidraw Bot
d11453ae15
New translations en.json (French)
2026-02-04 08:52:41 +01:00
Excalidraw Bot
2d3577bb43
Auto commit: Calculate translation coverage
2026-02-03 06:40:22 +00:00
Excalidraw Bot
4258aeac53
New translations en.json (Japanese)
2026-02-03 07:40:12 +01:00
Excalidraw Bot
4f772d77a4
New translations en.json (Japanese)
2026-02-03 06:35:52 +01:00
Excalidraw Bot
6f57935419
Auto commit: Calculate translation coverage
2026-02-02 12:15:38 +00:00
Excalidraw Bot
61c69915da
New translations en.json (Japanese)
2026-02-02 13:15:26 +01:00
David Luzar
54a9826817
fix(editor): copying to clipboard with no ClipboardEvent ( #10729 )
...
* fix(editor): copying to clipboard with no ClipboardEvent
* fix(editor): use green for `success` state of `FilledButton`
2026-02-01 11:06:37 +01:00
David Luzar
d29fd62e41
fix(editor): crop editor cursor drift ( #10727 )
...
* fix(editor): do not scale cropping editor pointer offsets
* fix lint
* fix more lint
* fix drift related to image canvas scale
2026-02-01 10:45:04 +01:00
David Luzar
b57f3e0096
fix(editor): image positioning in crop editor ( #10726 )
2026-02-01 09:21:30 +01:00
Excalidraw Bot
f12ae80ba1
chore: Update translations from Crowdin ( #10598 )
...
* New translations en.json (Russian)
* New translations en.json (Vietnamese)
* New translations en.json (Russian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Bulgarian)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Basque)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Kurdish)
* New translations en.json (Lithuanian)
* New translations en.json (Dutch)
* New translations en.json (Punjabi)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Slovak)
* New translations en.json (Slovenian)
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Galician)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Indonesian)
* New translations en.json (Persian)
* New translations en.json (Khmer)
* New translations en.json (Tamil)
* New translations en.json (Bengali)
* New translations en.json (Marathi)
* New translations en.json (Thai)
* New translations en.json (Norwegian Nynorsk)
* New translations en.json (Kazakh)
* New translations en.json (Latvian)
* New translations en.json (Azerbaijani)
* New translations en.json (Hindi)
* New translations en.json (Burmese)
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.json (Sinhala)
* New translations en.json (Uzbek)
* New translations en.json (Norwegian Bokmal)
* New translations en.json (Occitan)
* New translations en.json (German, Switzerland)
* New translations en.json (Bengali, India)
* New translations en.json (Kabyle)
* New translations en.json (Karakalpak)
* Auto commit: Calculate translation coverage
* New translations en.json (Russian)
* Auto commit: Calculate translation coverage
* New translations en.json (Romanian)
* Auto commit: Calculate translation coverage
* New translations en.json (Italian)
* Auto commit: Calculate translation coverage
* New translations en.json (Italian)
* Auto commit: Calculate translation coverage
* New translations en.json (Hungarian)
* New translations en.json (Hungarian)
* New translations en.json (Hindi)
* New translations en.json (Dutch)
* New translations en.json (Dutch)
* New translations en.json (Vietnamese)
* New translations en.json (Russian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Bulgarian)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Basque)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Kurdish)
* New translations en.json (Lithuanian)
* New translations en.json (Dutch)
* New translations en.json (Punjabi)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Slovak)
* New translations en.json (Slovenian)
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Galician)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Indonesian)
* New translations en.json (Persian)
* New translations en.json (Khmer)
* New translations en.json (Tamil)
* New translations en.json (Bengali)
* New translations en.json (Marathi)
* New translations en.json (Thai)
* New translations en.json (Norwegian Nynorsk)
* New translations en.json (Kazakh)
* New translations en.json (Latvian)
* New translations en.json (Azerbaijani)
* New translations en.json (Hindi)
* New translations en.json (Burmese)
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.json (Sinhala)
* New translations en.json (Uzbek)
* New translations en.json (Norwegian Bokmal)
* New translations en.json (Occitan)
* New translations en.json (German, Switzerland)
* New translations en.json (Bengali, India)
* New translations en.json (Kabyle)
* New translations en.json (Karakalpak)
* New translations en.json (Romanian)
* New translations en.json (Vietnamese)
* New translations en.json (Russian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Bulgarian)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Basque)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Kurdish)
* New translations en.json (Lithuanian)
* New translations en.json (Dutch)
* New translations en.json (Punjabi)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Slovak)
* New translations en.json (Slovenian)
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Galician)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Indonesian)
* New translations en.json (Persian)
* New translations en.json (Khmer)
* New translations en.json (Tamil)
* New translations en.json (Bengali)
* New translations en.json (Marathi)
* New translations en.json (Thai)
* New translations en.json (Norwegian Nynorsk)
* New translations en.json (Kazakh)
* New translations en.json (Latvian)
* New translations en.json (Azerbaijani)
* New translations en.json (Hindi)
* New translations en.json (Burmese)
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.json (Sinhala)
* New translations en.json (Uzbek)
* New translations en.json (Norwegian Bokmal)
* New translations en.json (Occitan)
* New translations en.json (German, Switzerland)
* New translations en.json (Bengali, India)
* New translations en.json (Kabyle)
* New translations en.json (Karakalpak)
* New translations en.json (Romanian)
* New translations en.json (Italian)
* New translations en.json (Russian)
* New translations en.json (Romanian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Bulgarian)
* New translations en.json (Catalan)
* New translations en.json (Czech)
* New translations en.json (Danish)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Basque)
* New translations en.json (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Hungarian)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Korean)
* New translations en.json (Kurdish)
* New translations en.json (Lithuanian)
* New translations en.json (Dutch)
* New translations en.json (Punjabi)
* New translations en.json (Polish)
* New translations en.json (Portuguese)
* New translations en.json (Slovak)
* New translations en.json (Slovenian)
* New translations en.json (Swedish)
* New translations en.json (Vietnamese)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Galician)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Indonesian)
* New translations en.json (Persian)
* New translations en.json (Khmer)
* New translations en.json (Tamil)
* New translations en.json (Bengali)
* New translations en.json (Marathi)
* New translations en.json (Thai)
* New translations en.json (Norwegian Nynorsk)
* New translations en.json (Kazakh)
* New translations en.json (Latvian)
* New translations en.json (Azerbaijani)
* New translations en.json (Hindi)
* New translations en.json (Burmese)
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.json (Sinhala)
* New translations en.json (Uzbek)
* New translations en.json (Norwegian Bokmal)
* New translations en.json (Occitan)
* New translations en.json (German, Switzerland)
* New translations en.json (Bengali, India)
* New translations en.json (Kabyle)
* New translations en.json (Karakalpak)
* New translations en.json (Romanian)
* Auto commit: Calculate translation coverage
2026-01-31 22:12:24 +01:00
David Luzar
f7b537a8b1
feat(packages/excalidraw): export CommandPalette ( #10724 )
...
feat: export CommandPalette
2026-01-31 20:24:20 +01:00
Yash
94364af68f
fix: Clarify welcome screen message about browser storage limitations ( #10721 )
...
* fix: Clarify welcome screen message about browser storage limitations
* css tweaks
* update snaps
---------
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2026-01-31 17:15:14 +01:00
zsviczian
dfa1ce572b
fix: SVG Inversion on Safari ( #10712 )
...
* invert image on safari
* lint
* Inversion to match theme filter
* cleanup
* Adjust canvas dimensions for device pixel ratio when inverting on Safari
* revert inversion algo & handle darkMode placeholder
---------
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2026-01-31 16:28:21 +01:00
Márk Tolmács
b552c60714
feat: Focus indicator ( #10613 )
...
* feat: Focus indicator
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Snapshot update
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* feat: Move visualdebug to utils and introduce volume bindable volume visualization
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Move visualdebug to elements
Due to dep circles
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Possible test timeout
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Incorrect hit test point input
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* feat: Add fallback when dragged outside of allowed area
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Elbow arrows don't need focus point mgmt
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: End bound indirect fix
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Show indicator when arrow endpoint dragging
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Update bound arrow endpoint at mid-point drag
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* chore: Refactor
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Curve endpoint intersection
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Outline focus point is reset on existing arrow drag
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Tests
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* chore: Fix lint
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* feat: Dragging focus point off
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Don't show the focus indicator when arrow endpoint is dragged
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Drag area for focus handles
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Focus point size unified
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Size bump for focus knob
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* feat: Cache hits and scene lookups
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* chore: Remove debug
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Consider hit threshold and inside override too
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Other shape switching
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* perf: Update tolerance params
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Focus know line width
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: knob offset
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Full overlap
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* chore: Remove Map caching
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: incorrect threshold
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: threshold setting
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Hit caching
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: cache override
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Snapshots
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* feat: Redesigned focus point handling
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Inside-inside mode
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* chore: Remove comment
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* feat: Allow focus knob outside the shape
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Arrow endpoint offset
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Focus knob element distance
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Increase iteration on curve intersection calc
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Handle disabled binding
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Alt mode
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Nested shape focus rewrite
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Alt + Ctrl + arrow endpoitn
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Hit ordering for focus points
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Focus point visibility
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* dry out renderFocusPointIndicator
* do not higlight point when dragging & make focus point smaller
* optimize retrieval of selectedLinearElement
* move focus highlighting into renderFocusPointIndicator to DRY out and colocate
* remove `disabled` state from focus highlight
* make focus point stroke color less prominent
* fix: No focus point for multi-point arrows
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* fix: Arrow edit mode drag focus point release
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
* DRY out arrow point-like drag
* move `focus.ts` to `arrows/focus.ts`
---------
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com >
2026-01-31 15:08:28 +01:00
Márk Tolmács
216afc3625
fix: Coherent stats binding ( #10718 )
...
Signed-off-by: Mark Tolmacs <mark@lazycat.hu >
2026-01-30 22:20:46 +01:00