refactor(canvas): proof of concept for preact-based canvas

This commit is contained in:
Elian Doran 2025-06-10 22:22:47 +03:00
parent 0f9fe0367a
commit 0f47a4988b
No known key found for this signature in database
5 changed files with 224 additions and 324 deletions

View File

@ -51,8 +51,7 @@
"mind-elixir": "4.6.0", "mind-elixir": "4.6.0",
"normalize.css": "8.0.1", "normalize.css": "8.0.1",
"panzoom": "9.4.3", "panzoom": "9.4.3",
"react": "19.1.0", "preact": "10.26.8",
"react-dom": "19.1.0",
"split.js": "1.6.5", "split.js": "1.6.5",
"svg-pan-zoom": "3.6.2", "svg-pan-zoom": "3.6.2",
"vanilla-js-wheel-zoom": "9.0.4" "vanilla-js-wheel-zoom": "9.0.4"
@ -64,8 +63,6 @@
"@types/leaflet": "1.9.18", "@types/leaflet": "1.9.18",
"@types/leaflet-gpx": "1.3.7", "@types/leaflet-gpx": "1.3.7",
"@types/mark.js": "8.11.12", "@types/mark.js": "8.11.12",
"@types/react": "19.1.7",
"@types/react-dom": "19.1.6",
"copy-webpack-plugin": "13.0.0", "copy-webpack-plugin": "13.0.0",
"happy-dom": "17.6.3", "happy-dom": "17.6.3",
"script-loader": "0.7.2", "script-loader": "0.7.2",
@ -75,7 +72,9 @@
"name": "client", "name": "client",
"targets": { "targets": {
"serve": { "serve": {
"dependsOn": ["^build"] "dependsOn": [
"^build"
]
} }
} }
} }

View File

