Commit Graph

3254 Commits (0dd1daf0e92a70eb98266d18ec754f33d69ab7f2)
 

Author SHA1 Message Date
Marcel Mraz 0dd1daf0e9
Fix API docs
Dante Calderon 18a7b97515
chore: Fix typo in comment in LocalData file ()
Aakansha Doshi e8def8da8d
feat: Support mermaid flowchart and sequence diagrams to excalidraw diagrams 🥳 ()
* feat: integrate mermaidToExcalidraw

* create mermaid to excal dialog

* allow mermaid syntax and export in preview

* fix

* fix webpack config

* fix markdown error by using named export

* center preview

* set elements as selected when inserted onto canvas

* persist mermaid data to storage

* store canvas data in refs

* load mermaid lazily

* tweak design

* compute width, height correctly for arrows

* fix undefined vertex issue

* add mermaid icon in dropdown

* add a note in dialog

* reset preview when error

* show error in preview when error

* show mermaid error messgae react way

* design tweaks

* add example and docs link

* fix

* tweak design to remove scroll bar

* show a spinner unless mermaid loaded

* regenerate ids when needed via programmatic api, this makes sure for mermaid diagrams ids are regenerated

* tweak

* add option to transform viewport to scene coords in transform api

* make opts optional and use 100% zoom when inserting to canvas

* fix arrow bindings in safari and firefox

* fix elements insert position and viewport centering

* fix: Update start/end points by 0.5 so bindings don't overlap with start/end bound element coordinates.

* defer rendering the preview

* tweak text

* fix tests

* remove only

* make design responsive

* fix: show extra tools dropdown in mobile

* fix mobile css

* width auto

* upgrade mermaid-to-excalidraw

* don't pass appState in deps as its not used

* upgrade mermaid-to-excalidraw to fix firefox issue

* use types from mermaid-to-excalidraw

* upgrade mermaid-to-excalidraw

* use stable version of mermaid-to-excalidraw

* upgrade mermaid-to-excalidraw

* fix width of shapes toolbar for smaller screen size and also fix regression of mobile menu

* use i18n

* better api

* enable test coverage in ui

* Add tests

* use common utils to update and get text editor

* updgrade mermaid-to-excalidraw to support sequence diagrams

* fix test

* don't update arrow container height anytime in when redrawing text bounding box

* increase size limit

* increase size limit of vendor to 900kb

* use openDialog for mermaid

* upgrade mermaid-to-excalidraw

* update frame id post generation

* upgrade mermaid-to-excalidraw to add entity codes support

* update size limit

* upgrade mermaid-to-excalidraw package with frame api changes

* upgrade mermaid-to-excalidraw to remove directive and use config

* don't highlight mermaid tool and remove unused api setSelection

* stop using loading state to update text area

* move some styling to scss

* review fixes

* use modifiedTableIcon props and remove stale snap

* css

* dialog css

* fix snap

* use dialog border

* change mermaidToExcalidrawLib to state

* better styling of errors

* make modal bigger

* fix mobile

* update snaps

* fix icon color

* fix dark mode insert button color

* horizontally center spinner

* render canvas conditionally on loaded state

* rd tweaks

* tweak class names

* remove max height

* typo in example

* upgrade mermaid-to-excalidraw

* simplify error state

* fix height & overflow on vertical breakpoint

* fix lint

* show errors in overlay

* set textarea font family

* reduce opacity

* update snap

* upgrade to mermaid  0.1.2

---------

Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar a7db41c5ba
fix: align input `:hover`/`:focus` with spec ()
David Luzar d8166d9e1d
fix: dialog remounting on className updates ()
Farzaneh Sefidabi 81c0259041
docs: add npm downloads rate badge to README.md file ()
Aakansha Doshi f5c91c3a0f
feat: support frames via programmatic API ()
* update frame id post generation

* support frames via programmatic API

* fix types

* add test for frames

* throw error when element doesn't exist

* naming tweaks

* update the api to use children

* consider max of frame dimensions and calculated bounds of elements

* consider bound elements in frame api
David Luzar 9b8de8a12e
test: disable flaky test ()
David Luzar ea677d4581
feat: make clipboard more robust and reintroduce contextmenu actions ()
Aakansha Doshi ec2de7205f
fix: don't update label position when dragging labelled arrows ()
* fix: don't update label position when dragging labelled arrows

* lint

* add test

* don't update coords for label when labelled arrow inside frame

* increase locales bundle size limit
Are d5e3f436dc
feat: add approximate elements in bbox detection ()
Co-authored-by: dwelle <luzar.david@gmail.com>
Aakansha Doshi dcf4592e79
feat: regenerate ids by default when using transform api and also update bindings by 0.5px to avoid possible overlapping ()
* feat: regenerate ids by default when using transform api and also update bindings by 0.5px to avoid possible overlapping

