mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-04-14 16:40:58 -04:00
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import { ExcalidrawElement } from "../element/types";
|
|
import {
|
|
AppState,
|
|
BinaryFiles,
|
|
LibraryItems,
|
|
LibraryItems_anyVersion,
|
|
} from "../types";
|
|
import type { cleanAppStateForExport } from "../appState";
|
|
import { VERSIONS } from "../constants";
|
|
|
|
export interface ExportedDataState {
|
|
type: string;
|
|
version: number;
|
|
source: string;
|
|
elements: readonly ExcalidrawElement[];
|
|
appState: ReturnType<typeof cleanAppStateForExport>;
|
|
files: BinaryFiles | undefined;
|
|
}
|
|
|
|
/**
|
|
* Map of legacy AppState keys, with values of:
|
|
* [<legacy type>, <new AppState proeprty>]
|
|
*
|
|
* This is a helper type used in downstream abstractions.
|
|
* Don't consume on its own.
|
|
*/
|
|
export type LegacyAppState = {
|
|
/** @deprecated #6213 TODO remove 23-06-01 */
|
|
isSidebarDocked: [boolean, "defaultSidebarDockedPreference"];
|
|
};
|
|
|
|
export interface ImportedDataState {
|
|
type?: string;
|
|
version?: number;
|
|
source?: string;
|
|
elements?: readonly ExcalidrawElement[] | null;
|
|
appState?: Readonly<
|
|
Partial<
|
|
AppState & {
|
|
[T in keyof LegacyAppState]: LegacyAppState[T][0];
|
|
}
|
|
>
|
|
> | null;
|
|
scrollToContent?: boolean;
|
|
libraryItems?: LibraryItems_anyVersion;
|
|
files?: BinaryFiles;
|
|
}
|
|
|
|
export interface ExportedLibraryData {
|
|
type: string;
|
|
version: typeof VERSIONS.excalidrawLibrary;
|
|
source: string;
|
|
libraryItems: LibraryItems;
|
|
}
|
|
|
|
export interface ImportedLibraryData extends Partial<ExportedLibraryData> {
|
|
/** @deprecated v1 */
|
|
library?: LibraryItems;
|
|
}
|