Tldraw/packages/editor/src/lib/editor/shapeutils
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
..
ArrowShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
BookmarkShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
DrawShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
EmbedShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
FrameShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
GeoShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
GroupShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
HighlightShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
IconShapeUtil rename app folder to editor (#1528) 2023-06-06 16:01:54 +00:00
ImageShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
LineShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
NoteShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
TextShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
VideoShapeUtil hoist opacity out of props (#1526) 2023-06-06 16:15:12 +00:00
shared rename app folder to editor (#1528) 2023-06-06 16:01:54 +00:00
BaseBoxShapeUtil.tsx rename app folder to editor (#1528) 2023-06-06 16:01:54 +00:00
ShapeUtil.ts rename app folder to editor (#1528) 2023-06-06 16:01:54 +00:00