11import "@excalidraw/excalidraw/index.css" ;
22import { Excalidraw , getSceneVersion , exportToSvg } from "@excalidraw/excalidraw" ;
3- import { createElement , createRef , Fragment , RefObject , render } from "preact/compat" ;
3+ import { createElement , createRef , Fragment , RefObject , render , useEffect , useState } from "preact/compat" ;
44import { AppState , BinaryFileData , ExcalidrawImperativeAPI , ExcalidrawProps , SceneData } from "@excalidraw/excalidraw/types" ;
55
66/** -1 indicates that it is fresh. excalidraw scene version is always >0 */
@@ -12,7 +12,7 @@ export default class Canvas {
1212
1313 private currentSceneVersion : number ;
1414 private opts : ExcalidrawProps ;
15- private excalidrawWrapperRef : RefObject < HTMLElement > ;
15+ private excalidrawWrapperRef ? : RefObject < HTMLElement > ;
1616 excalidrawApi ! : ExcalidrawImperativeAPI ;
1717
1818 constructor ( opts : ExcalidrawProps ) {
@@ -30,14 +30,13 @@ export default class Canvas {
3030 }
3131
3232 private createCanvasElement ( opts : ExcalidrawProps ) {
33- const excalidrawWrapperRef = createRef < HTMLElement > ( ) ;
34-
33+ this . excalidrawWrapperRef = createRef < HTMLElement > ( ) ;
3534 return createElement ( Fragment , null ,
3635 createElement (
3736 "div" ,
3837 {
3938 className : "excalidraw-wrapper" ,
40- ref : excalidrawWrapperRef
39+ ref : this . excalidrawWrapperRef
4140 } ,
4241 createElement ( Excalidraw , opts )
4342 ) ) ;
@@ -160,5 +159,3 @@ export default class Canvas {
160159 }
161160
162161}
163-
164-
0 commit comments