11import type { ReflectSceneNode } from "@design-sdk/figma-node" ;
22import type { FrameworkConfig } from "@designto/config" ;
3- import { ComponentNode } from "@design-sdk/figma-types" ;
4- import { DesignInput } from "@designto/config/input" ;
3+ import type { WidgetKey } from "@reflect-ui/core" ;
4+ import type { ComponentNode } from "@design-sdk/figma-types" ;
5+ import type { DesignInput } from "@designto/config/input" ;
56
67/**
78 * View mode of the canvas.
@@ -23,6 +24,7 @@ export interface EditorState {
2324 design : FigmaReflectRepository ;
2425 canvasMode : TCanvasMode ;
2526 canvasMode_previous ?: TCanvasMode ;
27+ currentPreview ?: ScenePreviewData ;
2628 code ?: CodeRepository ;
2729 editingModule ?: EditingModule ;
2830}
@@ -54,6 +56,44 @@ export interface FigmaReflectRepository {
5456 input : DesignInput ;
5557}
5658
59+ export type ScenePreviewData =
60+ | IScenePreviewDataVanillaPreview
61+ | IScenePreviewDataFlutterPreview
62+ | IScenePreviewDataEsbuildPreview ;
63+
64+ export interface IScenePreviewData < T > {
65+ viewtype : "page" | "component" | "layer" | "unknown" ;
66+ widgetKey : WidgetKey ;
67+ componentName : string ;
68+ fallbackSource : string ;
69+ source : T ;
70+ initialSize : { width : number ; height : number } ;
71+ isBuilding : boolean ;
72+ meta : {
73+ bundler : "vanilla" | "esbuild-wasm" | "dart-services" ;
74+ framework : FrameworkConfig [ "framework" ] ;
75+ } ;
76+ updatedAt : number ;
77+ }
78+
79+ interface IScenePreviewDataVanillaPreview extends IScenePreviewData < string > {
80+ loader : "vanilla-html" ;
81+ source : string ;
82+ }
83+
84+ interface IScenePreviewDataFlutterPreview extends IScenePreviewData < string > {
85+ loader : "vanilla-flutter-template" ;
86+ source : string ;
87+ }
88+
89+ interface IScenePreviewDataEsbuildPreview
90+ extends IScenePreviewData < {
91+ html : string ;
92+ javascript : string ;
93+ } > {
94+ loader : "vanilla-esbuild-template" ;
95+ }
96+
5797export interface CodeRepository {
5898 // TODO:
5999 // files: { [key: string]: string };
0 commit comments