* type

* increase limit as some past PR(s) increased the bundle size

* review fixes

* update changelog
David Luzar d1f8eec174
feat: support giphy.com embed domain ()
David Luzar 0f81c30276
fix: frame add/remove/z-index ordering changes ()
zsviczian f098789d16
fix: element relative position when dragging multiple elements on grid ()
Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar f794b0bb90
fix: freedraw non-solid bg hitbox not working ()
David Luzar 104f64f1dc
revert: remove bound-arrows from frames ()
Viczián András 71ad3c5356
fix: Actions panel ux improvement ()
Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar afea0df141
feat: renderer tweaks ()
Preet d2a508104e
fix: Better fill rendering with latest RoughJS ()
Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar 3697618266
feat: support `props.locked` for `setActiveTool` ()
Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
David Luzar e7cc2337ea
feat: add `onChange`, `onPointerDown`, `onPointerUp` api subs ()
dependabot[bot] 9eb89f9960
build(deps): bump @babel/traverse from 7.18.9 to 7.23.2 in /dev-docs ()
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Excalidraw Bot ab1bcc7615
chore: Update translations from Crowdin ()
Vaibhav Shukla b1cac35269
feat: Closing of "Save to.." Dialog on Save To Disk ()
Co-authored-by: dwelle <luzar.david@gmail.com>
Vaibhav Shukla 83f86e2b86
fix: Fix for Strange Symbol Appearing on Canvas after Deleting Grouped Graphics (Issue ) ()
Co-authored-by: dwelle <luzar.david@gmail.com>
dependabot[bot] 7e38cab76e
build(deps): bump @babel/traverse from 7.21.4 to 7.23.2 ()
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
David Luzar 2cabb1f1f4
fix: attempt to fix flake in wysiwyg tests ()
Lakshya Satpal 63650f82d1
feat: Added Copy/Paste from Google Docs ()
Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar dde3dac931
feat: remove bound-arrows from frames ()
David Luzar 5b94cffc74
fix: ensure `ClipboardItem` created in the same tick to fix safari ()
David Luzar aaf73c8ff3
fix: double image dialog shown on insert ()
mazijian-pp 44d9d5fcac
fix: wysiwyg left in undefined state on reload ()
Alex Kim 89a3bbddb7
test: add more resizing tests ()
Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar b86184a849
fix: ensure relative z-index of elements added to frame is retained ()
Barnabás Molnár b552166924
feat: new dark mode theme & light theme tweaks ()
Co-authored-by: dwelle <luzar.david@gmail.com>
David Luzar 26ff3993bb
feat: better laser cursor for dark mode ()
David Luzar 7ad02c359a
fix: memoize static canvas on `props.renderConfig` ()
David Luzar 2523fe82e3
feat: laser pointer improvements ()
zsviczian 4ea079eb85
fix: regression from preventing redirect link in view mode ()
Co-authored-by: dwelle <luzar.david@gmail.com>
Ryan Di f20ba90ffa
perf: improve element in frame check ()
Emmanuel Ferdman 03da9112cf
fix: update links to excalidraw-app ()
David Luzar a249f332a2
fix: ensure we do not stop laser update prematurely ()
Are 2e61926a6b
feat: initial Laser Pointer MVP ()
* feat: initial Laser pointer mvp

* feat: add laser-pointer package and integrate it with collab

* chore: fix yarn.lock

* feat: update laser-pointer package, prevent panning from showing

* feat: add laser pointer tool button when collaborating, migrate to official package

* feat: reduce laser tool button size

* update icon

* fix icon & rotate

* fix: lock zoom level

* fix icon

* add `selected` state, simplify and reduce api

* set up pointer callbacks in viewMode if laser tool active

* highlight extra-tools button if one of the nested tools active

* add shortcut to laser pointer

* feat: don't update paths if nothing changed

* ensure we reset flag if no rAF scheduled

* move `lastUpdate` to instance to optimize

* return early

* factor out into constants and add doc

* skip iteration instead of exit

* fix naming

* feat: remove testing variable on window

* destroy on editor unmount

* fix incorrectly resetting `lastUpdate` in `stop()`

---------

Co-authored-by: dwelle <luzar.david@gmail.com>
DanielJGeiger e921bfb1ae
feat: Export `iconFillColor()` ()
David Luzar e6f74350ac
refactor: DRY out tool typing ()
David Luzar fa33aa08ab
refactor: refactor event globals to differentiate from `lastPointerUp` ()
David Luzar 8b838049df
fix: remove invisible elements safely ()
David Luzar 1f4f5e11ae
refactor: DRY out and simplify setting active tool from toolbar ()
David Luzar 12420592ef
feat: support menu / dropdown items to have `selected` state ()