* 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>
* Bugfix: 'Copy as SVG' shapes have black fill by default
* Remove binding hit areas from copied SVG
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* removes touch events from middle of shapes
* Improve ellipse
* selectable stroke when not selected, fill when selected
* Update BrushSession.spec.ts
* Fix test
* fix for undo button on menu open
* Change toggle to set, add option for keyboard events
* Update .gitignore
* Update .gitignore
* Remove isStyleOpen
* Remove isStyleOpen
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
* account for "virtual" shapes when preserving appState
* rewrite merge logic
* More work on multiplayer
* Update TldrawApp.ts
* Improve logic around when to replace page content
Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
- when paste the content from clipboard, if the content is not JSON, the `JSON.parse` parse error will be thrown. The info should not be in production build.
Closes#400