Commit Graph

3540 Commits

Author SHA1 Message Date
David Luzar 273ba803d9
fix: font not rendered correctly on init (#8002) 2024-05-10 16:37:46 +02:00
David Luzar 301e83805d
feat: add install-PWA to command palette (#7935) 2024-05-08 22:02:28 +02:00
David Luzar ed5ce8d3de
fix: command palette filter (#7981) 2024-05-08 17:56:05 +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
Aakansha Doshi c1926f33bb
fix: remove unused param from drawImagePlaceholder (#7991) 2024-05-07 20:22:51 +05:30
Andreas Gebhardt 6539029d2a
fix: docker build of Excalidraw app (#7430)
* fix: docker build of Excalidraw app

Fixes #7403.

* deps: update (container) Nginx to 1.24

---------

Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
2024-05-07 18:00:58 +05:30
David Luzar d1f37cc64f
feat: tweak a few icons & add line editor button to side panel (#7990) 2024-05-07 13:18:39 +02:00
Márk Tolmács f0d25e34c3
chore: Add lcov coverage output to vitest (#7987)
chore: Add lcov coverage output to vitest so VSCode coverage gutters extension works

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
2024-05-06 17:35:23 +02:00
Márk Tolmács d9bbf1eda6
feat: Allow binding only via linear element ends (#7946)
Arrows now only bind to new shapes if their start or end point is dragged close to them. Arrows previously bound to shapes remain bound on move and drag if at the end of the drag/move the points remain in the original shapes' binding area.

---------

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
Co-authored-by: Sammy Lee <sammy.joe.lee@gmail.com>
2024-05-02 08:32:12 +02:00
Márk Tolmács f79fb9aae2
chore: Bump vitest to 1.5.3 to support VSCode vitest Extension (#7968)
Bump vitest to 1.5.3 to support VSCode vitest Extension

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
2024-05-01 20:47:52 +02:00
Mritunjay Goutam 275f6fbe24
fix: typo in doc api (#7466) 2024-04-30 16:52:42 +00:00
Ryan Di 88812e0386
feat: resize elements from the sides (#7855)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2024-04-30 18:05:00 +02:00
Marcel Mraz 6e5aeb112d
feat: record freedraw tool selection to history (#7949) 2024-04-25 17:24:05 +00:00
Marcel Mraz 4d83d1c91e
fix: use Reflect API instead of Object.hasOwn (#7958) 2024-04-25 15:36:26 +02:00
Márk Tolmács a04676d423
fix: CTRL/CMD & arrow point drag unbinds both sides (#6459) (#7877) 2024-04-23 00:01:05 +02:00
Milos Vetesnik c851aaaf7b
fix: z-index for laser pointer to be able to draw on embeds and such (#7918) 2024-04-22 23:53:55 +02:00
Marcel Mraz 1bd2b1fe55
feat: export reconciliation (#7917) 2024-04-22 17:27:57 +02:00
Marcel Mraz 015b46ab23
feat: expose `StoreAction` in relation to multiplayer history (#7898)
Improved Store API and improved handling of actions to eliminate potential concurrency issues
2024-04-22 09:22:25 +00:00
Marcel Mraz 530617be90
feat: multiplayer undo / redo (#7348) 2024-04-17 14:01:24 +02:00
David Luzar 5211b003b8
fix: double text rendering on edit (#7904) 2024-04-17 13:48:04 +02:00
Ryan Di bbcca06b94
fix: collision regressions from vector geometry rewrite (#7902) 2024-04-17 13:31:12 +02:00
johnd99 f92f04c13c
fix: Correct unit from 'eg' to 'deg' (#7891) 2024-04-15 11:11:27 +02:00
David Luzar 890ed9f31f
feat: add "toggle grid" to command palette (#7887) 2024-04-13 19:12:29 +02:00
David Luzar da2e507298
fix: allow same origin for all necessary domains (#7889) 2024-04-13 18:51:30 +02:00
David Luzar f59b4f6af4
fix: always make sure we render bound text above containers (#7880) 2024-04-12 21:50:02 +02:00
David Luzar afcde542f9
fix: parse embeddable srcdoc urls strictly (#7884) 2024-04-12 20:51:17 +02:00
Ryan Di 4689a6b300
fix: hit test for closed sharp curves (#7881) 2024-04-12 12:58:51 +02:00
David Luzar 0ae9b383d6
fix: Gist embed allowing unsafe html (#7883) 2024-04-12 12:57:43 +02:00
David Luzar f597bd3e01
fix: command palette tweaks and fixes (#7876) 2024-04-11 11:39:19 +02:00
Ryan Di 4987cc53d0
fix: include borders when testing insides of a shape (#7865) 2024-04-09 16:07:36 +02:00
Rinku Chaudhari d917db438e
fix: external link not opening (#7859) 2024-04-09 16:06:49 +02:00
Aakansha Doshi a33a400f01
fix: add safe check for arrow points length in tranformToExcalidrawElements (#7863)
* fix: add safe check for arrow points length in tranformToExcalidrawElements

* add spec

* throw error only for dev mode

* fix lint
2024-04-09 09:56:21 +05:30
David Luzar 8a162a4cb4
fix: import (#7869) 2024-04-08 16:59:03 +02:00
David Luzar c6a045d092
fix: theme toggle shortcut `event.code` (#7868) 2024-04-08 16:55:33 +02:00
Arnost Pleskot cd50aa719f
feat: add system mode to the theme selector (#7853)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2024-04-08 16:46:24 +02:00
David Luzar 92bc08207c
fix: remove incorrect check from index.html (#7867) 2024-04-08 16:42:00 +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
Ryan Di bbdcd30a73
refactor: update collision from ga to vector geometry (#7636)
* new collision api

* isPointOnShape

* removed redundant code

* new collision methods in app

* curve shape takes starting point

* clean up geometry

* curve rotation

* freedraw

* inside curve

* improve ellipse inside check

* ellipse distance func

* curve inside

* include frame name bounds

* replace previous private methods for getting elements at x,y

* arrow bound text hit detection

* keep iframes on top

* remove dependence on old collision methods from app

* remove old collision functions

* move some hit functions outside of app

* code refactor

* type

* text collision from inside

* fix context menu test

* highest z-index collision

* fix 1px away binding test

* strictly less

* remove unused imports

* lint

* 'ignore' resize flipping test

* more lint fix

* skip 'flips while resizing' test

* more test

* fix merge errors

* fix selection in resize test

* added a bit more comment

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2024-04-04 16:31:23 +08:00
David Luzar 3e334a67ed
feat: show firefox-compatible command palette shortcut alias (#7825) 2024-03-28 18:12:54 +01:00
David Luzar 1d71f84515
fix: stop using lookbehind for backwards compat (#7824) 2024-03-28 17:32:38 +01:00
Ryan Di 550a388b2b
feat: command palette (#7804)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2024-03-28 16:16:32 +00:00
David Luzar 6b523563d8
fix: ejs support in html files (#7822) 2024-03-28 14:58:47 +01:00
David Luzar 65bc500598
fix: `excalidrawAPI.toggleSidebar` not switching between tabs correctly (#7821) 2024-03-28 14:52:23 +01:00
Aakansha Doshi 7949aa1f1c
feat: upgrade mermaid-to-excalidraw to 0.3.0 (#7819) 2024-03-28 16:44:29 +05:30
David Luzar 15bfa626b4
feat: support to not render remote cursor & username (#7130) 2024-03-18 10:41:06 +01:00
David Luzar 068895db0e
feat: expose more collaborator status icons (#7777) 2024-03-18 10:20:07 +01:00
dwelle b7babe554b feat: load old library if migration fails 2024-03-11 09:57:01 +01:00
dwelle 6a385d6663 feat: change LibraryPersistenceAdapter `load()` `source` -> `priority`
to clarify the semantics
2024-03-11 09:40:51 +01:00
David Luzar 2382fad4f6
feat: store library to IndexedDB & support storage adapters (#7655) 2024-03-08 22:29:19 +01:00
Marcel Mraz 480572f893
fix: correcting Assistant metrics (#7758)
* Changed Assistant metrics to the corrrect ones from OS/2 table

* Adding more information about font metrics

* Adding branded types to avoid future mistakes
2024-03-07 16:54:36 +01:00