@ -1,16 +1,8 @@
import TypeWidget from "./type_widget.js"; import TypeWidget from "./type_widget.js";
import utils from "../../services/utils.js"; import utils from "../../services/utils.js";
import linkService from "../../services/link.js";
import server from "../../services/server.js"; import server from "../../services/server.js";
import type FNote from "../../entities/fnote.js"; import type FNote from "../../entities/fnote.js";
import options from "../../services/options.js"; import options from "../../services/options.js";
import type { ExcalidrawElement, Theme } from "@excalidraw/excalidraw/element/types";
import type { AppState, BinaryFileData, ExcalidrawImperativeAPI, ExcalidrawProps, LibraryItem, SceneData } from "@excalidraw/excalidraw/types";
import type { JSX } from "react";
import type React from "react";
import type { Root } from "react-dom/client";
import "@excalidraw/excalidraw/index.css";
import asset_path from "../../asset_path.js";
const TPL = /*html*/` const TPL = /*html*/`
<div class="canvas-widget note-detail-canvas note-detail-printable note-detail"> <div class="canvas-widget note-detail-canvas note-detail-printable note-detail">
@ -121,7 +113,6 @@ export default class ExcalidrawTypeWidget extends TypeWidget {
private excalidrawWrapperRef!: React.RefObject<HTMLElement | null>; private excalidrawWrapperRef!: React.RefObject<HTMLElement | null>;
private $render!: JQuery<HTMLElement>; private $render!: JQuery<HTMLElement>;
private root?: Root;
private reactHandlers!: JQuery<HTMLElement>; private reactHandlers!: JQuery<HTMLElement>;
constructor() { constructor() {
@ -191,14 +182,8 @@ export default class ExcalidrawTypeWidget extends TypeWidget {
} }
(window.process.env as any).PREACT = false; (window.process.env as any).PREACT = false;
const excalidraw = await import("@excalidraw/excalidraw"); const renderCanvas = (await import("./canvas_el.js")).default;
this.excalidrawLib = excalidraw; renderCanvas(renderElement);
const { createRoot } = await import("react-dom/client");
const React = (await import("react")).default;
this.root?.unmount();
this.root = createRoot(renderElement);
this.root.render(React.createElement(() => this.createExcalidrawReactApp(React, excalidraw.Excalidraw)));
} }
/** /**
@ -470,99 +455,6 @@ export default class ExcalidrawTypeWidget extends TypeWidget {
} }
} }
createExcalidrawReactApp(react: typeof React, excalidrawComponent: React.MemoExoticComponent<(props: ExcalidrawProps) => JSX.Element>) {
const excalidrawWrapperRef = react.useRef<HTMLElement>(null);
this.excalidrawWrapperRef = excalidrawWrapperRef;
const [dimensions, setDimensions] = react.useState<{ width?: number; height?: number }>({
width: undefined,
height: undefined
});
react.useEffect(() => {
if (excalidrawWrapperRef.current) {
const dimensions = {
width: excalidrawWrapperRef.current.getBoundingClientRect().width,
height: excalidrawWrapperRef.current.getBoundingClientRect().height
};
setDimensions(dimensions);
}
const onResize = () => {
if (this.note?.type !== "canvas") {
return;
}
if (excalidrawWrapperRef.current) {
const dimensions = {
width: excalidrawWrapperRef.current.getBoundingClientRect().width,
height: excalidrawWrapperRef.current.getBoundingClientRect().height
};
setDimensions(dimensions);
}
};
window.addEventListener("resize", onResize);
return () => window.removeEventListener("resize", onResize);
}, [excalidrawWrapperRef]);
const onLinkOpen = react.useCallback<NonNullable<ExcalidrawProps["onLinkOpen"]>>((element, event) => {
let link = element.link;
if (!link) {
return false;
}
if (link.startsWith("root/")) {
link = "#" + link;
}
const { nativeEvent } = event.detail;
event.preventDefault();
return linkService.goToLinkExt(nativeEvent, link, null);
}, []);
return react.createElement(
react.Fragment,
null,
react.createElement(
"div",
{
className: "excalidraw-wrapper",
ref: excalidrawWrapperRef
},
react.createElement(excalidrawComponent, {
// this makes sure that 1) manual theme switch button is hidden 2) theme stays as it should after opening menu
theme: this.themeStyle,
excalidrawAPI: (api: ExcalidrawImperativeAPI) => {
this.excalidrawApi = api;
},
onLibraryChange: () => {
this.libraryChanged = true;
this.saveData();
},
onChange: () => this.onChangeHandler(),
viewModeEnabled: options.is("databaseReadonly"),
zenModeEnabled: false,
gridModeEnabled: false,
isCollaborating: false,
detectScroll: false,
handleKeyboardGlobally: false,
autoFocus: false,
onLinkOpen,
UIOptions: {
canvasActions: {
saveToActiveFile: false,
export: false
}
}
})
)
);
}
/** /**
* needed to ensure, that multipleOnChangeHandler calls do not trigger a save. * needed to ensure, that multipleOnChangeHandler calls do not trigger a save.
* we compare the scene version as suggested in: * we compare the scene version as suggested in:

View File

@ -0,0 +1,7 @@
import "@excalidraw/excalidraw/index.css";
import { Excalidraw } from "@excalidraw/excalidraw";
import { h, render } from "preact";
export default function renderCanvas(targetEl: HTMLElement) {
render(h(Excalidraw, null, "Hello world"), targetEl);
}

View File

@ -43,11 +43,22 @@ export default defineConfig(() => ({
{ {
find: "@triliumnext/highlightjs", find: "@triliumnext/highlightjs",
replacement: resolve(__dirname, "node_modules/@triliumnext/highlightjs/dist") replacement: resolve(__dirname, "node_modules/@triliumnext/highlightjs/dist")
},
{
find: "react",
replacement: "preact/compat"
},
{
find: "react-dom",
replacement: "preact/compat"
} }
], ],
dedupe: [ dedupe: [
"react", "react",
"react-dom" "react-dom",
"preact",
"preact/compat",
"preact/hooks"
] ]
}, },
// Uncomment this if you are using workers. // Uncomment this if you are using workers.
@ -97,5 +108,8 @@ export default defineConfig(() => ({
}, },
commonjsOptions: { commonjsOptions: {
transformMixedEsModules: true, transformMixedEsModules: true,
},
define: {
"process.env.IS_PREACT": JSON.stringify("true"),
} }
})); }));

404
pnpm-lock.yaml generated
View File

@ -158,7 +158,7 @@ importers:
version: 9.28.0 version: 9.28.0
'@excalidraw/excalidraw': '@excalidraw/excalidraw':
specifier: 0.18.0 specifier: 0.18.0
version: 0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) version: 0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@fullcalendar/core': '@fullcalendar/core':
specifier: 6.1.17 specifier: 6.1.17
version: 6.1.17 version: 6.1.17
@ -276,12 +276,9 @@ importers:
panzoom: panzoom:
specifier: 9.4.3 specifier: 9.4.3
version: 9.4.3 version: 9.4.3
react: preact:
specifier: 19.1.0 specifier: 10.26.8
version: 19.1.0 version: 10.26.8
react-dom:
specifier: 19.1.0
version: 19.1.0(react@19.1.0)
split.js: split.js:
specifier: 1.6.5 specifier: 1.6.5
version: 1.6.5 version: 1.6.5
@ -310,12 +307,6 @@ importers:
'@types/mark.js': '@types/mark.js':
specifier: 8.11.12 specifier: 8.11.12
version: 8.11.12 version: 8.11.12
'@types/react':
specifier: 19.1.7
version: 19.1.7
'@types/react-dom':
specifier: 19.1.6
version: 19.1.6(@types/react@19.1.7)
copy-webpack-plugin: copy-webpack-plugin:
specifier: 13.0.0 specifier: 13.0.0
version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)) version: 13.0.0(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5))
@ -10781,8 +10772,8 @@ packages:
preact@10.12.1: preact@10.12.1:
resolution: {integrity: sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==} resolution: {integrity: sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==}
preact@10.26.5: preact@10.26.8:
resolution: {integrity: sha512-fmpDkgfGU6JYux9teDWLhj9mKN55tyepwYbxHgQuIxbWQzgFg5vk7Mrrtfx7xRxq798ynkY4DDDxZr235Kk+4w==} resolution: {integrity: sha512-1nMfdFjucm5hKvq0IClqZwK4FJkGXhRrQstOQ3P4vp8HxKrJEMFcY6RdBRVTdfQS/UlnX6gfbPuTvaqx/bDoeQ==}
prebuild-install@7.1.3: prebuild-install@7.1.3:
resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
@ -11016,10 +11007,6 @@ packages:
resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==} resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
react@19.1.0:
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
engines: {node: '>=0.10.0'}
read-binary-file-arch@1.0.6: read-binary-file-arch@1.0.6:
resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==}
hasBin: true hasBin: true
@ -15566,14 +15553,14 @@ snapshots:
'@eslint/core': 0.14.0 '@eslint/core': 0.14.0
levn: 0.4.1 levn: 0.4.1
'@excalidraw/excalidraw@0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@excalidraw/excalidraw@0.18.0(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@braintree/sanitize-url': 6.0.2 '@braintree/sanitize-url': 6.0.2
'@excalidraw/laser-pointer': 1.3.1 '@excalidraw/laser-pointer': 1.3.1
'@excalidraw/mermaid-to-excalidraw': 1.1.2 '@excalidraw/mermaid-to-excalidraw': 1.1.2
'@excalidraw/random-username': 1.1.0 '@excalidraw/random-username': 1.1.0
'@radix-ui/react-popover': 1.1.6(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-tabs': 1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-tabs': 1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
browser-fs-access: 0.29.1 browser-fs-access: 0.29.1
canvas-roundrect-polyfill: 0.0.1 canvas-roundrect-polyfill: 0.0.1
clsx: 1.1.1 clsx: 1.1.1
@ -15582,8 +15569,8 @@ snapshots:
fractional-indexing: 3.2.0 fractional-indexing: 3.2.0
fuzzy: 0.1.3 fuzzy: 0.1.3
image-blob-reduce: 3.0.1 image-blob-reduce: 3.0.1
jotai: 2.11.0(@types/react@19.1.7)(react@19.1.0) jotai: 2.11.0(@types/react@19.1.7)(react@16.14.0)
jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.1.0))(react@19.1.0) jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@16.14.0))(react@16.14.0)
lodash.debounce: 4.0.8 lodash.debounce: 4.0.8
lodash.throttle: 4.1.1 lodash.throttle: 4.1.1
nanoid: 4.0.2 nanoid: 4.0.2
@ -15596,11 +15583,11 @@ snapshots:
png-chunks-extract: 1.0.0 png-chunks-extract: 1.0.0
points-on-curve: 1.0.1 points-on-curve: 1.0.1
pwacompat: 2.0.17 pwacompat: 2.0.17
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
roughjs: 4.6.4 roughjs: 4.6.4
sass: 1.51.0 sass: 1.51.0
tunnel-rat: 0.1.2(@types/react@19.1.7)(react@19.1.0) tunnel-rat: 0.1.2(@types/react@19.1.7)(react@16.14.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/react' - '@types/react'
- '@types/react-dom' - '@types/react-dom'
@ -15637,11 +15624,11 @@ snapshots:
'@floating-ui/core': 1.6.9 '@floating-ui/core': 1.6.9
'@floating-ui/utils': 0.2.9 '@floating-ui/utils': 0.2.9
'@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@floating-ui/dom': 1.6.13 '@floating-ui/dom': 1.6.13
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
'@floating-ui/utils@0.2.9': {} '@floating-ui/utils@0.2.9': {}
@ -16973,275 +16960,275 @@ snapshots:
'@radix-ui/primitive@1.1.1': {} '@radix-ui/primitive@1.1.1': {}
'@radix-ui/react-arrow@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-collection@1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-collection@1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0)
'@radix-ui/react-context': 1.0.0(react@19.1.0) '@radix-ui/react-context': 1.0.0(react@16.14.0)
'@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-slot': 1.0.1(react@19.1.0) '@radix-ui/react-slot': 1.0.1(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
'@radix-ui/react-compose-refs@1.0.0(react@19.1.0)': '@radix-ui/react-compose-refs@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
react: 19.1.0 react: 16.14.0
'@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-context@1.0.0(react@19.1.0)': '@radix-ui/react-context@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
react: 19.1.0 react: 16.14.0
'@radix-ui/react-context@1.1.1(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-context@1.1.1(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-direction@1.0.0(react@19.1.0)': '@radix-ui/react-direction@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
react: 19.1.0 react: 16.14.0
'@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/primitive': 1.1.1 '@radix-ui/primitive': 1.1.1
'@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-id@1.0.0(react@19.1.0)': '@radix-ui/react-id@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/react-use-layout-effect': 1.0.0(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.0.0(react@16.14.0)
react: 19.1.0 react: 16.14.0
'@radix-ui/react-id@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-id@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-popover@1.1.6(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-popover@1.1.6(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/primitive': 1.1.1 '@radix-ui/primitive': 1.1.1
'@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-id': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-id': 1.1.0(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-popper': 1.2.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-portal': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-presence': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.7)(react@16.14.0)
aria-hidden: 1.2.4 aria-hidden: 1.2.4
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
react-remove-scroll: 2.6.3(@types/react@19.1.7)(react@19.1.0) react-remove-scroll: 2.6.3(@types/react@19.1.7)(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-popper@1.2.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-popper@1.2.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-context': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-use-size': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-size': 1.1.0(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/rect': 1.1.0 '@radix-ui/rect': 1.1.0
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-portal@1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-portal@1.1.4(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-presence@1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-presence@1.0.0(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0)
'@radix-ui/react-use-layout-effect': 1.0.0(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.0.0(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
'@radix-ui/react-presence@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-presence@1.1.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-primitive@1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-primitive@1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/react-slot': 1.0.1(react@19.1.0) '@radix-ui/react-slot': 1.0.1(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
'@radix-ui/react-primitive@2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.1.6(@types/react@19.1.7))(@types/react@19.1.7)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-slot': 1.1.2(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@types/react-dom': 19.1.6(@types/react@19.1.7) '@types/react-dom': 19.1.6(@types/react@19.1.7)
'@radix-ui/react-roving-focus@1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-roving-focus@1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/primitive': 1.0.0 '@radix-ui/primitive': 1.0.0
'@radix-ui/react-collection': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-collection': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0)
'@radix-ui/react-context': 1.0.0(react@19.1.0) '@radix-ui/react-context': 1.0.0(react@16.14.0)
'@radix-ui/react-direction': 1.0.0(react@19.1.0) '@radix-ui/react-direction': 1.0.0(react@16.14.0)
'@radix-ui/react-id': 1.0.0(react@19.1.0) '@radix-ui/react-id': 1.0.0(react@16.14.0)
'@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-use-callback-ref': 1.0.0(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.0.0(react@16.14.0)
'@radix-ui/react-use-controllable-state': 1.0.0(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.0.0(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
'@radix-ui/react-slot@1.0.1(react@19.1.0)': '@radix-ui/react-slot@1.0.1(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0)
react: 19.1.0 react: 16.14.0
'@radix-ui/react-slot@1.1.2(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-slot@1.1.2(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-tabs@1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': '@radix-ui/react-tabs@1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/primitive': 1.0.0 '@radix-ui/primitive': 1.0.0
'@radix-ui/react-context': 1.0.0(react@19.1.0) '@radix-ui/react-context': 1.0.0(react@16.14.0)
'@radix-ui/react-direction': 1.0.0(react@19.1.0) '@radix-ui/react-direction': 1.0.0(react@16.14.0)
'@radix-ui/react-id': 1.0.0(react@19.1.0) '@radix-ui/react-id': 1.0.0(react@16.14.0)
'@radix-ui/react-presence': 1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-presence': 1.0.0(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-roving-focus': 1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-roving-focus': 1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)
'@radix-ui/react-use-controllable-state': 1.0.0(react@19.1.0) '@radix-ui/react-use-controllable-state': 1.0.0(react@16.14.0)
react: 19.1.0 react: 16.14.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@16.14.0)
'@radix-ui/react-use-callback-ref@1.0.0(react@19.1.0)': '@radix-ui/react-use-callback-ref@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
react: 19.1.0 react: 16.14.0
'@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-use-controllable-state@1.0.0(react@19.1.0)': '@radix-ui/react-use-controllable-state@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
'@radix-ui/react-use-callback-ref': 1.0.0(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.0.0(react@16.14.0)
react: 19.1.0 react: 16.14.0
'@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-use-layout-effect@1.0.0(react@19.1.0)': '@radix-ui/react-use-layout-effect@1.0.0(react@16.14.0)':
dependencies: dependencies:
'@babel/runtime': 7.27.1 '@babel/runtime': 7.27.1
react: 19.1.0 react: 16.14.0
'@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-use-rect@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/rect': 1.1.0 '@radix-ui/rect': 1.1.0
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
'@radix-ui/react-use-size@1.1.0(@types/react@19.1.7)(react@19.1.0)': '@radix-ui/react-use-size@1.1.0(@types/react@19.1.7)(react@16.14.0)':
dependencies: dependencies:
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@19.1.0) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
@ -18016,10 +18003,12 @@ snapshots:
'@types/react-dom@19.1.6(@types/react@19.1.7)': '@types/react-dom@19.1.6(@types/react@19.1.7)':
dependencies: dependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
optional: true
'@types/react@19.1.7': '@types/react@19.1.7':
dependencies: dependencies:
csstype: 3.1.3 csstype: 3.1.3
optional: true
'@types/readdir-glob@1.1.5': '@types/readdir-glob@1.1.5':
dependencies: dependencies:
@ -20281,7 +20270,8 @@ snapshots:
'@asamuzakjp/css-color': 3.1.4 '@asamuzakjp/css-color': 3.1.4
rrweb-cssom: 0.8.0 rrweb-cssom: 0.8.0
csstype@3.1.3: {} csstype@3.1.3:
optional: true
cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.2): cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.2):
dependencies: dependencies:
@ -21695,7 +21685,7 @@ snapshots:
dependencies: dependencies:
d3-selection: 3.0.0 d3-selection: 3.0.0
kapsule: 1.16.3 kapsule: 1.16.3
preact: 10.26.5 preact: 10.26.8
flora-colossus@2.0.0: flora-colossus@2.0.0:
dependencies: dependencies:
@ -23137,15 +23127,15 @@ snapshots:
dependencies: dependencies:
'@panva/asn1.js': 1.0.0 '@panva/asn1.js': 1.0.0
jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@19.1.0))(react@19.1.0): jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.7)(react@16.14.0))(react@16.14.0):
dependencies: dependencies:
jotai: 2.11.0(@types/react@19.1.7)(react@19.1.0) jotai: 2.11.0(@types/react@19.1.7)(react@16.14.0)
react: 19.1.0 react: 16.14.0
jotai@2.11.0(@types/react@19.1.7)(react@19.1.0): jotai@2.11.0(@types/react@19.1.7)(react@16.14.0):
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
react: 19.1.0 react: 16.14.0
jpeg-js@0.4.4: {} jpeg-js@0.4.4: {}
@ -25431,7 +25421,7 @@ snapshots:
preact@10.12.1: {} preact@10.12.1: {}
preact@10.26.5: {} preact@10.26.8: {}
prebuild-install@7.1.3: prebuild-install@7.1.3:
dependencies: dependencies:
@ -25614,9 +25604,9 @@ snapshots:
react: 16.14.0 react: 16.14.0
scheduler: 0.19.1 scheduler: 0.19.1
react-dom@19.1.0(react@19.1.0): react-dom@19.1.0(react@16.14.0):
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
scheduler: 0.26.0 scheduler: 0.26.0
react-interactive@0.8.3(react@16.14.0): react-interactive@0.8.3(react@16.14.0):
@ -25634,22 +25624,22 @@ snapshots:
react-refresh@0.17.0: {} react-refresh@0.17.0: {}
react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@19.1.0): react-remove-scroll-bar@2.3.8(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.1.0) react-style-singleton: 2.2.3(@types/react@19.1.7)(react@16.14.0)
tslib: 2.8.1 tslib: 2.8.1
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
react-remove-scroll@2.6.3(@types/react@19.1.7)(react@19.1.0): react-remove-scroll@2.6.3(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@19.1.0) react-remove-scroll-bar: 2.3.8(@types/react@19.1.7)(react@16.14.0)
react-style-singleton: 2.2.3(@types/react@19.1.7)(react@19.1.0) react-style-singleton: 2.2.3(@types/react@19.1.7)(react@16.14.0)
tslib: 2.8.1 tslib: 2.8.1
use-callback-ref: 1.3.3(@types/react@19.1.7)(react@19.1.0) use-callback-ref: 1.3.3(@types/react@19.1.7)(react@16.14.0)
use-sidecar: 1.1.3(@types/react@19.1.7)(react@19.1.0) use-sidecar: 1.1.3(@types/react@19.1.7)(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
@ -25674,10 +25664,10 @@ snapshots:
react: 16.14.0 react: 16.14.0
warning: 4.0.3 warning: 4.0.3
react-style-singleton@2.2.3(@types/react@19.1.7)(react@19.1.0): react-style-singleton@2.2.3(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
get-nonce: 1.0.1 get-nonce: 1.0.1
react: 19.1.0 react: 16.14.0
tslib: 2.8.1 tslib: 2.8.1
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
@ -25688,8 +25678,6 @@ snapshots:
object-assign: 4.1.1 object-assign: 4.1.1
prop-types: 15.8.1 prop-types: 15.8.1
react@19.1.0: {}
read-binary-file-arch@1.0.6: read-binary-file-arch@1.0.6:
dependencies: dependencies:
debug: 4.4.1(supports-color@6.0.0) debug: 4.4.1(supports-color@6.0.0)
@ -27341,9 +27329,9 @@ snapshots:
dependencies: dependencies:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
tunnel-rat@0.1.2(@types/react@19.1.7)(react@19.1.0): tunnel-rat@0.1.2(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
zustand: 4.5.6(@types/react@19.1.7)(react@19.1.0) zustand: 4.5.6(@types/react@19.1.7)(react@16.14.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/react' - '@types/react'
- immer - immer
@ -27562,24 +27550,24 @@ snapshots:
urlpattern-polyfill@10.0.0: {} urlpattern-polyfill@10.0.0: {}
use-callback-ref@1.3.3(@types/react@19.1.7)(react@19.1.0): use-callback-ref@1.3.3(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
tslib: 2.8.1 tslib: 2.8.1
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
use-sidecar@1.1.3(@types/react@19.1.7)(react@19.1.0): use-sidecar@1.1.3(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
detect-node-es: 1.1.0 detect-node-es: 1.1.0
react: 19.1.0 react: 16.14.0
tslib: 2.8.1 tslib: 2.8.1
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
use-sync-external-store@1.5.0(react@19.1.0): use-sync-external-store@1.5.0(react@16.14.0):
dependencies: dependencies:
react: 19.1.0 react: 16.14.0
userhome@1.0.1: {} userhome@1.0.1: {}
@ -27723,11 +27711,11 @@ snapshots:
vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0): vite@6.3.5(@types/node@22.15.30)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0):
dependencies: dependencies:
esbuild: 0.25.5 esbuild: 0.25.5
fdir: 6.4.4(picomatch@4.0.2) fdir: 6.4.5(picomatch@4.0.2)
picomatch: 4.0.2 picomatch: 4.0.2
postcss: 8.5.3 postcss: 8.5.3
rollup: 4.40.0 rollup: 4.40.0
tinyglobby: 0.2.13 tinyglobby: 0.2.14
optionalDependencies: optionalDependencies:
'@types/node': 22.15.30 '@types/node': 22.15.30
fsevents: 2.3.3 fsevents: 2.3.3
@ -28362,9 +28350,9 @@ snapshots:
zod@3.24.4: {} zod@3.24.4: {}
zustand@4.5.6(@types/react@19.1.7)(react@19.1.0): zustand@4.5.6(@types/react@19.1.7)(react@16.14.0):
dependencies: dependencies:
use-sync-external-store: 1.5.0(react@19.1.0) use-sync-external-store: 1.5.0(react@16.14.0)
optionalDependencies: optionalDependencies:
'@types/react': 19.1.7 '@types/react': 19.1.7
react: 19.1.0 react: 16.14.0