Commit Graph

153 Commits (5a0771ad9c68f5011784b46c96f8360da1599d42)

Author SHA1 Message Date
Marcel Mraz 5a0771ad9c
fix: load fonts for `exportToCanvas` (#8298) 6 months ago
Marcel Mraz adcdbe2907
fix: re-add Cascadia Code with ligatures (#8291) 6 months ago
Marcel Mraz 230d0edc44
feat: multiple fonts fallbacks (#8286) 6 months ago
Marcel Mraz d0a380758e
feat: ability to debug the state of fractional indices (#8235) 6 months ago
Ryan Di 7b36de0476
fix: linear elements not selected on pointer up from hitting its bound text (#8285)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
6 months ago
David Luzar 2427e622b0
feat: improve mermaid detection on paste (#8287) 6 months ago
Marcel Mraz 62228e0bbb
feat: introduce font picker (#8012)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
6 months ago
DDDDD12138 4c5408263c
chore: Correct Typos in Code Comments (#8268)
chore: correct typos

Co-authored-by: wuzhiqing <wuzhiqing@linklogis.com>
6 months ago
Aakansha Doshi bd7b778f41
perf: cache the temp canvas created for labeled arrows (#8267)
* perf: cache the temp canvas created for labeled arrows

* use allEleemntsMap so bound text element can be retrieved when editing

* remove logs

* fix rotation

* pass isRotating

* feat: cache `element.angle` instead of relying on `appState.isRotating`

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
6 months ago
David Luzar 43b2476dfe
fix: revert default element canvas padding change (#8266) 6 months ago
BlueGreenMagick df8875a497
fix: freedraw jittering (#8238) 7 months ago
Aakansha Doshi d25a7d365b
feat: upgrade mermaid-to-excalidraw to v1.1.0 (#8226)
* feat: upgrade mermaid-to-excalidraw to v1.1.0

* fixes

* upgrade and remove config as its redundant

* lint

* upgrade to v1.1.0
7 months ago
David Luzar e52c2cd0b6
fix: log allowed events (#8224) 7 months ago
David Luzar 96eeec5119
feat: bump max file size (#8220) 7 months ago
zsviczian 2e1f08c796
fix: memory leak - scene.destroy() and window.launchQueue (#8198) 7 months ago
David Luzar 1d5b41dabb
fix: stop updating text versions on init (#8191) 7 months ago
Márk Tolmács 66a2f24296
fix: Add binding update to manual stat changes (#8183)
Manual stats changes now respect previous element bindings.
7 months ago
Márk Tolmács 04668d8263
fix: Binding after duplicating is now applied for both the old and duplicate shapes (#8185)
Using ALT/OPT + drag to clone does not transfer the bindings (or leaves the duplicates in place of the old one , which are also not bound).

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
7 months ago
David Luzar abbeed3d5f
feat: support Stats bound text `fontSize` editing (#8187) 7 months ago
Márk Tolmács ba8c09d529
fix: Incorrect point offsetting in LinearElementEditor.movePoints() (#8145)
The LinearElementEditor.movePoints() function incorrectly calculates the offset for local linear element points when multiple targetPoints are provided, one of those target points is index === 0 AND the other points are moved in the negative direction, and ending up with negative local coordinates.

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
7 months ago
David Luzar 744b3e5d09
fix: stats state leaking & race conds (#8177) 7 months ago
Esteban Romo 6ba9bd60e8
feat: allow props.initialData to be a function (#8135) 7 months ago
zsviczian a1ffa064df
fix: only bind arrow (#8152)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
8 months ago
David Luzar 4dc4590f24
fix: repair invalid binding on restore & fix type check (#8133) 8 months ago
Ryan Di d2f67e619f
feat: editable element stats (#6382)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
8 months ago
David Luzar 22b39277f5
feat: paste as mermaid if applicable (#8116) 8 months ago
David Luzar 08b13f971d
fix: wysiwyg blur-submit on mobile (#8075) 8 months ago
David Luzar 69f4cc70cb
feat: stop autoselecting text on text edit on mobile (#8076) 8 months ago
Ryan Di 860308eb27
feat: create new text with width (#8038)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
8 months ago
David Luzar 4eb9463f26
fix: restore linear dimensions from points (#8062) 8 months ago
Marcel Mraz 661d6a4a75
fix: flaky snapshot tests with floating point precision issues (#8049) 8 months ago
David Luzar defd34923a
docs: fix `updateScene` `storeAction` default tsdoc & document types (#8048) 9 months ago
Ryan Di c540bd68aa
feat: wrap long text when pasting (#8026)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
Marcel Mraz eddbe55f50
fix: always re-generate index of defined moved elements (#8040) 9 months ago
Aakansha Doshi 2f9526da24
feat: upgrade to mermaid-to-excalidraw v1 🚀 (#8022)
* feat: upgrade to mermaid-to-excalidraw v1 🚀

* upgrade to v1
9 months ago
David Luzar 1b6e3fe05b
feat: rerender canvas on focus (#8035) 9 months ago
VatsalSoni_13 afe52c89a7
fix: undo/redo when exiting view mode (#8024)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
zsviczian be4e127f6c
fix: Two finger panning is slow (#7849)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
Karthik Nishanth ff0b4394b1
feat: add missing `type="button"` (#8030) 9 months ago
Hey 7d8b7fc14d
fix: compatible safari layers button svg (#8020)
Co-authored-by: ysen <ysen.ge@hairobotics.com>
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
Ryan Di 971b4d4ae6
feat: text wrapping (#7999)
* resize single elements from the side

* fix lint

* do not resize texts from the sides (for we want to wrap/unwrap)

* omit side handles for frames too

* upgrade types

* enable resizing from the sides for multiple elements as well

* fix lint

* maintain aspect ratio when elements are not of the same angle

* lint

* always resize proportionally for multiple elements

* increase side resizing padding

* code cleanup

* adaptive handles

* do not resize for linear elements with only two points

* prioritize point dragging over edge resizing

* lint

* allow free resizing for multiple elements at degree 0

* always resize from the sides

* reduce hit threshold

* make small multiple elements movable

* lint

* show side handles on touch screen and mobile devices

* differentiate touchscreens

* keep proportional with text in multi-element resizing

* update snapshot

* update multi elements resizing logic

* lint

* reduce side resizing padding

* bound texts do not scale in normal cases

* lint

* test sides for texts

* wrap text

* do not update text size when changing its alignment

* keep text wrapped/unwrapped when editing

* change wrapped size to auto size from context menu

* fix test

* lint

* increase min width for wrapped texts

* wrap wrapped text in container

* unwrap when binding text to container

* rename `wrapped` to `autoResize`

* fix lint

* revert: use `center` align when wrapping text in container

* update snaps

* fix lint

* simplify logic on autoResize

* lint and test

* snapshots

* remove unnecessary code

* snapshots

* fix: defaults not set correctly

* tests for wrapping texts when resized

* tests for text wrapping when edited

* fix autoResize refactor

* include autoResize flag check

* refactor

* feat: rename action label & change contextmenu position

* fix: update version on `autoResize` action

* fix infinite loop when editing text in a container

* simplify

* always maintain `width` if `!autoResize`

* maintain `x` if `!autoResize`

* maintain `y` pos after fontSize change if `!autoResize`

* refactor

* when editing, do not wrap text in textWysiwyg

* simplify text editor

* make test more readable

* comment

* rename action to match file name

* revert function signature change

* only update  in app

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
Guillaume Grossetie 79257a1923
fix: correctly resolve the package version (#8016)
The property name is `VITE_PKG_VERSION` (not `PKG_VERSION`)

Resolves #7984
9 months ago
Marcel Mraz dc66261c19
fix: re-introduce wysiwyg width offset (#8014) 9 months ago
David Luzar 273ba803d9
fix: font not rendered correctly on init (#8002) 9 months ago
David Luzar 301e83805d
feat: add install-PWA to command palette (#7935) 9 months ago
David Luzar ed5ce8d3de
fix: command palette filter (#7981) 9 months ago
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
9 months ago
Aakansha Doshi c1926f33bb
fix: remove unused param from drawImagePlaceholder (#7991) 9 months ago
David Luzar d1f37cc64f
feat: tweak a few icons & add line editor button to side panel (#7990) 9 months ago
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>
9 months ago