Tldraw/packages/tlschema/src/shapes
alex f2d8fae6ea
hoist opacity out of props (#1526)
This change hoists opacity out of props and changes it to a number
instead of an enum.

The change to a number is to make tldraw more flexible for library
consumers who might want more expressivity with opacity than our 5
possible values allow. the tldraw editor will now happily respect any
opacity between 0 and 1. The limit to our supported values is enforced
only in the UI. I think this is limited enough that it's a reasonable
tradeoff between in-app simplicity and giving external developers the
flexibility they need.

There's a new `opacityForNextShape` property on the instance. This works
exactly the same way as propsForNextShape does, except... it's just for
opacity. With this, there should be no user-facing changes to how
opacity works in tldraw. There are also new `opacity`/`setOpacity` APIs
in the editor that work with it/selections similar to how props do.

@ds300 do you mind reviewing the migrations here?

### Change Type

- [x] `major` — Breaking Change

### Test Plan

- [x] Unit Tests
- [ ] Webdriver tests

### Release Notes

[internal only for now]
2023-06-06 16:15:12 +00:00
..
TLArrowShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLBaseShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLBookmarkShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLDrawShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLEmbedShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLFrameShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLGeoShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLGroupShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLHighlightShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLIconShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLImageShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLLineShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLNoteShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLTextShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TLVideoShape.ts hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00