feat: update jotai (#9015)

* feat: update jotai in excalidraw package

* feat: update jotai in excalidraw-app

* fix: exports from excalidraw/jotai

* fix: use isolated react hooks

* test: use jotai provider in <Trans /> test

* remove unused package

* refactor & make safer

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
This commit is contained in:
Arnost Pleskot 2025-01-16 16:59:11 +01:00 committed by GitHub
parent ae6bee3403
commit 8551823da9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 179 additions and 169 deletions

View file

@ -381,7 +381,7 @@ import {
actionWrapSelectionInFrame,
} from "../actions/actionFrame";
import { actionToggleHandTool, zoomToFit } from "../actions/actionCanvas";
import { jotaiStore } from "../jotai";
import { editorJotaiStore } from "../editor-jotai";
import { activeConfirmDialogAtom } from "./ActiveConfirmDialog";
import { ImageSceneDataError } from "../errors";
import {
@ -2077,7 +2077,7 @@ class App extends React.Component<AppProps, AppState> {
};
private openEyeDropper = ({ type }: { type: "stroke" | "background" }) => {
jotaiStore.set(activeEyeDropperAtom, {
editorJotaiStore.set(activeEyeDropperAtom, {
swapPreviewOnAlt: true,
colorPickerType:
type === "stroke" ? "elementStroke" : "elementBackground",
@ -3325,7 +3325,7 @@ class App extends React.Component<AppProps, AppState> {
openSidebar:
this.state.openSidebar &&
this.device.editor.canFitSidebar &&
jotaiStore.get(isSidebarDockedAtom)
editorJotaiStore.get(isSidebarDockedAtom)
? this.state.openSidebar
: null,
...selectGroupsForSelectedElements(
@ -4553,7 +4553,7 @@ class App extends React.Component<AppProps, AppState> {
event[KEYS.CTRL_OR_CMD] &&
(event.key === KEYS.BACKSPACE || event.key === KEYS.DELETE)
) {
jotaiStore.set(activeConfirmDialogAtom, "clearCanvas");
editorJotaiStore.set(activeConfirmDialogAtom, "clearCanvas");
}
// eye dropper
@ -6292,7 +6292,7 @@ class App extends React.Component<AppProps, AppState> {
focus: false,
})),
}));
jotaiStore.set(searchItemInFocusAtom, null);
editorJotaiStore.set(searchItemInFocusAtom, null);
}
// since contextMenu options are potentially evaluated on each render,