No description
Find a file
alex cf32a09221
Fix editor remounting when camera options change (#4089)
Currently, the editor gets recreated whenever the camera options (or
several other props that are only relevant at initialisation time) get
changed.

This diff makes it so that:
- init-only props are kept in a ref so they don't invalidate the editor
(but are used when the editor _does_ get recreated)
- camera options are kept up to date in a separate effect

### Change type

- [x] `bugfix`

### Release notes

Fix an issue where changing `cameraOptions` via react would cause the
entire editor to re-render
2024-07-08 10:22:25 +00:00
.github Demo assets server (#4055) 2024-07-02 13:08:50 +00:00
.husky Don't check api.json files into git (#3565) 2024-04-24 15:58:26 +00:00
.yarn/patches Fix markdown list rendering on docs site (#3813) 2024-05-23 13:00:22 +00:00
apps Share menu improvements (#4079) 2024-07-06 07:08:54 +00:00
assets theme: rename color scheme to theme (#3991) 2024-06-20 10:04:47 +00:00
config Generated docs cleanup (#3935) 2024-06-13 16:04:12 +00:00
packages Fix editor remounting when camera options change (#4089) 2024-07-08 10:22:25 +00:00
scripts put sync stuff in bemo worker (#4060) 2024-07-03 14:10:54 +00:00
templates Bump the npm_and_yarn group across 3 directories with 4 updates (#3920) 2024-06-11 13:33:44 +00:00
.dockerignore unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
.eslintignore put sync stuff in bemo worker (#4060) 2024-07-03 14:10:54 +00:00
.eslintplugin.js transfer-out: transfer out 2023-04-25 12:01:25 +01:00
.eslintrc.js Better generated docs for react components (#3930) 2024-06-13 13:09:27 +00:00
.gitignore check worker bundle sizes (#4032) 2024-06-27 13:48:17 +00:00
.ignore put sync stuff in bemo worker (#4060) 2024-07-03 14:10:54 +00:00
.prettierignore put sync stuff in bemo worker (#4060) 2024-07-03 14:10:54 +00:00
.prettierrc Unbiome (#2776) 2024-02-07 16:02:22 +00:00
.yarnrc.yml [dx] Allow vscode to search inside md files by default (#3105) 2024-03-11 14:08:04 +00:00
CHANGELOG.md Update CHANGELOG.md [skip ci] 2024-06-25 13:27:57 +00:00
CLA.md Change licenses to tldraw (#2167) 2023-12-19 10:41:01 +00:00
CODE_OF_CONDUCT.md transfer-out: transfer out 2023-04-25 12:01:25 +01:00
CONTRIBUTING.md dev: swap yarn test and test-dev for better dx (#2773) 2024-02-14 16:05:59 +00:00
lazy.config.ts Don't check api.json files into git (#3565) 2024-04-24 15:58:26 +00:00
lerna.json Update CHANGELOG.md [skip ci] 2024-06-25 13:27:57 +00:00
LICENSE.md Change licenses to tldraw (#2167) 2023-12-19 10:41:01 +00:00
package.json Initial bemo worker setup (#4017) 2024-07-01 11:35:23 +00:00
README.md Update README.md (#3818) 2024-05-23 09:27:40 +00:00
RELEASES.md css more shapes that need transparent behavior (#3497) 2024-04-16 15:19:30 +00:00
TRADEMARKS.md Change licenses to tldraw (#2167) 2023-12-19 10:41:01 +00:00
tsdoc.json Better generated docs for react components (#3930) 2024-06-13 13:09:27 +00:00
yarn.config.cjs Bump Yarn to 4.0.2 and add version constraints (#2481) 2024-01-18 11:09:17 +00:00
yarn.lock put sync stuff in bemo worker (#4060) 2024-07-03 14:10:54 +00:00

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.

🤵 Interested in purchasing a commercial license for the tldraw SDK? Fill out this form.

Installation

npm i tldraw

Usage

import { Tldraw } from 'tldraw'
import 'tldraw/tldraw.css'

export default function App() {
	return (
		<div style={{ position: 'fixed', inset: 0 }}>
			<Tldraw />
		</div>
	)
}

Learn more at tldraw.dev.

Local development

The local development server will run our examples app. The basic example will show any changes you've made to the codebase.

To run the local development server, first clone this repo.

Enable corepack to make sure you have the right version of yarn:

corepack enable

Install dependencies:

yarn

Start the local development server:

yarn dev

Open the example project at localhost:5420.

License

The tldraw source code and its distributions are provided under the tldraw license. This license does not permit commercial use. To purchase a commercial license or learn more, please fill out this form.

Trademarks

Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our trademark guidelines for info on acceptable usage.

Contact

Find us on Twitter/X at @tldraw.

Community

Have questions, comments or feedback? Join our discord or start a discussion. For the latest news and release notes, check out our Substack.

Contribution

Please see our contributing guide. Found a bug? Please submit an issue.

Contributors

Star History

Star History Chart