006d2a7ffc
This PR fixes a bug where you could lose focus of the editor, which caused keyboard shortcuts to stop working. The problem was this: - The duplicate button can become disabled while you have it focused. - This would shove focus back to the document body, and the editor would lose focus. - When we disable the button, we should keep focus in the editor instead. - This shouldn't interfere with a developer manually handling focus of the editor themselves. I applied the same fix to the undo, redo, delete and duplicate buttons. **Is this is a bit hacky? Not sure if I'm handling those `ref`s correctly? WDYT?** ![2024-01-25 at 12 14 50 - Gold Nightingale](https://github.com/tldraw/tldraw/assets/15892272/5ca71f92-45fa-48f6-9039-f6c01c495ce7) ### Change Type - [x] `patch` — Bug fix [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Test Plan 1. Create a shape. 2. Select it. 3. Click the duplicate button at the top of the screen. 4. Press the 'd' key. 5. Press the 'a' key. 6. You should have the Arrow tool selected. - [ ] Unit Tests - [ ] End to end tests ### Release Notes - Fixed a bug where keyboard shortcuts could stop working after using an action button. |
||
---|---|---|
.github | ||
.husky | ||
.yarn/patches | ||
apps | ||
assets | ||
config | ||
packages | ||
scripts | ||
.dockerignore | ||
.eslintignore | ||
.eslintplugin.js | ||
.eslintrc.js | ||
.gitignore | ||
.ignore | ||
.prettierignore | ||
.prettierrc | ||
.yarnrc.yml | ||
CHANGELOG.md | ||
CLA.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
lazy.config.ts | ||
lerna.json | ||
LICENSE.md | ||
package.json | ||
README.md | ||
TRADEMARKS.md | ||
vercel.json | ||
yarn.config.cjs | ||
yarn.lock |
tldraw
Welcome to the public monorepo for tldraw. tldraw is a library for creating infinite canvas experiences in React. It's the software behind the digital whiteboard tldraw.com.
- Read the docs and learn more at tldraw.dev.
- Learn about our license.
Local development
To run the local development server, first clone this repo.
Install dependencies:
yarn
Start the local development server:
yarn dev
Open the example project at localhost:5420
.
License
tldraw's source code and distributed packages are provided under the non-commercial tldraw license.
This license does not permit commercial use. If you wish to use tldraw in a commercial product or enterprise, you will need to purchase a commercial license. To obtain a commercial license, please contact us at hello@tldraw.com.
To learn more, see our license page.
Trademarks
The tldraw name and logo are trademarks of tldraw. Please see our trademark guidelines for info on acceptable usage.
Community
Have questions, comments or feedback? Join our discord or start a discussion.
Contribution
Please see our contributing guide. Found a bug? Please submit an issue.
Contact
Find us on Twitter at @tldraw or email hello@tldraw.com. You can also join our discord for quick help and support.