Relax the params (#4190)

Feels like we can relax what we expect? It gets passed to `loadSnapshot`
which allows for partials.

Resolves https://github.com/tldraw/tldraw/issues/3999

### Change type

- [ ] `bugfix`
- [x] `improvement`
- [ ] `feature`
- [ ] `api`
- [ ] `other`

### Release notes

- Allow passing partial `TLEditorSnapshot` to `TldrawImage` and
`useTLStore`.
This commit is contained in:
Mitja Bezenšek 2024-07-16 16:11:12 +02:00 committed by GitHub
parent 48d1f4e0d7
commit e784d3182f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 5 additions and 5 deletions

View file

@ -3539,7 +3539,7 @@ export function useTLSchemaFromUtils(opts: TLStoreSchemaOptions): StoreSchema<TL
// @public (undocumented)
export function useTLStore(opts: TLStoreOptions & {
snapshot?: TLEditorSnapshot | TLStoreSnapshot;
snapshot?: Partial<TLEditorSnapshot> | TLStoreSnapshot;
}): TLStore;
// @public (undocumented)

View file

@ -11,7 +11,7 @@ import {
/** @public */
type UseTLStoreOptions = TLStoreOptions & {
snapshot?: TLEditorSnapshot | TLStoreSnapshot
snapshot?: Partial<TLEditorSnapshot> | TLStoreSnapshot
}
function createStore(opts: UseTLStoreOptions) {
@ -24,7 +24,7 @@ function createStore(opts: UseTLStoreOptions) {
/** @public */
export function useTLStore(
opts: TLStoreOptions & { snapshot?: TLEditorSnapshot | TLStoreSnapshot }
opts: TLStoreOptions & { snapshot?: Partial<TLEditorSnapshot> | TLStoreSnapshot }
) {
const [current, setCurrent] = useState(() => createStore(opts))

View file

@ -1584,7 +1584,7 @@ export interface TldrawImageProps extends TLSvgOptions {
licenseKey?: string;
pageId?: TLPageId;
shapeUtils?: readonly TLAnyShapeUtilConstructor[];
snapshot: TLEditorSnapshot | TLStoreSnapshot;
snapshot: Partial<TLEditorSnapshot> | TLStoreSnapshot;
}
// @public (undocumented)

View file

@ -24,7 +24,7 @@ export interface TldrawImageProps extends TLSvgOptions {
/**
* The snapshot to display.
*/
snapshot: TLEditorSnapshot | TLStoreSnapshot
snapshot: Partial<TLEditorSnapshot> | TLStoreSnapshot
/**
* The image format to use. Defaults to 'svg'.