* fix stale labeled arrow bounds cache after editing the label
* add arrow bounds test
* fix test to check the arrow version
* fix
* fix test - remove unused import
* Update src/element/textWysiwyg.test.tsx
---------
Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
* feat: support creating text containers programatically
* fix
* fix
* fix
* fix
* update api to use label
* fix api and support individual shapes and text element
* update test case in package example
* support creating arrows and line
* support labelled arrows
* add in package example
* fix alignment
* better types
* fix
* keep element as is unless we support prog api
* fix tests
* fix lint
* ignore
* support arrow bindings via start and end in api
* fix lint
* fix coords
* support id as well for elements
* preserve bindings if present and fix testcases
* preserve bindings for labelled arrows
* support ids, clean up code and move the api related stuff to transform.ts
* allow multiple arrows to bind to single element
* fix singular elements
* fix single text element, unique id and tests
* fix lint
* fix
* support binding arrow to text element
* fix creation of regular text
* use same stroke color as parent for text containers and height 0 for linear element by default
* fix types
* fix
* remove more ts ignore
* remove ts ignore
* remove
* Add coverage script
* Add tests
* fix tests
* make type optional when id present
* remove type when id provided in tests
* Add more tests
* tweak
* let host call convertToExcalidrawElements when using programmatic API
* remove convertToExcalidrawElements call from restore
* lint
* update snaps
* Add new type excalidraw-api/clipboard for programmatic api
* cleanup
* rename tweak
* tweak
* make image attributes optional and better ts check
* support image via programmatic API
* fix lint
* more types
* make fileId mandatory for image and export convertToExcalidrawElements
* fix
* small tweaks
* update snaps
* fix
* use Object.assign instead of mutateElement
* lint
* preserve z-index by pushing all elements first and then add bindings
* instantiate instead of closure for storing elements
* use element API to create regular text, diamond, ellipse and rectangle
* fix snaps
* udpdate api
* ts fixes
* make `convertToExcalidrawElements` more typesafe
* update snaps
* refactor the approach so that order of elements doesn't matter
* Revert "update snaps"
This reverts commit 621dfadccfea975a1f77223f506dce9d260f91fd.
* review fixes
* rename ExcalidrawProgrammaticElement -> ExcalidrawELementSkeleton
* Add tests
* give preference to first element when duplicate ids found
* use console.error
---------
Co-authored-by: dwelle <luzar.david@gmail.com>
* fix arrow labels resizing
- min arrow labels width based on font size
- labels width and padding in % of container's width
- resize labels simply multiplying by scale
* remove no longer needed getContainerDims
* fix arrow labels font size not updated on change font size action
* fix bound arrows not updated right after resize
* fix test
* fix 3+ point arrow label resizing with shift
* fix bound text not scaling when resizing with shift & n or s handle
* fix arrow labels width not updating when moving a 2-point arrow point with shift
---------
Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
* test: add coverage report for PR
* gh token
* fix
* fix
* add reporter
* fix
* enable v8 for coverage
* no watch
* test
* add threshold
* fix
* change name so the action isn't required
* change job name
* rename job so it doesn't collid with test required check
* remove log