tldraw/apps/vscode/extension
alex b88a2370b3
Styles API (#1580)
Removes `propsForNextShape` and replaces it with the new styles API. 

Changes in here:
- New custom style example
- `setProp` is now `setStyle` and takes a `StyleProp` instead of a
string
- `Editor.props` and `Editor.opacity` are now `Editor.sharedStyles` and
`Editor.sharedOpacity`
- They return an object that flags mixed vs shared types instead of
using null to signal mixed types
- `Editor.styles` returns a `SharedStyleMap` - keyed on `StyleProp`
instead of `string`
- `StateNode.shapeType` is now the shape util rather than just a string.
This lets us pull the styles from the shape type directly.
- `color` is no longer a core part of the editor set on the shape
parent. Individual child shapes have to use color directly.
- `propsForNextShape` is now `stylesForNextShape`
- `InstanceRecordType` is created at runtime in the same way
`ShapeRecordType` is. This is so it can pull style validators out of
shape defs for `stylesForNextShape`
- Shape type are now defined by their props rather than having separate
validators & type defs

### Change Type

- [x] `major` — Breaking change

### Test Plan

1. Big time regression testing around styles!
2. Check UI works as intended for all shape/style/tool combos

- [x] Unit Tests
- [ ] End to end tests

### Release Notes

-

---------

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
2023-06-16 10:33:47 +00:00
..
.vscode transfer-out: transfer out 2023-04-25 12:01:25 +01:00
assets transfer-out: transfer out 2023-04-25 12:01:25 +01:00
examples transfer-out: transfer out 2023-04-25 12:01:25 +01:00
scripts Styles API (#1580) 2023-06-16 10:33:47 +00:00
src mini defineShape API (#1563) 2023-06-12 14:04:14 +00:00
.gitignore transfer-out: transfer out 2023-04-25 12:01:25 +01:00
.vscodeignore transfer-out: transfer out 2023-04-25 12:01:25 +01:00
CHANGELOG.md Update changelog. Bump version. (#1546) 2023-06-06 16:24:09 +00:00
icon.png transfer-out: transfer out 2023-04-25 12:01:25 +01:00
LICENSE transfer-out: transfer out 2023-04-25 12:01:25 +01:00
package.json Styles API (#1580) 2023-06-16 10:33:47 +00:00
README.md transfer-out: transfer out 2023-04-25 12:01:25 +01:00
tsconfig.json Independent instance state persistence (#1493) 2023-06-05 14:11:07 +00:00

Introduction

tldraw is a very good whiteboard for the web. This extension will let you use tldraw inside of VS Code, using offline .tldr files. Create drawings, diagrams, or visual documentation, and then commit the files alongside your code!

A screenshot of tldraw in VS Code

Usage

  • To create a new tldraw file, use the provided command: "tldraw: New tldraw File".

A recording of opening tldraw in VS Code

  • To view an existing tldraw file, open a file with the .tldr extension in VS Code.

Tip: The .tldr files you create with this extension can also be opened in the tldraw web app. You can also use this extension to open .tldr files saved from the web app.

Community

Support

Need help? Please open an issue for support.

Discussion

Want to connect with the developers or users? Visit the Discord channel.