No description
Find a file
Steve Ruiz 79460cbf3a
Use canvas bounds for viewport bounds (#2798)
This PR changes the way that viewport bounds are calculated by using the
canvas element as the source of truth, rather than the container. This
allows for cases where the canvas is not the same dimensions as the
component. (Given the way our UI and context works, there are cases
where this is desired, i.e. toolbars and other items overlaid on top of
the canvas area).

The editor's `getContainer` is now only used for the text measurement.
It would be good to get that out somehow.

# Pros

We can inset the canvas

# Cons

We can no longer imperatively call `updateScreenBounds`, as we need to
provide those bounds externally.

### Change Type

- [x] `major` — Breaking change

### Test Plan

1. Use the examples, including the new inset canvas example.

- [x] Unit Tests

### Release Notes

- Changes the source of truth for the viewport page bounds to be the
canvas instead.
2024-02-12 15:03:25 +00:00
.github Unbiome (#2776) 2024-02-07 16:02:22 +00:00
.husky unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
.yarn/patches Bump Yarn to 4.0.2 and add version constraints (#2481) 2024-01-18 11:09:17 +00:00
apps Use canvas bounds for viewport bounds (#2798) 2024-02-12 15:03:25 +00:00
assets menu: just have an empty space for checked menuitems (#2785) 2024-02-09 11:55:45 +00:00
config make CI check for yarn install warnings and fix the peer deps ones we have (#2683) 2024-01-30 11:41:46 +00:00
packages Use canvas bounds for viewport bounds (#2798) 2024-02-12 15:03:25 +00:00
scripts Unbiome (#2776) 2024-02-07 16:02:22 +00:00
.dockerignore unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
.eslintignore [dotcom] Delete service worker, cache tldraw assets (#2552) 2024-01-19 15:31:01 +00:00
.eslintplugin.js transfer-out: transfer out 2023-04-25 12:01:25 +01:00
.eslintrc.js unbrivate, dot com in (#2475) 2024-01-16 14:38:05 +00:00
.gitignore [dx] add gen docs to gitignore (#2704) 2024-02-01 15:06:37 +00:00
.ignore Unbiome (#2776) 2024-02-07 16:02:22 +00:00
.prettierignore Unbiome (#2776) 2024-02-07 16:02:22 +00:00
.prettierrc Unbiome (#2776) 2024-02-07 16:02:22 +00:00
.yarnrc.yml Bump Yarn to 4.0.2 and add version constraints (#2481) 2024-01-18 11:09:17 +00:00
CHANGELOG.md Update CHANGELOG.md [skip ci] 2024-01-10 12:03:59 +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 Remove repeated word in CONTRIBUTING.md (#2651) 2024-01-26 14:00:23 +00:00
lazy.config.ts [dx] Add docs to lazy caching. (#2672) 2024-01-28 14:19:19 +00:00
lerna.json [dx] Add docs to lazy caching. (#2672) 2024-01-28 14:19:19 +00:00
LICENSE.md Change licenses to tldraw (#2167) 2023-12-19 10:41:01 +00:00
package.json Unbiome (#2776) 2024-02-07 16:02:22 +00:00
README.md hello@tldraw.com -> sales@tldraw.com (#2774) 2024-02-07 15:52:18 +00:00
TRADEMARKS.md Change licenses to tldraw (#2167) 2023-12-19 10:41:01 +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 examples: clean up Canvas/Store events and make UiEvents have code snippets (#2770) 2024-02-07 16:51:04 +00:00

tldraw

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.

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.

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 sales@tldraw.com. You can also join our discord for quick help and support.