feat: Introduce ExcalidrawElements and ExcalidrawAppState provider (#5463)

* feat: Introduce ExcalidrawData provider so that app state and elements need not be passed to children

* fix

* fix zen mode

* Separate providers for data and elements

* pass appState and elements to layerUI

* pass appState and elements to selectedShapeActions

* pass appState and elements to MobileMenu

* pass appState to librarymenu

* rename

* rename to ExcalidrawAppState
This commit is contained in:
Aakansha Doshi 2022-08-20 22:49:44 +05:30 committed by GitHub
parent 46a61ad4df
commit ec350ba8b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 96 additions and 80 deletions

View file

@ -80,7 +80,6 @@ export const LibraryMenu = ({
onInsertLibraryItems,
pendingElements,
onAddToLibrary,
theme,
setAppState,
files,
libraryReturnUrl,
@ -93,7 +92,6 @@ export const LibraryMenu = ({
onClose: () => void;
onInsertLibraryItems: (libraryItems: LibraryItems) => void;
onAddToLibrary: () => void;
theme: AppState["theme"];
files: BinaryFiles;
setAppState: React.Component<any, AppState>["setState"];
libraryReturnUrl: ExcalidrawProps["libraryReturnUrl"];
@ -105,7 +103,6 @@ export const LibraryMenu = ({
const ref = useRef<HTMLDivElement | null>(null);
const device = useDevice();
useOnClickOutside(
ref,
useCallback(
@ -290,7 +287,7 @@ export const LibraryMenu = ({
appState={appState}
libraryReturnUrl={libraryReturnUrl}
library={library}
theme={theme}
theme={appState.theme}
files={files}
id={id}
selectedItems={selectedItems}