* local images
use assets for local copy
add menu options
* clean up packages
* cleanup unused content, move file handling into app.paste
* Add tldraw-assets.json to other files.
* add path to editor
* Update build.mjs
* add export to server example with link to gist
* Fix onAssetCreate and onAssetDelete APIs
* Update yarn.lock
* fix bugs on paste, adjust api for getting images, fix readonly on cut, copy, paste
* re-enable swc
* paste svg strings as svg images
* cleanup
* fix string case for tldraw json
Based onto [this worldanvil whiteboard issue](https://github.com/worldanvil/worldanvil-bug-tracker/issues/969) which is based on tldraw where one of our users noticed that the horizontal scrolling (panning) with the middle mouse didn't worked on macOS.
Tested on different machines and this bug fixes it
Co-authored-by: Alejandro Duran <alejandro@worldanvil.com>
* added cade like behaviour like described in issue #555
* added color change when selecting depending on behavior
* added option to turn on/off cad like selection
* Revert "added color change when selecting depending on behavior"
This reverts commit 4a4aac02b68bf1bfbc86f9b9f05e23b3e6e0ae9d.
* Remove colors, add perfect dash props, rename setting, move prop to appState
* Reorder menu
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* fix(import): make sure every shape is in page
- only to add the shape is in page shapes
-https://gist.github.com/cangoektas/4a84e2d48f6e2551b8b3a632ae1b4f71Closes#554
* Update useShapeTree.tsx
* Update useShapeTree.tsx
* Update turbo.json
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* scroll wheel fixes & enhancements
1. correct zoom direction (was reversed)
2. support ctrl+scroll for zoom (in addition to alt+scroll)
3. support shift+scroll for horizontal pan
* Allow two-axis panning
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* Improve appearance of arrow shape labels, set label text color to match stroke
* fix svg copy fonts for text, labels
* Reduce opacity effect of scaled arrow label, update font in export, adds command+enter to finish text
* Adds generic text label
* Clean up text label / text util
* labels for ellipse and triangles
* Add arrow label
* Update filesystem.ts
* Double click bend to edit label, fix mask location
* refactor arrowutil
* fix arrow bindings
* Rename text to label, add labelPoint
* Fix arrow binding, styles on text labels, double click bounds edge to edit label
* Update ArrowSession.ts
* Update StyleMenu.tsx
* set version
* Added image and video shapes
* Fixed bugs; Added optional onImageUpload callback
* Added id field to onImageUpload
* Added onImageDelete callback for cleanup
* Added firebase storage to multiplayer for media
* Added firebase storage to multiplayer for media
* Silence unnecessary TS errors
* Fixed bugs; Added tests
* Added tests
* Disable images for multiplayer example
* switch to assets in document, rather than on shapes, fix resize, fix sizes
* bump version, add migration for assets table
* Rename onImageUpload
* Add isPlaying state to video (not complete)
* Revert "Add isPlaying state to video (not complete)"
This reverts commit 3dc2ba703f4194eb7c47524d384dc8392daa18be.
* Adds controls when editing video, sync current time when cloning
* Remove unused tools
* avoid duplication in assets
* Remove unused image styles from style menu
* Fix placement of clone buttons
* Fix flag to hide image assets in multiplayer
* move getSizeFromDataUrl to filesystem
* Update VideoUtil.tsx
* Re-center video after it loads
* Add copy and paste support for assets
* Fix bug in state manager, remove unused assets on load, fix indicators
* Add multiplayer with images example
* Update MultiplayerEditor.tsx
* Add images to copy SVG
* tighten up some code around svg export
* Update TldrawApp.spec.ts
* Update useBoundsHandleEvents.tsx
* Reset image size by double clicking bounds
* fix reset size
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* onPointShape called instead of onPointerDown
* Update useShapeEvents.tsx
* Bugfix on useShapeEvents wrong key name
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>