Commit Graph

82 Commits (873698a1a2063c6c29ef84e4f0ba86edb14d0592)

Author SHA1 Message Date
Ryan Di d99e4a23ca
feat: use stats panel to crop (#8848)
* feat: use stats panel to crop

* fix: test flake

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2 months ago
Ryan Di c0b80a03bd
feat: in canvas links between shapes (#8812)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
3 months ago
David Luzar a758aaf8f6
fix: update old blog links & add canonical url (#8846) 3 months ago
Márk Tolmács 2db5bbcb29
fix: Unify binding update options for `updateBoundElements()` (#8832)
Fix insonsistent naming for option newSize/oldSize for updateBoundElements()
3 months ago
Marcel Mraz 70e0e8dc29
fix: text pushes UI due to padding (#8745) 4 months ago
Marcel Mraz 2734e646ca
chore: simplify line-break regexes, separate text wrapping (#8715) 4 months ago
David Luzar 79b181bcdc
fix: restore svg image DataURL dimensions (#8730) 4 months ago
David Luzar f9815b8b4f
fix: image cropping svg + compat mode (#8710)
Co-authored-by: Ryan Di <ryan.weihao.di@gmail.com>
4 months ago
David Luzar 4cedf3d966
feat: do not strip unknown element properties on restore (#8682) 4 months ago
Ryan Di e957c8e9ee
feat: image cropping (#8613)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
4 months ago
Marcel Mraz 61623bbeba
fix: Comic Shanns issues, new fonts structure (#8641) 4 months ago
David Luzar 15ca182333
fix: remove export-to-clip-as-svg shortcut for now (#8660) 4 months ago
Marcel Mraz b479f3bd65
feat: add first-class support for CJK (#8530) 4 months ago
David Luzar 47ee8a0094
refactor: `point()` -> `pointFrom()` to fix compiler issue (#8578) 5 months ago
Marcel Mraz a80cb5896a
feat: self-hosting existing google fonts (#8540) 5 months ago
David Luzar 8ca4cf3260
feat: flip arrowheads if only arrow(s) selected (#8525)
Co-authored-by: Mark Tolmacs <mark@lazycat.hu>
5 months ago
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
5 months ago
zsviczian caf2db934c
fix: aspect ratio of distorted images are not preserved in SVG exports (#8061) 5 months ago
David Luzar 813f9b702e
feat: merge search sidebar back to default sidebar (#8497) 5 months ago
David Luzar d107215564
fix: `select` instead of `focus` search input (#8483) 6 months ago
Ryan Di 6959a363f0
feat: canvas search (#8438)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
6 months ago
Aakansha Doshi 6ff56c36e3
fix: add partial mocking (#8473)
* fix: add partial mocking

* lint

* Update packages/utils/export.test.ts
6 months ago
Aakansha Doshi 51ea184938
build: upgrade vite to 5.4.x, vitest to 2.x and related vite packages (#8459)
* build: upgrade vite to 5.x, vitest to 2.x and related vite packages

* upgrade vitest-ui and coverage

* pass empty set to fix type error and update snap

* set ignoreEmptyLines to false

* update threshold

* update coverage threshold

* downgrade vite-plugin-pwa as its better to push separately with testing

* add package resolutions for strip-ansi, string-width and wrap-ansi

* disable pwa

* only add resolution for strip-ansi
6 months ago
Márk Tolmács f4dd23fc31
chore: Unify math types, utils and functions (#8389)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
6 months ago
Ryan Di 5e1ff7cafe
perf: improve new element drawing (#8340)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
6 months ago
David Luzar 3cfcc7b489
feat: split `gridSize` from enabled state & support custom `gridStep` (#8364) 6 months ago
Márk Tolmács 8420e1aa13
fix: Reimplement rectangle intersection (#8367) 6 months ago
David Luzar 97981804d7
feat: Stats popup style tweaks (#8361) 7 months ago
David Luzar 1ea5b26f25
fix: missing `act()` in flowchart tests (#8354) 7 months ago
Clarence Chan d5f4ee7b3f
fix: z-index change by one causes app to freeze (#8314) 7 months ago
Márk Tolmács dd1370381d
chore: Refactor and remove scene from elbow arrow generation (#8342)
* Refactor and remove scene from elbow arrow generation
7 months ago
David Luzar 232242d2e9
test: skip test.yml in PRs (#8330) 7 months ago
David Luzar f19ce30dfe
chore: bump `@testing-library/react` `12.1.5` -> `16.0.0` (#8322) 7 months ago
Ryan Di 3cf14c73a3
refactor: rename `draggingElement` -> `newElement` (#8294)
* add newElement to appState

* freedraw should not be an editing element

* do not set editing element for freedraw and generic

* remove ununsed `appState.draggingElement`

* remove setting dragged for new linear element

* decouple selection element from new element

* fix hint for text bindables

* update snapshot

* fixes

* fix frame regressions

* add comments to types

* document `editingElement`

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
7 months ago
Marcel Mraz 84d89b9a8a
fix: throttle fractional indices validation (#8306) 7 months ago
Márk Tolmács 15e019706d
feat: Orthogonal (elbow) arrows for diagramming (#8299)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
7 months ago
Marcel Mraz d0a380758e
feat: ability to debug the state of fractional indices (#8235) 7 months ago
Marcel Mraz 62228e0bbb
feat: introduce font picker (#8012)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
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>
8 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>
8 months ago
Ryan Di d2f67e619f
feat: editable element stats (#6382)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
David Luzar 22b39277f5
feat: paste as mermaid if applicable (#8116) 9 months ago
Ryan Di 860308eb27
feat: create new text with width (#8038)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
9 months ago
Marcel Mraz 661d6a4a75
fix: flaky snapshot tests with floating point precision issues (#8049) 9 months ago
Marcel Mraz eddbe55f50
fix: always re-generate index of defined moved elements (#8040) 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
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
Marcel Mraz dc66261c19
fix: re-introduce wysiwyg width offset (#8014) 10 months ago