├── .gitignore
├── LICENSE
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── screen-shot.png
├── src
├── App.jsx
├── components
│ └── threeWrapper
│ │ ├── ThreeWrapper.jsx
│ │ ├── assets
│ │ └── testcard.jpg
│ │ └── js
│ │ └── main.js
├── index.css
└── main.jsx
└── vite.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
26 | # next.js
27 | /.next/
28 | /out/
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 Felix Turner
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # threejs-react-wrapper
2 |
3 | A simple wrapper to run vanilla ThreeJS code inside a React component.
4 |
5 | - Uses React 18 and Vite.
6 | - Uses [Leva](https://github.com/pmndrs/leva) React GUI to show passing props from React -> ThreeJS.
7 |
8 | ## Philosophy
9 |
10 | [React-three-fiber](https://github.com/pmndrs/react-three-fiber) is great if you want to write your ThreeJS code with JSX. If you prefer coding ThreeJS with vanilla JS, this template might be useful. Any of the [ThreeJS examples](https://threejs.org/examples/) can be loaded into this wrapper.
11 |
12 | ## Available Scripts
13 |
14 | In the project directory, you can run:
15 |
16 | - `npm install` - Install dependencies.
17 | - `npm run dev` - Runs the app in dev mode.
18 | - `npm run build` - Build app to `dist` folder.
19 |
20 | ## ScreenShot
21 |
22 | 
23 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ThreeJS React Wrapper
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "threejs-react-wrapper",
3 | "version": "0.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "threejs-react-wrapper",
9 | "version": "0.0.0",
10 | "license": "MIT",
11 | "dependencies": {
12 | "@vitejs/plugin-react": "^4.0.4",
13 | "leva": "^0.9.34",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0",
16 | "three": "^0.176.0"
17 | },
18 | "devDependencies": {
19 | "@types/react": "^18.0.28",
20 | "@types/react-dom": "^18.0.11",
21 | "vite": "^6.3.3"
22 | }
23 | },
24 | "node_modules/@ampproject/remapping": {
25 | "version": "2.3.0",
26 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
27 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
28 | "license": "Apache-2.0",
29 | "dependencies": {
30 | "@jridgewell/gen-mapping": "^0.3.5",
31 | "@jridgewell/trace-mapping": "^0.3.24"
32 | },
33 | "engines": {
34 | "node": ">=6.0.0"
35 | }
36 | },
37 | "node_modules/@babel/code-frame": {
38 | "version": "7.26.2",
39 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
40 | "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
41 | "license": "MIT",
42 | "dependencies": {
43 | "@babel/helper-validator-identifier": "^7.25.9",
44 | "js-tokens": "^4.0.0",
45 | "picocolors": "^1.0.0"
46 | },
47 | "engines": {
48 | "node": ">=6.9.0"
49 | }
50 | },
51 | "node_modules/@babel/compat-data": {
52 | "version": "7.26.8",
53 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
54 | "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
55 | "license": "MIT",
56 | "engines": {
57 | "node": ">=6.9.0"
58 | }
59 | },
60 | "node_modules/@babel/core": {
61 | "version": "7.26.10",
62 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
63 | "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
64 | "license": "MIT",
65 | "dependencies": {
66 | "@ampproject/remapping": "^2.2.0",
67 | "@babel/code-frame": "^7.26.2",
68 | "@babel/generator": "^7.26.10",
69 | "@babel/helper-compilation-targets": "^7.26.5",
70 | "@babel/helper-module-transforms": "^7.26.0",
71 | "@babel/helpers": "^7.26.10",
72 | "@babel/parser": "^7.26.10",
73 | "@babel/template": "^7.26.9",
74 | "@babel/traverse": "^7.26.10",
75 | "@babel/types": "^7.26.10",
76 | "convert-source-map": "^2.0.0",
77 | "debug": "^4.1.0",
78 | "gensync": "^1.0.0-beta.2",
79 | "json5": "^2.2.3",
80 | "semver": "^6.3.1"
81 | },
82 | "engines": {
83 | "node": ">=6.9.0"
84 | },
85 | "funding": {
86 | "type": "opencollective",
87 | "url": "https://opencollective.com/babel"
88 | }
89 | },
90 | "node_modules/@babel/generator": {
91 | "version": "7.27.0",
92 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz",
93 | "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==",
94 | "license": "MIT",
95 | "dependencies": {
96 | "@babel/parser": "^7.27.0",
97 | "@babel/types": "^7.27.0",
98 | "@jridgewell/gen-mapping": "^0.3.5",
99 | "@jridgewell/trace-mapping": "^0.3.25",
100 | "jsesc": "^3.0.2"
101 | },
102 | "engines": {
103 | "node": ">=6.9.0"
104 | }
105 | },
106 | "node_modules/@babel/helper-compilation-targets": {
107 | "version": "7.27.0",
108 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz",
109 | "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==",
110 | "license": "MIT",
111 | "dependencies": {
112 | "@babel/compat-data": "^7.26.8",
113 | "@babel/helper-validator-option": "^7.25.9",
114 | "browserslist": "^4.24.0",
115 | "lru-cache": "^5.1.1",
116 | "semver": "^6.3.1"
117 | },
118 | "engines": {
119 | "node": ">=6.9.0"
120 | }
121 | },
122 | "node_modules/@babel/helper-module-imports": {
123 | "version": "7.25.9",
124 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
125 | "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
126 | "license": "MIT",
127 | "dependencies": {
128 | "@babel/traverse": "^7.25.9",
129 | "@babel/types": "^7.25.9"
130 | },
131 | "engines": {
132 | "node": ">=6.9.0"
133 | }
134 | },
135 | "node_modules/@babel/helper-module-transforms": {
136 | "version": "7.26.0",
137 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
138 | "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
139 | "license": "MIT",
140 | "dependencies": {
141 | "@babel/helper-module-imports": "^7.25.9",
142 | "@babel/helper-validator-identifier": "^7.25.9",
143 | "@babel/traverse": "^7.25.9"
144 | },
145 | "engines": {
146 | "node": ">=6.9.0"
147 | },
148 | "peerDependencies": {
149 | "@babel/core": "^7.0.0"
150 | }
151 | },
152 | "node_modules/@babel/helper-plugin-utils": {
153 | "version": "7.26.5",
154 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
155 | "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
156 | "license": "MIT",
157 | "engines": {
158 | "node": ">=6.9.0"
159 | }
160 | },
161 | "node_modules/@babel/helper-string-parser": {
162 | "version": "7.25.9",
163 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
164 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
165 | "license": "MIT",
166 | "engines": {
167 | "node": ">=6.9.0"
168 | }
169 | },
170 | "node_modules/@babel/helper-validator-identifier": {
171 | "version": "7.25.9",
172 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
173 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
174 | "license": "MIT",
175 | "engines": {
176 | "node": ">=6.9.0"
177 | }
178 | },
179 | "node_modules/@babel/helper-validator-option": {
180 | "version": "7.25.9",
181 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
182 | "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
183 | "license": "MIT",
184 | "engines": {
185 | "node": ">=6.9.0"
186 | }
187 | },
188 | "node_modules/@babel/helpers": {
189 | "version": "7.27.0",
190 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz",
191 | "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==",
192 | "license": "MIT",
193 | "dependencies": {
194 | "@babel/template": "^7.27.0",
195 | "@babel/types": "^7.27.0"
196 | },
197 | "engines": {
198 | "node": ">=6.9.0"
199 | }
200 | },
201 | "node_modules/@babel/parser": {
202 | "version": "7.27.0",
203 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
204 | "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
205 | "license": "MIT",
206 | "dependencies": {
207 | "@babel/types": "^7.27.0"
208 | },
209 | "bin": {
210 | "parser": "bin/babel-parser.js"
211 | },
212 | "engines": {
213 | "node": ">=6.0.0"
214 | }
215 | },
216 | "node_modules/@babel/plugin-transform-react-jsx-self": {
217 | "version": "7.25.9",
218 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz",
219 | "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==",
220 | "license": "MIT",
221 | "dependencies": {
222 | "@babel/helper-plugin-utils": "^7.25.9"
223 | },
224 | "engines": {
225 | "node": ">=6.9.0"
226 | },
227 | "peerDependencies": {
228 | "@babel/core": "^7.0.0-0"
229 | }
230 | },
231 | "node_modules/@babel/plugin-transform-react-jsx-source": {
232 | "version": "7.25.9",
233 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz",
234 | "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==",
235 | "license": "MIT",
236 | "dependencies": {
237 | "@babel/helper-plugin-utils": "^7.25.9"
238 | },
239 | "engines": {
240 | "node": ">=6.9.0"
241 | },
242 | "peerDependencies": {
243 | "@babel/core": "^7.0.0-0"
244 | }
245 | },
246 | "node_modules/@babel/runtime": {
247 | "version": "7.27.0",
248 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
249 | "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
250 | "license": "MIT",
251 | "dependencies": {
252 | "regenerator-runtime": "^0.14.0"
253 | },
254 | "engines": {
255 | "node": ">=6.9.0"
256 | }
257 | },
258 | "node_modules/@babel/template": {
259 | "version": "7.27.0",
260 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz",
261 | "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==",
262 | "license": "MIT",
263 | "dependencies": {
264 | "@babel/code-frame": "^7.26.2",
265 | "@babel/parser": "^7.27.0",
266 | "@babel/types": "^7.27.0"
267 | },
268 | "engines": {
269 | "node": ">=6.9.0"
270 | }
271 | },
272 | "node_modules/@babel/traverse": {
273 | "version": "7.27.0",
274 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz",
275 | "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==",
276 | "license": "MIT",
277 | "dependencies": {
278 | "@babel/code-frame": "^7.26.2",
279 | "@babel/generator": "^7.27.0",
280 | "@babel/parser": "^7.27.0",
281 | "@babel/template": "^7.27.0",
282 | "@babel/types": "^7.27.0",
283 | "debug": "^4.3.1",
284 | "globals": "^11.1.0"
285 | },
286 | "engines": {
287 | "node": ">=6.9.0"
288 | }
289 | },
290 | "node_modules/@babel/types": {
291 | "version": "7.27.0",
292 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
293 | "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
294 | "license": "MIT",
295 | "dependencies": {
296 | "@babel/helper-string-parser": "^7.25.9",
297 | "@babel/helper-validator-identifier": "^7.25.9"
298 | },
299 | "engines": {
300 | "node": ">=6.9.0"
301 | }
302 | },
303 | "node_modules/@esbuild/aix-ppc64": {
304 | "version": "0.25.3",
305 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz",
306 | "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==",
307 | "cpu": [
308 | "ppc64"
309 | ],
310 | "license": "MIT",
311 | "optional": true,
312 | "os": [
313 | "aix"
314 | ],
315 | "engines": {
316 | "node": ">=18"
317 | }
318 | },
319 | "node_modules/@esbuild/android-arm": {
320 | "version": "0.25.3",
321 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz",
322 | "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==",
323 | "cpu": [
324 | "arm"
325 | ],
326 | "license": "MIT",
327 | "optional": true,
328 | "os": [
329 | "android"
330 | ],
331 | "engines": {
332 | "node": ">=18"
333 | }
334 | },
335 | "node_modules/@esbuild/android-arm64": {
336 | "version": "0.25.3",
337 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz",
338 | "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==",
339 | "cpu": [
340 | "arm64"
341 | ],
342 | "license": "MIT",
343 | "optional": true,
344 | "os": [
345 | "android"
346 | ],
347 | "engines": {
348 | "node": ">=18"
349 | }
350 | },
351 | "node_modules/@esbuild/android-x64": {
352 | "version": "0.25.3",
353 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz",
354 | "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==",
355 | "cpu": [
356 | "x64"
357 | ],
358 | "license": "MIT",
359 | "optional": true,
360 | "os": [
361 | "android"
362 | ],
363 | "engines": {
364 | "node": ">=18"
365 | }
366 | },
367 | "node_modules/@esbuild/darwin-arm64": {
368 | "version": "0.25.3",
369 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz",
370 | "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==",
371 | "cpu": [
372 | "arm64"
373 | ],
374 | "license": "MIT",
375 | "optional": true,
376 | "os": [
377 | "darwin"
378 | ],
379 | "engines": {
380 | "node": ">=18"
381 | }
382 | },
383 | "node_modules/@esbuild/darwin-x64": {
384 | "version": "0.25.3",
385 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz",
386 | "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==",
387 | "cpu": [
388 | "x64"
389 | ],
390 | "license": "MIT",
391 | "optional": true,
392 | "os": [
393 | "darwin"
394 | ],
395 | "engines": {
396 | "node": ">=18"
397 | }
398 | },
399 | "node_modules/@esbuild/freebsd-arm64": {
400 | "version": "0.25.3",
401 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz",
402 | "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==",
403 | "cpu": [
404 | "arm64"
405 | ],
406 | "license": "MIT",
407 | "optional": true,
408 | "os": [
409 | "freebsd"
410 | ],
411 | "engines": {
412 | "node": ">=18"
413 | }
414 | },
415 | "node_modules/@esbuild/freebsd-x64": {
416 | "version": "0.25.3",
417 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz",
418 | "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==",
419 | "cpu": [
420 | "x64"
421 | ],
422 | "license": "MIT",
423 | "optional": true,
424 | "os": [
425 | "freebsd"
426 | ],
427 | "engines": {
428 | "node": ">=18"
429 | }
430 | },
431 | "node_modules/@esbuild/linux-arm": {
432 | "version": "0.25.3",
433 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz",
434 | "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==",
435 | "cpu": [
436 | "arm"
437 | ],
438 | "license": "MIT",
439 | "optional": true,
440 | "os": [
441 | "linux"
442 | ],
443 | "engines": {
444 | "node": ">=18"
445 | }
446 | },
447 | "node_modules/@esbuild/linux-arm64": {
448 | "version": "0.25.3",
449 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz",
450 | "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==",
451 | "cpu": [
452 | "arm64"
453 | ],
454 | "license": "MIT",
455 | "optional": true,
456 | "os": [
457 | "linux"
458 | ],
459 | "engines": {
460 | "node": ">=18"
461 | }
462 | },
463 | "node_modules/@esbuild/linux-ia32": {
464 | "version": "0.25.3",
465 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz",
466 | "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==",
467 | "cpu": [
468 | "ia32"
469 | ],
470 | "license": "MIT",
471 | "optional": true,
472 | "os": [
473 | "linux"
474 | ],
475 | "engines": {
476 | "node": ">=18"
477 | }
478 | },
479 | "node_modules/@esbuild/linux-loong64": {
480 | "version": "0.25.3",
481 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz",
482 | "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==",
483 | "cpu": [
484 | "loong64"
485 | ],
486 | "license": "MIT",
487 | "optional": true,
488 | "os": [
489 | "linux"
490 | ],
491 | "engines": {
492 | "node": ">=18"
493 | }
494 | },
495 | "node_modules/@esbuild/linux-mips64el": {
496 | "version": "0.25.3",
497 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz",
498 | "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==",
499 | "cpu": [
500 | "mips64el"
501 | ],
502 | "license": "MIT",
503 | "optional": true,
504 | "os": [
505 | "linux"
506 | ],
507 | "engines": {
508 | "node": ">=18"
509 | }
510 | },
511 | "node_modules/@esbuild/linux-ppc64": {
512 | "version": "0.25.3",
513 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz",
514 | "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==",
515 | "cpu": [
516 | "ppc64"
517 | ],
518 | "license": "MIT",
519 | "optional": true,
520 | "os": [
521 | "linux"
522 | ],
523 | "engines": {
524 | "node": ">=18"
525 | }
526 | },
527 | "node_modules/@esbuild/linux-riscv64": {
528 | "version": "0.25.3",
529 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz",
530 | "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==",
531 | "cpu": [
532 | "riscv64"
533 | ],
534 | "license": "MIT",
535 | "optional": true,
536 | "os": [
537 | "linux"
538 | ],
539 | "engines": {
540 | "node": ">=18"
541 | }
542 | },
543 | "node_modules/@esbuild/linux-s390x": {
544 | "version": "0.25.3",
545 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz",
546 | "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==",
547 | "cpu": [
548 | "s390x"
549 | ],
550 | "license": "MIT",
551 | "optional": true,
552 | "os": [
553 | "linux"
554 | ],
555 | "engines": {
556 | "node": ">=18"
557 | }
558 | },
559 | "node_modules/@esbuild/linux-x64": {
560 | "version": "0.25.3",
561 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz",
562 | "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==",
563 | "cpu": [
564 | "x64"
565 | ],
566 | "license": "MIT",
567 | "optional": true,
568 | "os": [
569 | "linux"
570 | ],
571 | "engines": {
572 | "node": ">=18"
573 | }
574 | },
575 | "node_modules/@esbuild/netbsd-arm64": {
576 | "version": "0.25.3",
577 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz",
578 | "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==",
579 | "cpu": [
580 | "arm64"
581 | ],
582 | "license": "MIT",
583 | "optional": true,
584 | "os": [
585 | "netbsd"
586 | ],
587 | "engines": {
588 | "node": ">=18"
589 | }
590 | },
591 | "node_modules/@esbuild/netbsd-x64": {
592 | "version": "0.25.3",
593 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz",
594 | "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==",
595 | "cpu": [
596 | "x64"
597 | ],
598 | "license": "MIT",
599 | "optional": true,
600 | "os": [
601 | "netbsd"
602 | ],
603 | "engines": {
604 | "node": ">=18"
605 | }
606 | },
607 | "node_modules/@esbuild/openbsd-arm64": {
608 | "version": "0.25.3",
609 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz",
610 | "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==",
611 | "cpu": [
612 | "arm64"
613 | ],
614 | "license": "MIT",
615 | "optional": true,
616 | "os": [
617 | "openbsd"
618 | ],
619 | "engines": {
620 | "node": ">=18"
621 | }
622 | },
623 | "node_modules/@esbuild/openbsd-x64": {
624 | "version": "0.25.3",
625 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz",
626 | "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==",
627 | "cpu": [
628 | "x64"
629 | ],
630 | "license": "MIT",
631 | "optional": true,
632 | "os": [
633 | "openbsd"
634 | ],
635 | "engines": {
636 | "node": ">=18"
637 | }
638 | },
639 | "node_modules/@esbuild/sunos-x64": {
640 | "version": "0.25.3",
641 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz",
642 | "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==",
643 | "cpu": [
644 | "x64"
645 | ],
646 | "license": "MIT",
647 | "optional": true,
648 | "os": [
649 | "sunos"
650 | ],
651 | "engines": {
652 | "node": ">=18"
653 | }
654 | },
655 | "node_modules/@esbuild/win32-arm64": {
656 | "version": "0.25.3",
657 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz",
658 | "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==",
659 | "cpu": [
660 | "arm64"
661 | ],
662 | "license": "MIT",
663 | "optional": true,
664 | "os": [
665 | "win32"
666 | ],
667 | "engines": {
668 | "node": ">=18"
669 | }
670 | },
671 | "node_modules/@esbuild/win32-ia32": {
672 | "version": "0.25.3",
673 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz",
674 | "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==",
675 | "cpu": [
676 | "ia32"
677 | ],
678 | "license": "MIT",
679 | "optional": true,
680 | "os": [
681 | "win32"
682 | ],
683 | "engines": {
684 | "node": ">=18"
685 | }
686 | },
687 | "node_modules/@esbuild/win32-x64": {
688 | "version": "0.25.3",
689 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz",
690 | "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==",
691 | "cpu": [
692 | "x64"
693 | ],
694 | "license": "MIT",
695 | "optional": true,
696 | "os": [
697 | "win32"
698 | ],
699 | "engines": {
700 | "node": ">=18"
701 | }
702 | },
703 | "node_modules/@floating-ui/core": {
704 | "version": "1.4.1",
705 | "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz",
706 | "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==",
707 | "dependencies": {
708 | "@floating-ui/utils": "^0.1.1"
709 | }
710 | },
711 | "node_modules/@floating-ui/dom": {
712 | "version": "1.5.1",
713 | "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz",
714 | "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==",
715 | "dependencies": {
716 | "@floating-ui/core": "^1.4.1",
717 | "@floating-ui/utils": "^0.1.1"
718 | }
719 | },
720 | "node_modules/@floating-ui/react-dom": {
721 | "version": "2.0.1",
722 | "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.1.tgz",
723 | "integrity": "sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==",
724 | "dependencies": {
725 | "@floating-ui/dom": "^1.3.0"
726 | },
727 | "peerDependencies": {
728 | "react": ">=16.8.0",
729 | "react-dom": ">=16.8.0"
730 | }
731 | },
732 | "node_modules/@floating-ui/utils": {
733 | "version": "0.1.1",
734 | "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz",
735 | "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw=="
736 | },
737 | "node_modules/@jridgewell/gen-mapping": {
738 | "version": "0.3.8",
739 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
740 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
741 | "license": "MIT",
742 | "dependencies": {
743 | "@jridgewell/set-array": "^1.2.1",
744 | "@jridgewell/sourcemap-codec": "^1.4.10",
745 | "@jridgewell/trace-mapping": "^0.3.24"
746 | },
747 | "engines": {
748 | "node": ">=6.0.0"
749 | }
750 | },
751 | "node_modules/@jridgewell/resolve-uri": {
752 | "version": "3.1.2",
753 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
754 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
755 | "license": "MIT",
756 | "engines": {
757 | "node": ">=6.0.0"
758 | }
759 | },
760 | "node_modules/@jridgewell/set-array": {
761 | "version": "1.2.1",
762 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
763 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
764 | "license": "MIT",
765 | "engines": {
766 | "node": ">=6.0.0"
767 | }
768 | },
769 | "node_modules/@jridgewell/sourcemap-codec": {
770 | "version": "1.5.0",
771 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
772 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
773 | "license": "MIT"
774 | },
775 | "node_modules/@jridgewell/trace-mapping": {
776 | "version": "0.3.25",
777 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
778 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
779 | "license": "MIT",
780 | "dependencies": {
781 | "@jridgewell/resolve-uri": "^3.1.0",
782 | "@jridgewell/sourcemap-codec": "^1.4.14"
783 | }
784 | },
785 | "node_modules/@radix-ui/primitive": {
786 | "version": "1.0.1",
787 | "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz",
788 | "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==",
789 | "dependencies": {
790 | "@babel/runtime": "^7.13.10"
791 | }
792 | },
793 | "node_modules/@radix-ui/react-arrow": {
794 | "version": "1.0.3",
795 | "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz",
796 | "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==",
797 | "dependencies": {
798 | "@babel/runtime": "^7.13.10",
799 | "@radix-ui/react-primitive": "1.0.3"
800 | },
801 | "peerDependencies": {
802 | "@types/react": "*",
803 | "@types/react-dom": "*",
804 | "react": "^16.8 || ^17.0 || ^18.0",
805 | "react-dom": "^16.8 || ^17.0 || ^18.0"
806 | },
807 | "peerDependenciesMeta": {
808 | "@types/react": {
809 | "optional": true
810 | },
811 | "@types/react-dom": {
812 | "optional": true
813 | }
814 | }
815 | },
816 | "node_modules/@radix-ui/react-compose-refs": {
817 | "version": "1.0.1",
818 | "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz",
819 | "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==",
820 | "dependencies": {
821 | "@babel/runtime": "^7.13.10"
822 | },
823 | "peerDependencies": {
824 | "@types/react": "*",
825 | "react": "^16.8 || ^17.0 || ^18.0"
826 | },
827 | "peerDependenciesMeta": {
828 | "@types/react": {
829 | "optional": true
830 | }
831 | }
832 | },
833 | "node_modules/@radix-ui/react-context": {
834 | "version": "1.0.1",
835 | "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz",
836 | "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==",
837 | "dependencies": {
838 | "@babel/runtime": "^7.13.10"
839 | },
840 | "peerDependencies": {
841 | "@types/react": "*",
842 | "react": "^16.8 || ^17.0 || ^18.0"
843 | },
844 | "peerDependenciesMeta": {
845 | "@types/react": {
846 | "optional": true
847 | }
848 | }
849 | },
850 | "node_modules/@radix-ui/react-dismissable-layer": {
851 | "version": "1.0.4",
852 | "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz",
853 | "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==",
854 | "dependencies": {
855 | "@babel/runtime": "^7.13.10",
856 | "@radix-ui/primitive": "1.0.1",
857 | "@radix-ui/react-compose-refs": "1.0.1",
858 | "@radix-ui/react-primitive": "1.0.3",
859 | "@radix-ui/react-use-callback-ref": "1.0.1",
860 | "@radix-ui/react-use-escape-keydown": "1.0.3"
861 | },
862 | "peerDependencies": {
863 | "@types/react": "*",
864 | "@types/react-dom": "*",
865 | "react": "^16.8 || ^17.0 || ^18.0",
866 | "react-dom": "^16.8 || ^17.0 || ^18.0"
867 | },
868 | "peerDependenciesMeta": {
869 | "@types/react": {
870 | "optional": true
871 | },
872 | "@types/react-dom": {
873 | "optional": true
874 | }
875 | }
876 | },
877 | "node_modules/@radix-ui/react-id": {
878 | "version": "1.0.1",
879 | "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz",
880 | "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==",
881 | "dependencies": {
882 | "@babel/runtime": "^7.13.10",
883 | "@radix-ui/react-use-layout-effect": "1.0.1"
884 | },
885 | "peerDependencies": {
886 | "@types/react": "*",
887 | "react": "^16.8 || ^17.0 || ^18.0"
888 | },
889 | "peerDependenciesMeta": {
890 | "@types/react": {
891 | "optional": true
892 | }
893 | }
894 | },
895 | "node_modules/@radix-ui/react-popper": {
896 | "version": "1.1.2",
897 | "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz",
898 | "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==",
899 | "dependencies": {
900 | "@babel/runtime": "^7.13.10",
901 | "@floating-ui/react-dom": "^2.0.0",
902 | "@radix-ui/react-arrow": "1.0.3",
903 | "@radix-ui/react-compose-refs": "1.0.1",
904 | "@radix-ui/react-context": "1.0.1",
905 | "@radix-ui/react-primitive": "1.0.3",
906 | "@radix-ui/react-use-callback-ref": "1.0.1",
907 | "@radix-ui/react-use-layout-effect": "1.0.1",
908 | "@radix-ui/react-use-rect": "1.0.1",
909 | "@radix-ui/react-use-size": "1.0.1",
910 | "@radix-ui/rect": "1.0.1"
911 | },
912 | "peerDependencies": {
913 | "@types/react": "*",
914 | "@types/react-dom": "*",
915 | "react": "^16.8 || ^17.0 || ^18.0",
916 | "react-dom": "^16.8 || ^17.0 || ^18.0"
917 | },
918 | "peerDependenciesMeta": {
919 | "@types/react": {
920 | "optional": true
921 | },
922 | "@types/react-dom": {
923 | "optional": true
924 | }
925 | }
926 | },
927 | "node_modules/@radix-ui/react-portal": {
928 | "version": "1.0.3",
929 | "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz",
930 | "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==",
931 | "dependencies": {
932 | "@babel/runtime": "^7.13.10",
933 | "@radix-ui/react-primitive": "1.0.3"
934 | },
935 | "peerDependencies": {
936 | "@types/react": "*",
937 | "@types/react-dom": "*",
938 | "react": "^16.8 || ^17.0 || ^18.0",
939 | "react-dom": "^16.8 || ^17.0 || ^18.0"
940 | },
941 | "peerDependenciesMeta": {
942 | "@types/react": {
943 | "optional": true
944 | },
945 | "@types/react-dom": {
946 | "optional": true
947 | }
948 | }
949 | },
950 | "node_modules/@radix-ui/react-presence": {
951 | "version": "1.0.1",
952 | "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz",
953 | "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==",
954 | "dependencies": {
955 | "@babel/runtime": "^7.13.10",
956 | "@radix-ui/react-compose-refs": "1.0.1",
957 | "@radix-ui/react-use-layout-effect": "1.0.1"
958 | },
959 | "peerDependencies": {
960 | "@types/react": "*",
961 | "@types/react-dom": "*",
962 | "react": "^16.8 || ^17.0 || ^18.0",
963 | "react-dom": "^16.8 || ^17.0 || ^18.0"
964 | },
965 | "peerDependenciesMeta": {
966 | "@types/react": {
967 | "optional": true
968 | },
969 | "@types/react-dom": {
970 | "optional": true
971 | }
972 | }
973 | },
974 | "node_modules/@radix-ui/react-primitive": {
975 | "version": "1.0.3",
976 | "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz",
977 | "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==",
978 | "dependencies": {
979 | "@babel/runtime": "^7.13.10",
980 | "@radix-ui/react-slot": "1.0.2"
981 | },
982 | "peerDependencies": {
983 | "@types/react": "*",
984 | "@types/react-dom": "*",
985 | "react": "^16.8 || ^17.0 || ^18.0",
986 | "react-dom": "^16.8 || ^17.0 || ^18.0"
987 | },
988 | "peerDependenciesMeta": {
989 | "@types/react": {
990 | "optional": true
991 | },
992 | "@types/react-dom": {
993 | "optional": true
994 | }
995 | }
996 | },
997 | "node_modules/@radix-ui/react-slot": {
998 | "version": "1.0.2",
999 | "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz",
1000 | "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==",
1001 | "dependencies": {
1002 | "@babel/runtime": "^7.13.10",
1003 | "@radix-ui/react-compose-refs": "1.0.1"
1004 | },
1005 | "peerDependencies": {
1006 | "@types/react": "*",
1007 | "react": "^16.8 || ^17.0 || ^18.0"
1008 | },
1009 | "peerDependenciesMeta": {
1010 | "@types/react": {
1011 | "optional": true
1012 | }
1013 | }
1014 | },
1015 | "node_modules/@radix-ui/react-tooltip": {
1016 | "version": "1.0.6",
1017 | "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.6.tgz",
1018 | "integrity": "sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==",
1019 | "dependencies": {
1020 | "@babel/runtime": "^7.13.10",
1021 | "@radix-ui/primitive": "1.0.1",
1022 | "@radix-ui/react-compose-refs": "1.0.1",
1023 | "@radix-ui/react-context": "1.0.1",
1024 | "@radix-ui/react-dismissable-layer": "1.0.4",
1025 | "@radix-ui/react-id": "1.0.1",
1026 | "@radix-ui/react-popper": "1.1.2",
1027 | "@radix-ui/react-portal": "1.0.3",
1028 | "@radix-ui/react-presence": "1.0.1",
1029 | "@radix-ui/react-primitive": "1.0.3",
1030 | "@radix-ui/react-slot": "1.0.2",
1031 | "@radix-ui/react-use-controllable-state": "1.0.1",
1032 | "@radix-ui/react-visually-hidden": "1.0.3"
1033 | },
1034 | "peerDependencies": {
1035 | "@types/react": "*",
1036 | "@types/react-dom": "*",
1037 | "react": "^16.8 || ^17.0 || ^18.0",
1038 | "react-dom": "^16.8 || ^17.0 || ^18.0"
1039 | },
1040 | "peerDependenciesMeta": {
1041 | "@types/react": {
1042 | "optional": true
1043 | },
1044 | "@types/react-dom": {
1045 | "optional": true
1046 | }
1047 | }
1048 | },
1049 | "node_modules/@radix-ui/react-use-callback-ref": {
1050 | "version": "1.0.1",
1051 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz",
1052 | "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==",
1053 | "dependencies": {
1054 | "@babel/runtime": "^7.13.10"
1055 | },
1056 | "peerDependencies": {
1057 | "@types/react": "*",
1058 | "react": "^16.8 || ^17.0 || ^18.0"
1059 | },
1060 | "peerDependenciesMeta": {
1061 | "@types/react": {
1062 | "optional": true
1063 | }
1064 | }
1065 | },
1066 | "node_modules/@radix-ui/react-use-controllable-state": {
1067 | "version": "1.0.1",
1068 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz",
1069 | "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==",
1070 | "dependencies": {
1071 | "@babel/runtime": "^7.13.10",
1072 | "@radix-ui/react-use-callback-ref": "1.0.1"
1073 | },
1074 | "peerDependencies": {
1075 | "@types/react": "*",
1076 | "react": "^16.8 || ^17.0 || ^18.0"
1077 | },
1078 | "peerDependenciesMeta": {
1079 | "@types/react": {
1080 | "optional": true
1081 | }
1082 | }
1083 | },
1084 | "node_modules/@radix-ui/react-use-escape-keydown": {
1085 | "version": "1.0.3",
1086 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz",
1087 | "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==",
1088 | "dependencies": {
1089 | "@babel/runtime": "^7.13.10",
1090 | "@radix-ui/react-use-callback-ref": "1.0.1"
1091 | },
1092 | "peerDependencies": {
1093 | "@types/react": "*",
1094 | "react": "^16.8 || ^17.0 || ^18.0"
1095 | },
1096 | "peerDependenciesMeta": {
1097 | "@types/react": {
1098 | "optional": true
1099 | }
1100 | }
1101 | },
1102 | "node_modules/@radix-ui/react-use-layout-effect": {
1103 | "version": "1.0.1",
1104 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz",
1105 | "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==",
1106 | "dependencies": {
1107 | "@babel/runtime": "^7.13.10"
1108 | },
1109 | "peerDependencies": {
1110 | "@types/react": "*",
1111 | "react": "^16.8 || ^17.0 || ^18.0"
1112 | },
1113 | "peerDependenciesMeta": {
1114 | "@types/react": {
1115 | "optional": true
1116 | }
1117 | }
1118 | },
1119 | "node_modules/@radix-ui/react-use-rect": {
1120 | "version": "1.0.1",
1121 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz",
1122 | "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==",
1123 | "dependencies": {
1124 | "@babel/runtime": "^7.13.10",
1125 | "@radix-ui/rect": "1.0.1"
1126 | },
1127 | "peerDependencies": {
1128 | "@types/react": "*",
1129 | "react": "^16.8 || ^17.0 || ^18.0"
1130 | },
1131 | "peerDependenciesMeta": {
1132 | "@types/react": {
1133 | "optional": true
1134 | }
1135 | }
1136 | },
1137 | "node_modules/@radix-ui/react-use-size": {
1138 | "version": "1.0.1",
1139 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz",
1140 | "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==",
1141 | "dependencies": {
1142 | "@babel/runtime": "^7.13.10",
1143 | "@radix-ui/react-use-layout-effect": "1.0.1"
1144 | },
1145 | "peerDependencies": {
1146 | "@types/react": "*",
1147 | "react": "^16.8 || ^17.0 || ^18.0"
1148 | },
1149 | "peerDependenciesMeta": {
1150 | "@types/react": {
1151 | "optional": true
1152 | }
1153 | }
1154 | },
1155 | "node_modules/@radix-ui/react-visually-hidden": {
1156 | "version": "1.0.3",
1157 | "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz",
1158 | "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==",
1159 | "dependencies": {
1160 | "@babel/runtime": "^7.13.10",
1161 | "@radix-ui/react-primitive": "1.0.3"
1162 | },
1163 | "peerDependencies": {
1164 | "@types/react": "*",
1165 | "@types/react-dom": "*",
1166 | "react": "^16.8 || ^17.0 || ^18.0",
1167 | "react-dom": "^16.8 || ^17.0 || ^18.0"
1168 | },
1169 | "peerDependenciesMeta": {
1170 | "@types/react": {
1171 | "optional": true
1172 | },
1173 | "@types/react-dom": {
1174 | "optional": true
1175 | }
1176 | }
1177 | },
1178 | "node_modules/@radix-ui/rect": {
1179 | "version": "1.0.1",
1180 | "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz",
1181 | "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==",
1182 | "dependencies": {
1183 | "@babel/runtime": "^7.13.10"
1184 | }
1185 | },
1186 | "node_modules/@rollup/rollup-android-arm-eabi": {
1187 | "version": "4.40.0",
1188 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz",
1189 | "integrity": "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==",
1190 | "cpu": [
1191 | "arm"
1192 | ],
1193 | "license": "MIT",
1194 | "optional": true,
1195 | "os": [
1196 | "android"
1197 | ]
1198 | },
1199 | "node_modules/@rollup/rollup-android-arm64": {
1200 | "version": "4.40.0",
1201 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz",
1202 | "integrity": "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==",
1203 | "cpu": [
1204 | "arm64"
1205 | ],
1206 | "license": "MIT",
1207 | "optional": true,
1208 | "os": [
1209 | "android"
1210 | ]
1211 | },
1212 | "node_modules/@rollup/rollup-darwin-arm64": {
1213 | "version": "4.40.0",
1214 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz",
1215 | "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==",
1216 | "cpu": [
1217 | "arm64"
1218 | ],
1219 | "license": "MIT",
1220 | "optional": true,
1221 | "os": [
1222 | "darwin"
1223 | ]
1224 | },
1225 | "node_modules/@rollup/rollup-darwin-x64": {
1226 | "version": "4.40.0",
1227 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz",
1228 | "integrity": "sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==",
1229 | "cpu": [
1230 | "x64"
1231 | ],
1232 | "license": "MIT",
1233 | "optional": true,
1234 | "os": [
1235 | "darwin"
1236 | ]
1237 | },
1238 | "node_modules/@rollup/rollup-freebsd-arm64": {
1239 | "version": "4.40.0",
1240 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz",
1241 | "integrity": "sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==",
1242 | "cpu": [
1243 | "arm64"
1244 | ],
1245 | "license": "MIT",
1246 | "optional": true,
1247 | "os": [
1248 | "freebsd"
1249 | ]
1250 | },
1251 | "node_modules/@rollup/rollup-freebsd-x64": {
1252 | "version": "4.40.0",
1253 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz",
1254 | "integrity": "sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==",
1255 | "cpu": [
1256 | "x64"
1257 | ],
1258 | "license": "MIT",
1259 | "optional": true,
1260 | "os": [
1261 | "freebsd"
1262 | ]
1263 | },
1264 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1265 | "version": "4.40.0",
1266 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz",
1267 | "integrity": "sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==",
1268 | "cpu": [
1269 | "arm"
1270 | ],
1271 | "license": "MIT",
1272 | "optional": true,
1273 | "os": [
1274 | "linux"
1275 | ]
1276 | },
1277 | "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1278 | "version": "4.40.0",
1279 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz",
1280 | "integrity": "sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==",
1281 | "cpu": [
1282 | "arm"
1283 | ],
1284 | "license": "MIT",
1285 | "optional": true,
1286 | "os": [
1287 | "linux"
1288 | ]
1289 | },
1290 | "node_modules/@rollup/rollup-linux-arm64-gnu": {
1291 | "version": "4.40.0",
1292 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz",
1293 | "integrity": "sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==",
1294 | "cpu": [
1295 | "arm64"
1296 | ],
1297 | "license": "MIT",
1298 | "optional": true,
1299 | "os": [
1300 | "linux"
1301 | ]
1302 | },
1303 | "node_modules/@rollup/rollup-linux-arm64-musl": {
1304 | "version": "4.40.0",
1305 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz",
1306 | "integrity": "sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==",
1307 | "cpu": [
1308 | "arm64"
1309 | ],
1310 | "license": "MIT",
1311 | "optional": true,
1312 | "os": [
1313 | "linux"
1314 | ]
1315 | },
1316 | "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
1317 | "version": "4.40.0",
1318 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz",
1319 | "integrity": "sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==",
1320 | "cpu": [
1321 | "loong64"
1322 | ],
1323 | "license": "MIT",
1324 | "optional": true,
1325 | "os": [
1326 | "linux"
1327 | ]
1328 | },
1329 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
1330 | "version": "4.40.0",
1331 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz",
1332 | "integrity": "sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==",
1333 | "cpu": [
1334 | "ppc64"
1335 | ],
1336 | "license": "MIT",
1337 | "optional": true,
1338 | "os": [
1339 | "linux"
1340 | ]
1341 | },
1342 | "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1343 | "version": "4.40.0",
1344 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz",
1345 | "integrity": "sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==",
1346 | "cpu": [
1347 | "riscv64"
1348 | ],
1349 | "license": "MIT",
1350 | "optional": true,
1351 | "os": [
1352 | "linux"
1353 | ]
1354 | },
1355 | "node_modules/@rollup/rollup-linux-riscv64-musl": {
1356 | "version": "4.40.0",
1357 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz",
1358 | "integrity": "sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==",
1359 | "cpu": [
1360 | "riscv64"
1361 | ],
1362 | "license": "MIT",
1363 | "optional": true,
1364 | "os": [
1365 | "linux"
1366 | ]
1367 | },
1368 | "node_modules/@rollup/rollup-linux-s390x-gnu": {
1369 | "version": "4.40.0",
1370 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz",
1371 | "integrity": "sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==",
1372 | "cpu": [
1373 | "s390x"
1374 | ],
1375 | "license": "MIT",
1376 | "optional": true,
1377 | "os": [
1378 | "linux"
1379 | ]
1380 | },
1381 | "node_modules/@rollup/rollup-linux-x64-gnu": {
1382 | "version": "4.40.0",
1383 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz",
1384 | "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==",
1385 | "cpu": [
1386 | "x64"
1387 | ],
1388 | "license": "MIT",
1389 | "optional": true,
1390 | "os": [
1391 | "linux"
1392 | ]
1393 | },
1394 | "node_modules/@rollup/rollup-linux-x64-musl": {
1395 | "version": "4.40.0",
1396 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz",
1397 | "integrity": "sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==",
1398 | "cpu": [
1399 | "x64"
1400 | ],
1401 | "license": "MIT",
1402 | "optional": true,
1403 | "os": [
1404 | "linux"
1405 | ]
1406 | },
1407 | "node_modules/@rollup/rollup-win32-arm64-msvc": {
1408 | "version": "4.40.0",
1409 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz",
1410 | "integrity": "sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==",
1411 | "cpu": [
1412 | "arm64"
1413 | ],
1414 | "license": "MIT",
1415 | "optional": true,
1416 | "os": [
1417 | "win32"
1418 | ]
1419 | },
1420 | "node_modules/@rollup/rollup-win32-ia32-msvc": {
1421 | "version": "4.40.0",
1422 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz",
1423 | "integrity": "sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==",
1424 | "cpu": [
1425 | "ia32"
1426 | ],
1427 | "license": "MIT",
1428 | "optional": true,
1429 | "os": [
1430 | "win32"
1431 | ]
1432 | },
1433 | "node_modules/@rollup/rollup-win32-x64-msvc": {
1434 | "version": "4.40.0",
1435 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz",
1436 | "integrity": "sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==",
1437 | "cpu": [
1438 | "x64"
1439 | ],
1440 | "license": "MIT",
1441 | "optional": true,
1442 | "os": [
1443 | "win32"
1444 | ]
1445 | },
1446 | "node_modules/@stitches/react": {
1447 | "version": "1.2.8",
1448 | "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz",
1449 | "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==",
1450 | "peerDependencies": {
1451 | "react": ">= 16.3.0"
1452 | }
1453 | },
1454 | "node_modules/@types/babel__core": {
1455 | "version": "7.20.5",
1456 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
1457 | "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1458 | "license": "MIT",
1459 | "dependencies": {
1460 | "@babel/parser": "^7.20.7",
1461 | "@babel/types": "^7.20.7",
1462 | "@types/babel__generator": "*",
1463 | "@types/babel__template": "*",
1464 | "@types/babel__traverse": "*"
1465 | }
1466 | },
1467 | "node_modules/@types/babel__generator": {
1468 | "version": "7.27.0",
1469 | "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
1470 | "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
1471 | "license": "MIT",
1472 | "dependencies": {
1473 | "@babel/types": "^7.0.0"
1474 | }
1475 | },
1476 | "node_modules/@types/babel__template": {
1477 | "version": "7.4.4",
1478 | "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
1479 | "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1480 | "license": "MIT",
1481 | "dependencies": {
1482 | "@babel/parser": "^7.1.0",
1483 | "@babel/types": "^7.0.0"
1484 | }
1485 | },
1486 | "node_modules/@types/babel__traverse": {
1487 | "version": "7.20.7",
1488 | "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
1489 | "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
1490 | "license": "MIT",
1491 | "dependencies": {
1492 | "@babel/types": "^7.20.7"
1493 | }
1494 | },
1495 | "node_modules/@types/estree": {
1496 | "version": "1.0.7",
1497 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
1498 | "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
1499 | "license": "MIT"
1500 | },
1501 | "node_modules/@types/prop-types": {
1502 | "version": "15.7.5",
1503 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
1504 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
1505 | "devOptional": true
1506 | },
1507 | "node_modules/@types/react": {
1508 | "version": "18.2.20",
1509 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz",
1510 | "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==",
1511 | "devOptional": true,
1512 | "dependencies": {
1513 | "@types/prop-types": "*",
1514 | "@types/scheduler": "*",
1515 | "csstype": "^3.0.2"
1516 | }
1517 | },
1518 | "node_modules/@types/react-dom": {
1519 | "version": "18.2.7",
1520 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
1521 | "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
1522 | "devOptional": true,
1523 | "dependencies": {
1524 | "@types/react": "*"
1525 | }
1526 | },
1527 | "node_modules/@types/scheduler": {
1528 | "version": "0.16.3",
1529 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
1530 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
1531 | "devOptional": true
1532 | },
1533 | "node_modules/@use-gesture/core": {
1534 | "version": "10.2.27",
1535 | "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.27.tgz",
1536 | "integrity": "sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA=="
1537 | },
1538 | "node_modules/@use-gesture/react": {
1539 | "version": "10.2.27",
1540 | "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.27.tgz",
1541 | "integrity": "sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==",
1542 | "dependencies": {
1543 | "@use-gesture/core": "10.2.27"
1544 | },
1545 | "peerDependencies": {
1546 | "react": ">= 16.8.0"
1547 | }
1548 | },
1549 | "node_modules/@vitejs/plugin-react": {
1550 | "version": "4.4.1",
1551 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz",
1552 | "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==",
1553 | "license": "MIT",
1554 | "dependencies": {
1555 | "@babel/core": "^7.26.10",
1556 | "@babel/plugin-transform-react-jsx-self": "^7.25.9",
1557 | "@babel/plugin-transform-react-jsx-source": "^7.25.9",
1558 | "@types/babel__core": "^7.20.5",
1559 | "react-refresh": "^0.17.0"
1560 | },
1561 | "engines": {
1562 | "node": "^14.18.0 || >=16.0.0"
1563 | },
1564 | "peerDependencies": {
1565 | "vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
1566 | }
1567 | },
1568 | "node_modules/assign-symbols": {
1569 | "version": "1.0.0",
1570 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
1571 | "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
1572 | "engines": {
1573 | "node": ">=0.10.0"
1574 | }
1575 | },
1576 | "node_modules/attr-accept": {
1577 | "version": "2.2.2",
1578 | "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
1579 | "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==",
1580 | "engines": {
1581 | "node": ">=4"
1582 | }
1583 | },
1584 | "node_modules/browserslist": {
1585 | "version": "4.24.4",
1586 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
1587 | "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
1588 | "funding": [
1589 | {
1590 | "type": "opencollective",
1591 | "url": "https://opencollective.com/browserslist"
1592 | },
1593 | {
1594 | "type": "tidelift",
1595 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1596 | },
1597 | {
1598 | "type": "github",
1599 | "url": "https://github.com/sponsors/ai"
1600 | }
1601 | ],
1602 | "license": "MIT",
1603 | "dependencies": {
1604 | "caniuse-lite": "^1.0.30001688",
1605 | "electron-to-chromium": "^1.5.73",
1606 | "node-releases": "^2.0.19",
1607 | "update-browserslist-db": "^1.1.1"
1608 | },
1609 | "bin": {
1610 | "browserslist": "cli.js"
1611 | },
1612 | "engines": {
1613 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1614 | }
1615 | },
1616 | "node_modules/caniuse-lite": {
1617 | "version": "1.0.30001715",
1618 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz",
1619 | "integrity": "sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==",
1620 | "funding": [
1621 | {
1622 | "type": "opencollective",
1623 | "url": "https://opencollective.com/browserslist"
1624 | },
1625 | {
1626 | "type": "tidelift",
1627 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1628 | },
1629 | {
1630 | "type": "github",
1631 | "url": "https://github.com/sponsors/ai"
1632 | }
1633 | ],
1634 | "license": "CC-BY-4.0"
1635 | },
1636 | "node_modules/colord": {
1637 | "version": "2.9.3",
1638 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
1639 | "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
1640 | },
1641 | "node_modules/convert-source-map": {
1642 | "version": "2.0.0",
1643 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
1644 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1645 | "license": "MIT"
1646 | },
1647 | "node_modules/csstype": {
1648 | "version": "3.1.2",
1649 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
1650 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
1651 | "devOptional": true
1652 | },
1653 | "node_modules/debug": {
1654 | "version": "4.4.0",
1655 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
1656 | "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
1657 | "license": "MIT",
1658 | "dependencies": {
1659 | "ms": "^2.1.3"
1660 | },
1661 | "engines": {
1662 | "node": ">=6.0"
1663 | },
1664 | "peerDependenciesMeta": {
1665 | "supports-color": {
1666 | "optional": true
1667 | }
1668 | }
1669 | },
1670 | "node_modules/dequal": {
1671 | "version": "2.0.3",
1672 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
1673 | "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
1674 | "engines": {
1675 | "node": ">=6"
1676 | }
1677 | },
1678 | "node_modules/electron-to-chromium": {
1679 | "version": "1.5.142",
1680 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.142.tgz",
1681 | "integrity": "sha512-Ah2HgkTu/9RhTDNThBtzu2Wirdy4DC9b0sMT1pUhbkZQ5U/iwmE+PHZX1MpjD5IkJCc2wSghgGG/B04szAx07w==",
1682 | "license": "ISC"
1683 | },
1684 | "node_modules/esbuild": {
1685 | "version": "0.25.3",
1686 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz",
1687 | "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==",
1688 | "hasInstallScript": true,
1689 | "license": "MIT",
1690 | "bin": {
1691 | "esbuild": "bin/esbuild"
1692 | },
1693 | "engines": {
1694 | "node": ">=18"
1695 | },
1696 | "optionalDependencies": {
1697 | "@esbuild/aix-ppc64": "0.25.3",
1698 | "@esbuild/android-arm": "0.25.3",
1699 | "@esbuild/android-arm64": "0.25.3",
1700 | "@esbuild/android-x64": "0.25.3",
1701 | "@esbuild/darwin-arm64": "0.25.3",
1702 | "@esbuild/darwin-x64": "0.25.3",
1703 | "@esbuild/freebsd-arm64": "0.25.3",
1704 | "@esbuild/freebsd-x64": "0.25.3",
1705 | "@esbuild/linux-arm": "0.25.3",
1706 | "@esbuild/linux-arm64": "0.25.3",
1707 | "@esbuild/linux-ia32": "0.25.3",
1708 | "@esbuild/linux-loong64": "0.25.3",
1709 | "@esbuild/linux-mips64el": "0.25.3",
1710 | "@esbuild/linux-ppc64": "0.25.3",
1711 | "@esbuild/linux-riscv64": "0.25.3",
1712 | "@esbuild/linux-s390x": "0.25.3",
1713 | "@esbuild/linux-x64": "0.25.3",
1714 | "@esbuild/netbsd-arm64": "0.25.3",
1715 | "@esbuild/netbsd-x64": "0.25.3",
1716 | "@esbuild/openbsd-arm64": "0.25.3",
1717 | "@esbuild/openbsd-x64": "0.25.3",
1718 | "@esbuild/sunos-x64": "0.25.3",
1719 | "@esbuild/win32-arm64": "0.25.3",
1720 | "@esbuild/win32-ia32": "0.25.3",
1721 | "@esbuild/win32-x64": "0.25.3"
1722 | }
1723 | },
1724 | "node_modules/escalade": {
1725 | "version": "3.2.0",
1726 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1727 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1728 | "license": "MIT",
1729 | "engines": {
1730 | "node": ">=6"
1731 | }
1732 | },
1733 | "node_modules/extend-shallow": {
1734 | "version": "2.0.1",
1735 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1736 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
1737 | "dependencies": {
1738 | "is-extendable": "^0.1.0"
1739 | },
1740 | "engines": {
1741 | "node": ">=0.10.0"
1742 | }
1743 | },
1744 | "node_modules/extend-shallow/node_modules/is-extendable": {
1745 | "version": "0.1.1",
1746 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1747 | "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
1748 | "engines": {
1749 | "node": ">=0.10.0"
1750 | }
1751 | },
1752 | "node_modules/fdir": {
1753 | "version": "6.4.4",
1754 | "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
1755 | "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
1756 | "license": "MIT",
1757 | "peerDependencies": {
1758 | "picomatch": "^3 || ^4"
1759 | },
1760 | "peerDependenciesMeta": {
1761 | "picomatch": {
1762 | "optional": true
1763 | }
1764 | }
1765 | },
1766 | "node_modules/file-selector": {
1767 | "version": "0.5.0",
1768 | "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.5.0.tgz",
1769 | "integrity": "sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==",
1770 | "dependencies": {
1771 | "tslib": "^2.0.3"
1772 | },
1773 | "engines": {
1774 | "node": ">= 10"
1775 | }
1776 | },
1777 | "node_modules/for-in": {
1778 | "version": "1.0.2",
1779 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1780 | "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
1781 | "engines": {
1782 | "node": ">=0.10.0"
1783 | }
1784 | },
1785 | "node_modules/fsevents": {
1786 | "version": "2.3.3",
1787 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1788 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1789 | "hasInstallScript": true,
1790 | "license": "MIT",
1791 | "optional": true,
1792 | "os": [
1793 | "darwin"
1794 | ],
1795 | "engines": {
1796 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1797 | }
1798 | },
1799 | "node_modules/gensync": {
1800 | "version": "1.0.0-beta.2",
1801 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1802 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1803 | "license": "MIT",
1804 | "engines": {
1805 | "node": ">=6.9.0"
1806 | }
1807 | },
1808 | "node_modules/get-value": {
1809 | "version": "2.0.6",
1810 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1811 | "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
1812 | "engines": {
1813 | "node": ">=0.10.0"
1814 | }
1815 | },
1816 | "node_modules/globals": {
1817 | "version": "11.12.0",
1818 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1819 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1820 | "license": "MIT",
1821 | "engines": {
1822 | "node": ">=4"
1823 | }
1824 | },
1825 | "node_modules/is-extendable": {
1826 | "version": "1.0.1",
1827 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1828 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1829 | "dependencies": {
1830 | "is-plain-object": "^2.0.4"
1831 | },
1832 | "engines": {
1833 | "node": ">=0.10.0"
1834 | }
1835 | },
1836 | "node_modules/is-plain-object": {
1837 | "version": "2.0.4",
1838 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1839 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1840 | "dependencies": {
1841 | "isobject": "^3.0.1"
1842 | },
1843 | "engines": {
1844 | "node": ">=0.10.0"
1845 | }
1846 | },
1847 | "node_modules/isobject": {
1848 | "version": "3.0.1",
1849 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1850 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
1851 | "engines": {
1852 | "node": ">=0.10.0"
1853 | }
1854 | },
1855 | "node_modules/js-tokens": {
1856 | "version": "4.0.0",
1857 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1858 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1859 | },
1860 | "node_modules/jsesc": {
1861 | "version": "3.1.0",
1862 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
1863 | "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
1864 | "license": "MIT",
1865 | "bin": {
1866 | "jsesc": "bin/jsesc"
1867 | },
1868 | "engines": {
1869 | "node": ">=6"
1870 | }
1871 | },
1872 | "node_modules/json5": {
1873 | "version": "2.2.3",
1874 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1875 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1876 | "license": "MIT",
1877 | "bin": {
1878 | "json5": "lib/cli.js"
1879 | },
1880 | "engines": {
1881 | "node": ">=6"
1882 | }
1883 | },
1884 | "node_modules/leva": {
1885 | "version": "0.9.35",
1886 | "resolved": "https://registry.npmjs.org/leva/-/leva-0.9.35.tgz",
1887 | "integrity": "sha512-sp/ZbHGrrzM+eq+wIAc9X7C5qFagNERYkwaulKI/xy0XrDPV67jLUSSqTCFSoSc0Uk96j3oephYoO/6I8mZNuw==",
1888 | "dependencies": {
1889 | "@radix-ui/react-portal": "^1.0.2",
1890 | "@radix-ui/react-tooltip": "^1.0.5",
1891 | "@stitches/react": "^1.2.8",
1892 | "@use-gesture/react": "^10.2.5",
1893 | "colord": "^2.9.2",
1894 | "dequal": "^2.0.2",
1895 | "merge-value": "^1.0.0",
1896 | "react-colorful": "^5.5.1",
1897 | "react-dropzone": "^12.0.0",
1898 | "v8n": "^1.3.3",
1899 | "zustand": "^3.6.9"
1900 | },
1901 | "peerDependencies": {
1902 | "react": ">=16.8.0",
1903 | "react-dom": ">=16.8.0"
1904 | }
1905 | },
1906 | "node_modules/loose-envify": {
1907 | "version": "1.4.0",
1908 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1909 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1910 | "dependencies": {
1911 | "js-tokens": "^3.0.0 || ^4.0.0"
1912 | },
1913 | "bin": {
1914 | "loose-envify": "cli.js"
1915 | }
1916 | },
1917 | "node_modules/lru-cache": {
1918 | "version": "5.1.1",
1919 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1920 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1921 | "license": "ISC",
1922 | "dependencies": {
1923 | "yallist": "^3.0.2"
1924 | }
1925 | },
1926 | "node_modules/merge-value": {
1927 | "version": "1.0.0",
1928 | "resolved": "https://registry.npmjs.org/merge-value/-/merge-value-1.0.0.tgz",
1929 | "integrity": "sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==",
1930 | "dependencies": {
1931 | "get-value": "^2.0.6",
1932 | "is-extendable": "^1.0.0",
1933 | "mixin-deep": "^1.2.0",
1934 | "set-value": "^2.0.0"
1935 | },
1936 | "engines": {
1937 | "node": ">=0.10.0"
1938 | }
1939 | },
1940 | "node_modules/mixin-deep": {
1941 | "version": "1.3.2",
1942 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1943 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1944 | "dependencies": {
1945 | "for-in": "^1.0.2",
1946 | "is-extendable": "^1.0.1"
1947 | },
1948 | "engines": {
1949 | "node": ">=0.10.0"
1950 | }
1951 | },
1952 | "node_modules/ms": {
1953 | "version": "2.1.3",
1954 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1955 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1956 | "license": "MIT"
1957 | },
1958 | "node_modules/nanoid": {
1959 | "version": "3.3.11",
1960 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1961 | "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1962 | "funding": [
1963 | {
1964 | "type": "github",
1965 | "url": "https://github.com/sponsors/ai"
1966 | }
1967 | ],
1968 | "license": "MIT",
1969 | "bin": {
1970 | "nanoid": "bin/nanoid.cjs"
1971 | },
1972 | "engines": {
1973 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1974 | }
1975 | },
1976 | "node_modules/node-releases": {
1977 | "version": "2.0.19",
1978 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
1979 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
1980 | "license": "MIT"
1981 | },
1982 | "node_modules/object-assign": {
1983 | "version": "4.1.1",
1984 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1985 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
1986 | "engines": {
1987 | "node": ">=0.10.0"
1988 | }
1989 | },
1990 | "node_modules/picocolors": {
1991 | "version": "1.1.1",
1992 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1993 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1994 | "license": "ISC"
1995 | },
1996 | "node_modules/picomatch": {
1997 | "version": "4.0.2",
1998 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
1999 | "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
2000 | "license": "MIT",
2001 | "engines": {
2002 | "node": ">=12"
2003 | },
2004 | "funding": {
2005 | "url": "https://github.com/sponsors/jonschlinkert"
2006 | }
2007 | },
2008 | "node_modules/postcss": {
2009 | "version": "8.5.3",
2010 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
2011 | "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
2012 | "funding": [
2013 | {
2014 | "type": "opencollective",
2015 | "url": "https://opencollective.com/postcss/"
2016 | },
2017 | {
2018 | "type": "tidelift",
2019 | "url": "https://tidelift.com/funding/github/npm/postcss"
2020 | },
2021 | {
2022 | "type": "github",
2023 | "url": "https://github.com/sponsors/ai"
2024 | }
2025 | ],
2026 | "license": "MIT",
2027 | "dependencies": {
2028 | "nanoid": "^3.3.8",
2029 | "picocolors": "^1.1.1",
2030 | "source-map-js": "^1.2.1"
2031 | },
2032 | "engines": {
2033 | "node": "^10 || ^12 || >=14"
2034 | }
2035 | },
2036 | "node_modules/prop-types": {
2037 | "version": "15.8.1",
2038 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
2039 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
2040 | "dependencies": {
2041 | "loose-envify": "^1.4.0",
2042 | "object-assign": "^4.1.1",
2043 | "react-is": "^16.13.1"
2044 | }
2045 | },
2046 | "node_modules/react": {
2047 | "version": "18.2.0",
2048 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
2049 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
2050 | "dependencies": {
2051 | "loose-envify": "^1.1.0"
2052 | },
2053 | "engines": {
2054 | "node": ">=0.10.0"
2055 | }
2056 | },
2057 | "node_modules/react-colorful": {
2058 | "version": "5.6.1",
2059 | "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
2060 | "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
2061 | "peerDependencies": {
2062 | "react": ">=16.8.0",
2063 | "react-dom": ">=16.8.0"
2064 | }
2065 | },
2066 | "node_modules/react-dom": {
2067 | "version": "18.2.0",
2068 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
2069 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
2070 | "dependencies": {
2071 | "loose-envify": "^1.1.0",
2072 | "scheduler": "^0.23.0"
2073 | },
2074 | "peerDependencies": {
2075 | "react": "^18.2.0"
2076 | }
2077 | },
2078 | "node_modules/react-dropzone": {
2079 | "version": "12.1.0",
2080 | "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-12.1.0.tgz",
2081 | "integrity": "sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==",
2082 | "dependencies": {
2083 | "attr-accept": "^2.2.2",
2084 | "file-selector": "^0.5.0",
2085 | "prop-types": "^15.8.1"
2086 | },
2087 | "engines": {
2088 | "node": ">= 10.13"
2089 | },
2090 | "peerDependencies": {
2091 | "react": ">= 16.8"
2092 | }
2093 | },
2094 | "node_modules/react-is": {
2095 | "version": "16.13.1",
2096 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
2097 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
2098 | },
2099 | "node_modules/react-refresh": {
2100 | "version": "0.17.0",
2101 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
2102 | "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
2103 | "license": "MIT",
2104 | "engines": {
2105 | "node": ">=0.10.0"
2106 | }
2107 | },
2108 | "node_modules/regenerator-runtime": {
2109 | "version": "0.14.0",
2110 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
2111 | "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
2112 | },
2113 | "node_modules/rollup": {
2114 | "version": "4.40.0",
2115 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz",
2116 | "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==",
2117 | "license": "MIT",
2118 | "dependencies": {
2119 | "@types/estree": "1.0.7"
2120 | },
2121 | "bin": {
2122 | "rollup": "dist/bin/rollup"
2123 | },
2124 | "engines": {
2125 | "node": ">=18.0.0",
2126 | "npm": ">=8.0.0"
2127 | },
2128 | "optionalDependencies": {
2129 | "@rollup/rollup-android-arm-eabi": "4.40.0",
2130 | "@rollup/rollup-android-arm64": "4.40.0",
2131 | "@rollup/rollup-darwin-arm64": "4.40.0",
2132 | "@rollup/rollup-darwin-x64": "4.40.0",
2133 | "@rollup/rollup-freebsd-arm64": "4.40.0",
2134 | "@rollup/rollup-freebsd-x64": "4.40.0",
2135 | "@rollup/rollup-linux-arm-gnueabihf": "4.40.0",
2136 | "@rollup/rollup-linux-arm-musleabihf": "4.40.0",
2137 | "@rollup/rollup-linux-arm64-gnu": "4.40.0",
2138 | "@rollup/rollup-linux-arm64-musl": "4.40.0",
2139 | "@rollup/rollup-linux-loongarch64-gnu": "4.40.0",
2140 | "@rollup/rollup-linux-powerpc64le-gnu": "4.40.0",
2141 | "@rollup/rollup-linux-riscv64-gnu": "4.40.0",
2142 | "@rollup/rollup-linux-riscv64-musl": "4.40.0",
2143 | "@rollup/rollup-linux-s390x-gnu": "4.40.0",
2144 | "@rollup/rollup-linux-x64-gnu": "4.40.0",
2145 | "@rollup/rollup-linux-x64-musl": "4.40.0",
2146 | "@rollup/rollup-win32-arm64-msvc": "4.40.0",
2147 | "@rollup/rollup-win32-ia32-msvc": "4.40.0",
2148 | "@rollup/rollup-win32-x64-msvc": "4.40.0",
2149 | "fsevents": "~2.3.2"
2150 | }
2151 | },
2152 | "node_modules/scheduler": {
2153 | "version": "0.23.0",
2154 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
2155 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
2156 | "dependencies": {
2157 | "loose-envify": "^1.1.0"
2158 | }
2159 | },
2160 | "node_modules/semver": {
2161 | "version": "6.3.1",
2162 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
2163 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2164 | "license": "ISC",
2165 | "bin": {
2166 | "semver": "bin/semver.js"
2167 | }
2168 | },
2169 | "node_modules/set-value": {
2170 | "version": "2.0.1",
2171 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
2172 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
2173 | "dependencies": {
2174 | "extend-shallow": "^2.0.1",
2175 | "is-extendable": "^0.1.1",
2176 | "is-plain-object": "^2.0.3",
2177 | "split-string": "^3.0.1"
2178 | },
2179 | "engines": {
2180 | "node": ">=0.10.0"
2181 | }
2182 | },
2183 | "node_modules/set-value/node_modules/is-extendable": {
2184 | "version": "0.1.1",
2185 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2186 | "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
2187 | "engines": {
2188 | "node": ">=0.10.0"
2189 | }
2190 | },
2191 | "node_modules/source-map-js": {
2192 | "version": "1.2.1",
2193 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2194 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2195 | "license": "BSD-3-Clause",
2196 | "engines": {
2197 | "node": ">=0.10.0"
2198 | }
2199 | },
2200 | "node_modules/split-string": {
2201 | "version": "3.1.0",
2202 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
2203 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
2204 | "dependencies": {
2205 | "extend-shallow": "^3.0.0"
2206 | },
2207 | "engines": {
2208 | "node": ">=0.10.0"
2209 | }
2210 | },
2211 | "node_modules/split-string/node_modules/extend-shallow": {
2212 | "version": "3.0.2",
2213 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
2214 | "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
2215 | "dependencies": {
2216 | "assign-symbols": "^1.0.0",
2217 | "is-extendable": "^1.0.1"
2218 | },
2219 | "engines": {
2220 | "node": ">=0.10.0"
2221 | }
2222 | },
2223 | "node_modules/three": {
2224 | "version": "0.176.0",
2225 | "resolved": "https://registry.npmjs.org/three/-/three-0.176.0.tgz",
2226 | "integrity": "sha512-PWRKYWQo23ojf9oZSlRGH8K09q7nRSWx6LY/HF/UUrMdYgN9i1e2OwJYHoQjwc6HF/4lvvYLC5YC1X8UJL2ZpA==",
2227 | "license": "MIT"
2228 | },
2229 | "node_modules/tinyglobby": {
2230 | "version": "0.2.13",
2231 | "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
2232 | "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
2233 | "license": "MIT",
2234 | "dependencies": {
2235 | "fdir": "^6.4.4",
2236 | "picomatch": "^4.0.2"
2237 | },
2238 | "engines": {
2239 | "node": ">=12.0.0"
2240 | },
2241 | "funding": {
2242 | "url": "https://github.com/sponsors/SuperchupuDev"
2243 | }
2244 | },
2245 | "node_modules/tslib": {
2246 | "version": "2.6.2",
2247 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
2248 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
2249 | },
2250 | "node_modules/update-browserslist-db": {
2251 | "version": "1.1.3",
2252 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
2253 | "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
2254 | "funding": [
2255 | {
2256 | "type": "opencollective",
2257 | "url": "https://opencollective.com/browserslist"
2258 | },
2259 | {
2260 | "type": "tidelift",
2261 | "url": "https://tidelift.com/funding/github/npm/browserslist"
2262 | },
2263 | {
2264 | "type": "github",
2265 | "url": "https://github.com/sponsors/ai"
2266 | }
2267 | ],
2268 | "license": "MIT",
2269 | "dependencies": {
2270 | "escalade": "^3.2.0",
2271 | "picocolors": "^1.1.1"
2272 | },
2273 | "bin": {
2274 | "update-browserslist-db": "cli.js"
2275 | },
2276 | "peerDependencies": {
2277 | "browserslist": ">= 4.21.0"
2278 | }
2279 | },
2280 | "node_modules/v8n": {
2281 | "version": "1.5.1",
2282 | "resolved": "https://registry.npmjs.org/v8n/-/v8n-1.5.1.tgz",
2283 | "integrity": "sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A=="
2284 | },
2285 | "node_modules/vite": {
2286 | "version": "6.3.3",
2287 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.3.tgz",
2288 | "integrity": "sha512-5nXH+QsELbFKhsEfWLkHrvgRpTdGJzqOZ+utSdmPTvwHmvU6ITTm3xx+mRusihkcI8GeC7lCDyn3kDtiki9scw==",
2289 | "license": "MIT",
2290 | "dependencies": {
2291 | "esbuild": "^0.25.0",
2292 | "fdir": "^6.4.4",
2293 | "picomatch": "^4.0.2",
2294 | "postcss": "^8.5.3",
2295 | "rollup": "^4.34.9",
2296 | "tinyglobby": "^0.2.13"
2297 | },
2298 | "bin": {
2299 | "vite": "bin/vite.js"
2300 | },
2301 | "engines": {
2302 | "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
2303 | },
2304 | "funding": {
2305 | "url": "https://github.com/vitejs/vite?sponsor=1"
2306 | },
2307 | "optionalDependencies": {
2308 | "fsevents": "~2.3.3"
2309 | },
2310 | "peerDependencies": {
2311 | "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
2312 | "jiti": ">=1.21.0",
2313 | "less": "*",
2314 | "lightningcss": "^1.21.0",
2315 | "sass": "*",
2316 | "sass-embedded": "*",
2317 | "stylus": "*",
2318 | "sugarss": "*",
2319 | "terser": "^5.16.0",
2320 | "tsx": "^4.8.1",
2321 | "yaml": "^2.4.2"
2322 | },
2323 | "peerDependenciesMeta": {
2324 | "@types/node": {
2325 | "optional": true
2326 | },
2327 | "jiti": {
2328 | "optional": true
2329 | },
2330 | "less": {
2331 | "optional": true
2332 | },
2333 | "lightningcss": {
2334 | "optional": true
2335 | },
2336 | "sass": {
2337 | "optional": true
2338 | },
2339 | "sass-embedded": {
2340 | "optional": true
2341 | },
2342 | "stylus": {
2343 | "optional": true
2344 | },
2345 | "sugarss": {
2346 | "optional": true
2347 | },
2348 | "terser": {
2349 | "optional": true
2350 | },
2351 | "tsx": {
2352 | "optional": true
2353 | },
2354 | "yaml": {
2355 | "optional": true
2356 | }
2357 | }
2358 | },
2359 | "node_modules/yallist": {
2360 | "version": "3.1.1",
2361 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2362 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2363 | "license": "ISC"
2364 | },
2365 | "node_modules/zustand": {
2366 | "version": "3.7.2",
2367 | "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
2368 | "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
2369 | "engines": {
2370 | "node": ">=12.7.0"
2371 | },
2372 | "peerDependencies": {
2373 | "react": ">=16.8"
2374 | },
2375 | "peerDependenciesMeta": {
2376 | "react": {
2377 | "optional": true
2378 | }
2379 | }
2380 | }
2381 | },
2382 | "dependencies": {
2383 | "@ampproject/remapping": {
2384 | "version": "2.3.0",
2385 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
2386 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
2387 | "requires": {
2388 | "@jridgewell/gen-mapping": "^0.3.5",
2389 | "@jridgewell/trace-mapping": "^0.3.24"
2390 | }
2391 | },
2392 | "@babel/code-frame": {
2393 | "version": "7.26.2",
2394 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
2395 | "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
2396 | "requires": {
2397 | "@babel/helper-validator-identifier": "^7.25.9",
2398 | "js-tokens": "^4.0.0",
2399 | "picocolors": "^1.0.0"
2400 | }
2401 | },
2402 | "@babel/compat-data": {
2403 | "version": "7.26.8",
2404 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
2405 | "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="
2406 | },
2407 | "@babel/core": {
2408 | "version": "7.26.10",
2409 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
2410 | "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
2411 | "requires": {
2412 | "@ampproject/remapping": "^2.2.0",
2413 | "@babel/code-frame": "^7.26.2",
2414 | "@babel/generator": "^7.26.10",
2415 | "@babel/helper-compilation-targets": "^7.26.5",
2416 | "@babel/helper-module-transforms": "^7.26.0",
2417 | "@babel/helpers": "^7.26.10",
2418 | "@babel/parser": "^7.26.10",
2419 | "@babel/template": "^7.26.9",
2420 | "@babel/traverse": "^7.26.10",
2421 | "@babel/types": "^7.26.10",
2422 | "convert-source-map": "^2.0.0",
2423 | "debug": "^4.1.0",
2424 | "gensync": "^1.0.0-beta.2",
2425 | "json5": "^2.2.3",
2426 | "semver": "^6.3.1"
2427 | }
2428 | },
2429 | "@babel/generator": {
2430 | "version": "7.27.0",
2431 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz",
2432 | "integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==",
2433 | "requires": {
2434 | "@babel/parser": "^7.27.0",
2435 | "@babel/types": "^7.27.0",
2436 | "@jridgewell/gen-mapping": "^0.3.5",
2437 | "@jridgewell/trace-mapping": "^0.3.25",
2438 | "jsesc": "^3.0.2"
2439 | }
2440 | },
2441 | "@babel/helper-compilation-targets": {
2442 | "version": "7.27.0",
2443 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz",
2444 | "integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==",
2445 | "requires": {
2446 | "@babel/compat-data": "^7.26.8",
2447 | "@babel/helper-validator-option": "^7.25.9",
2448 | "browserslist": "^4.24.0",
2449 | "lru-cache": "^5.1.1",
2450 | "semver": "^6.3.1"
2451 | }
2452 | },
2453 | "@babel/helper-module-imports": {
2454 | "version": "7.25.9",
2455 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
2456 | "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
2457 | "requires": {
2458 | "@babel/traverse": "^7.25.9",
2459 | "@babel/types": "^7.25.9"
2460 | }
2461 | },
2462 | "@babel/helper-module-transforms": {
2463 | "version": "7.26.0",
2464 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
2465 | "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
2466 | "requires": {
2467 | "@babel/helper-module-imports": "^7.25.9",
2468 | "@babel/helper-validator-identifier": "^7.25.9",
2469 | "@babel/traverse": "^7.25.9"
2470 | }
2471 | },
2472 | "@babel/helper-plugin-utils": {
2473 | "version": "7.26.5",
2474 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
2475 | "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg=="
2476 | },
2477 | "@babel/helper-string-parser": {
2478 | "version": "7.25.9",
2479 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
2480 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="
2481 | },
2482 | "@babel/helper-validator-identifier": {
2483 | "version": "7.25.9",
2484 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
2485 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="
2486 | },
2487 | "@babel/helper-validator-option": {
2488 | "version": "7.25.9",
2489 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
2490 | "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw=="
2491 | },
2492 | "@babel/helpers": {
2493 | "version": "7.27.0",
2494 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz",
2495 | "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==",
2496 | "requires": {
2497 | "@babel/template": "^7.27.0",
2498 | "@babel/types": "^7.27.0"
2499 | }
2500 | },
2501 | "@babel/parser": {
2502 | "version": "7.27.0",
2503 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
2504 | "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
2505 | "requires": {
2506 | "@babel/types": "^7.27.0"
2507 | }
2508 | },
2509 | "@babel/plugin-transform-react-jsx-self": {
2510 | "version": "7.25.9",
2511 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz",
2512 | "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==",
2513 | "requires": {
2514 | "@babel/helper-plugin-utils": "^7.25.9"
2515 | }
2516 | },
2517 | "@babel/plugin-transform-react-jsx-source": {
2518 | "version": "7.25.9",
2519 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz",
2520 | "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==",
2521 | "requires": {
2522 | "@babel/helper-plugin-utils": "^7.25.9"
2523 | }
2524 | },
2525 | "@babel/runtime": {
2526 | "version": "7.27.0",
2527 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
2528 | "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
2529 | "requires": {
2530 | "regenerator-runtime": "^0.14.0"
2531 | }
2532 | },
2533 | "@babel/template": {
2534 | "version": "7.27.0",
2535 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz",
2536 | "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==",
2537 | "requires": {
2538 | "@babel/code-frame": "^7.26.2",
2539 | "@babel/parser": "^7.27.0",
2540 | "@babel/types": "^7.27.0"
2541 | }
2542 | },
2543 | "@babel/traverse": {
2544 | "version": "7.27.0",
2545 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz",
2546 | "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==",
2547 | "requires": {
2548 | "@babel/code-frame": "^7.26.2",
2549 | "@babel/generator": "^7.27.0",
2550 | "@babel/parser": "^7.27.0",
2551 | "@babel/template": "^7.27.0",
2552 | "@babel/types": "^7.27.0",
2553 | "debug": "^4.3.1",
2554 | "globals": "^11.1.0"
2555 | }
2556 | },
2557 | "@babel/types": {
2558 | "version": "7.27.0",
2559 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
2560 | "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
2561 | "requires": {
2562 | "@babel/helper-string-parser": "^7.25.9",
2563 | "@babel/helper-validator-identifier": "^7.25.9"
2564 | }
2565 | },
2566 | "@esbuild/aix-ppc64": {
2567 | "version": "0.25.3",
2568 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz",
2569 | "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==",
2570 | "optional": true
2571 | },
2572 | "@esbuild/android-arm": {
2573 | "version": "0.25.3",
2574 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz",
2575 | "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==",
2576 | "optional": true
2577 | },
2578 | "@esbuild/android-arm64": {
2579 | "version": "0.25.3",
2580 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz",
2581 | "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==",
2582 | "optional": true
2583 | },
2584 | "@esbuild/android-x64": {
2585 | "version": "0.25.3",
2586 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz",
2587 | "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==",
2588 | "optional": true
2589 | },
2590 | "@esbuild/darwin-arm64": {
2591 | "version": "0.25.3",
2592 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz",
2593 | "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==",
2594 | "optional": true
2595 | },
2596 | "@esbuild/darwin-x64": {
2597 | "version": "0.25.3",
2598 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz",
2599 | "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==",
2600 | "optional": true
2601 | },
2602 | "@esbuild/freebsd-arm64": {
2603 | "version": "0.25.3",
2604 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz",
2605 | "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==",
2606 | "optional": true
2607 | },
2608 | "@esbuild/freebsd-x64": {
2609 | "version": "0.25.3",
2610 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz",
2611 | "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==",
2612 | "optional": true
2613 | },
2614 | "@esbuild/linux-arm": {
2615 | "version": "0.25.3",
2616 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz",
2617 | "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==",
2618 | "optional": true
2619 | },
2620 | "@esbuild/linux-arm64": {
2621 | "version": "0.25.3",
2622 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz",
2623 | "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==",
2624 | "optional": true
2625 | },
2626 | "@esbuild/linux-ia32": {
2627 | "version": "0.25.3",
2628 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz",
2629 | "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==",
2630 | "optional": true
2631 | },
2632 | "@esbuild/linux-loong64": {
2633 | "version": "0.25.3",
2634 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz",
2635 | "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==",
2636 | "optional": true
2637 | },
2638 | "@esbuild/linux-mips64el": {
2639 | "version": "0.25.3",
2640 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz",
2641 | "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==",
2642 | "optional": true
2643 | },
2644 | "@esbuild/linux-ppc64": {
2645 | "version": "0.25.3",
2646 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz",
2647 | "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==",
2648 | "optional": true
2649 | },
2650 | "@esbuild/linux-riscv64": {
2651 | "version": "0.25.3",
2652 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz",
2653 | "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==",
2654 | "optional": true
2655 | },
2656 | "@esbuild/linux-s390x": {
2657 | "version": "0.25.3",
2658 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz",
2659 | "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==",
2660 | "optional": true
2661 | },
2662 | "@esbuild/linux-x64": {
2663 | "version": "0.25.3",
2664 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz",
2665 | "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==",
2666 | "optional": true
2667 | },
2668 | "@esbuild/netbsd-arm64": {
2669 | "version": "0.25.3",
2670 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz",
2671 | "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==",
2672 | "optional": true
2673 | },
2674 | "@esbuild/netbsd-x64": {
2675 | "version": "0.25.3",
2676 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz",
2677 | "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==",
2678 | "optional": true
2679 | },
2680 | "@esbuild/openbsd-arm64": {
2681 | "version": "0.25.3",
2682 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz",
2683 | "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==",
2684 | "optional": true
2685 | },
2686 | "@esbuild/openbsd-x64": {
2687 | "version": "0.25.3",
2688 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz",
2689 | "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==",
2690 | "optional": true
2691 | },
2692 | "@esbuild/sunos-x64": {
2693 | "version": "0.25.3",
2694 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz",
2695 | "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==",
2696 | "optional": true
2697 | },
2698 | "@esbuild/win32-arm64": {
2699 | "version": "0.25.3",
2700 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz",
2701 | "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==",
2702 | "optional": true
2703 | },
2704 | "@esbuild/win32-ia32": {
2705 | "version": "0.25.3",
2706 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz",
2707 | "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==",
2708 | "optional": true
2709 | },
2710 | "@esbuild/win32-x64": {
2711 | "version": "0.25.3",
2712 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz",
2713 | "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==",
2714 | "optional": true
2715 | },
2716 | "@floating-ui/core": {
2717 | "version": "1.4.1",
2718 | "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz",
2719 | "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==",
2720 | "requires": {
2721 | "@floating-ui/utils": "^0.1.1"
2722 | }
2723 | },
2724 | "@floating-ui/dom": {
2725 | "version": "1.5.1",
2726 | "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz",
2727 | "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==",
2728 | "requires": {
2729 | "@floating-ui/core": "^1.4.1",
2730 | "@floating-ui/utils": "^0.1.1"
2731 | }
2732 | },
2733 | "@floating-ui/react-dom": {
2734 | "version": "2.0.1",
2735 | "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.1.tgz",
2736 | "integrity": "sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==",
2737 | "requires": {
2738 | "@floating-ui/dom": "^1.3.0"
2739 | }
2740 | },
2741 | "@floating-ui/utils": {
2742 | "version": "0.1.1",
2743 | "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz",
2744 | "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw=="
2745 | },
2746 | "@jridgewell/gen-mapping": {
2747 | "version": "0.3.8",
2748 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
2749 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
2750 | "requires": {
2751 | "@jridgewell/set-array": "^1.2.1",
2752 | "@jridgewell/sourcemap-codec": "^1.4.10",
2753 | "@jridgewell/trace-mapping": "^0.3.24"
2754 | }
2755 | },
2756 | "@jridgewell/resolve-uri": {
2757 | "version": "3.1.2",
2758 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
2759 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
2760 | },
2761 | "@jridgewell/set-array": {
2762 | "version": "1.2.1",
2763 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
2764 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="
2765 | },
2766 | "@jridgewell/sourcemap-codec": {
2767 | "version": "1.5.0",
2768 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
2769 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
2770 | },
2771 | "@jridgewell/trace-mapping": {
2772 | "version": "0.3.25",
2773 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
2774 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
2775 | "requires": {
2776 | "@jridgewell/resolve-uri": "^3.1.0",
2777 | "@jridgewell/sourcemap-codec": "^1.4.14"
2778 | }
2779 | },
2780 | "@radix-ui/primitive": {
2781 | "version": "1.0.1",
2782 | "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz",
2783 | "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==",
2784 | "requires": {
2785 | "@babel/runtime": "^7.13.10"
2786 | }
2787 | },
2788 | "@radix-ui/react-arrow": {
2789 | "version": "1.0.3",
2790 | "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz",
2791 | "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==",
2792 | "requires": {
2793 | "@babel/runtime": "^7.13.10",
2794 | "@radix-ui/react-primitive": "1.0.3"
2795 | }
2796 | },
2797 | "@radix-ui/react-compose-refs": {
2798 | "version": "1.0.1",
2799 | "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz",
2800 | "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==",
2801 | "requires": {
2802 | "@babel/runtime": "^7.13.10"
2803 | }
2804 | },
2805 | "@radix-ui/react-context": {
2806 | "version": "1.0.1",
2807 | "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz",
2808 | "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==",
2809 | "requires": {
2810 | "@babel/runtime": "^7.13.10"
2811 | }
2812 | },
2813 | "@radix-ui/react-dismissable-layer": {
2814 | "version": "1.0.4",
2815 | "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz",
2816 | "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==",
2817 | "requires": {
2818 | "@babel/runtime": "^7.13.10",
2819 | "@radix-ui/primitive": "1.0.1",
2820 | "@radix-ui/react-compose-refs": "1.0.1",
2821 | "@radix-ui/react-primitive": "1.0.3",
2822 | "@radix-ui/react-use-callback-ref": "1.0.1",
2823 | "@radix-ui/react-use-escape-keydown": "1.0.3"
2824 | }
2825 | },
2826 | "@radix-ui/react-id": {
2827 | "version": "1.0.1",
2828 | "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz",
2829 | "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==",
2830 | "requires": {
2831 | "@babel/runtime": "^7.13.10",
2832 | "@radix-ui/react-use-layout-effect": "1.0.1"
2833 | }
2834 | },
2835 | "@radix-ui/react-popper": {
2836 | "version": "1.1.2",
2837 | "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz",
2838 | "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==",
2839 | "requires": {
2840 | "@babel/runtime": "^7.13.10",
2841 | "@floating-ui/react-dom": "^2.0.0",
2842 | "@radix-ui/react-arrow": "1.0.3",
2843 | "@radix-ui/react-compose-refs": "1.0.1",
2844 | "@radix-ui/react-context": "1.0.1",
2845 | "@radix-ui/react-primitive": "1.0.3",
2846 | "@radix-ui/react-use-callback-ref": "1.0.1",
2847 | "@radix-ui/react-use-layout-effect": "1.0.1",
2848 | "@radix-ui/react-use-rect": "1.0.1",
2849 | "@radix-ui/react-use-size": "1.0.1",
2850 | "@radix-ui/rect": "1.0.1"
2851 | }
2852 | },
2853 | "@radix-ui/react-portal": {
2854 | "version": "1.0.3",
2855 | "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz",
2856 | "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==",
2857 | "requires": {
2858 | "@babel/runtime": "^7.13.10",
2859 | "@radix-ui/react-primitive": "1.0.3"
2860 | }
2861 | },
2862 | "@radix-ui/react-presence": {
2863 | "version": "1.0.1",
2864 | "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz",
2865 | "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==",
2866 | "requires": {
2867 | "@babel/runtime": "^7.13.10",
2868 | "@radix-ui/react-compose-refs": "1.0.1",
2869 | "@radix-ui/react-use-layout-effect": "1.0.1"
2870 | }
2871 | },
2872 | "@radix-ui/react-primitive": {
2873 | "version": "1.0.3",
2874 | "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz",
2875 | "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==",
2876 | "requires": {
2877 | "@babel/runtime": "^7.13.10",
2878 | "@radix-ui/react-slot": "1.0.2"
2879 | }
2880 | },
2881 | "@radix-ui/react-slot": {
2882 | "version": "1.0.2",
2883 | "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz",
2884 | "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==",
2885 | "requires": {
2886 | "@babel/runtime": "^7.13.10",
2887 | "@radix-ui/react-compose-refs": "1.0.1"
2888 | }
2889 | },
2890 | "@radix-ui/react-tooltip": {
2891 | "version": "1.0.6",
2892 | "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.6.tgz",
2893 | "integrity": "sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==",
2894 | "requires": {
2895 | "@babel/runtime": "^7.13.10",
2896 | "@radix-ui/primitive": "1.0.1",
2897 | "@radix-ui/react-compose-refs": "1.0.1",
2898 | "@radix-ui/react-context": "1.0.1",
2899 | "@radix-ui/react-dismissable-layer": "1.0.4",
2900 | "@radix-ui/react-id": "1.0.1",
2901 | "@radix-ui/react-popper": "1.1.2",
2902 | "@radix-ui/react-portal": "1.0.3",
2903 | "@radix-ui/react-presence": "1.0.1",
2904 | "@radix-ui/react-primitive": "1.0.3",
2905 | "@radix-ui/react-slot": "1.0.2",
2906 | "@radix-ui/react-use-controllable-state": "1.0.1",
2907 | "@radix-ui/react-visually-hidden": "1.0.3"
2908 | }
2909 | },
2910 | "@radix-ui/react-use-callback-ref": {
2911 | "version": "1.0.1",
2912 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz",
2913 | "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==",
2914 | "requires": {
2915 | "@babel/runtime": "^7.13.10"
2916 | }
2917 | },
2918 | "@radix-ui/react-use-controllable-state": {
2919 | "version": "1.0.1",
2920 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz",
2921 | "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==",
2922 | "requires": {
2923 | "@babel/runtime": "^7.13.10",
2924 | "@radix-ui/react-use-callback-ref": "1.0.1"
2925 | }
2926 | },
2927 | "@radix-ui/react-use-escape-keydown": {
2928 | "version": "1.0.3",
2929 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz",
2930 | "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==",
2931 | "requires": {
2932 | "@babel/runtime": "^7.13.10",
2933 | "@radix-ui/react-use-callback-ref": "1.0.1"
2934 | }
2935 | },
2936 | "@radix-ui/react-use-layout-effect": {
2937 | "version": "1.0.1",
2938 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz",
2939 | "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==",
2940 | "requires": {
2941 | "@babel/runtime": "^7.13.10"
2942 | }
2943 | },
2944 | "@radix-ui/react-use-rect": {
2945 | "version": "1.0.1",
2946 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz",
2947 | "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==",
2948 | "requires": {
2949 | "@babel/runtime": "^7.13.10",
2950 | "@radix-ui/rect": "1.0.1"
2951 | }
2952 | },
2953 | "@radix-ui/react-use-size": {
2954 | "version": "1.0.1",
2955 | "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz",
2956 | "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==",
2957 | "requires": {
2958 | "@babel/runtime": "^7.13.10",
2959 | "@radix-ui/react-use-layout-effect": "1.0.1"
2960 | }
2961 | },
2962 | "@radix-ui/react-visually-hidden": {
2963 | "version": "1.0.3",
2964 | "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz",
2965 | "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==",
2966 | "requires": {
2967 | "@babel/runtime": "^7.13.10",
2968 | "@radix-ui/react-primitive": "1.0.3"
2969 | }
2970 | },
2971 | "@radix-ui/rect": {
2972 | "version": "1.0.1",
2973 | "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz",
2974 | "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==",
2975 | "requires": {
2976 | "@babel/runtime": "^7.13.10"
2977 | }
2978 | },
2979 | "@rollup/rollup-android-arm-eabi": {
2980 | "version": "4.40.0",
2981 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz",
2982 | "integrity": "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==",
2983 | "optional": true
2984 | },
2985 | "@rollup/rollup-android-arm64": {
2986 | "version": "4.40.0",
2987 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz",
2988 | "integrity": "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==",
2989 | "optional": true
2990 | },
2991 | "@rollup/rollup-darwin-arm64": {
2992 | "version": "4.40.0",
2993 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz",
2994 | "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==",
2995 | "optional": true
2996 | },
2997 | "@rollup/rollup-darwin-x64": {
2998 | "version": "4.40.0",
2999 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz",
3000 | "integrity": "sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==",
3001 | "optional": true
3002 | },
3003 | "@rollup/rollup-freebsd-arm64": {
3004 | "version": "4.40.0",
3005 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz",
3006 | "integrity": "sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==",
3007 | "optional": true
3008 | },
3009 | "@rollup/rollup-freebsd-x64": {
3010 | "version": "4.40.0",
3011 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz",
3012 | "integrity": "sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==",
3013 | "optional": true
3014 | },
3015 | "@rollup/rollup-linux-arm-gnueabihf": {
3016 | "version": "4.40.0",
3017 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz",
3018 | "integrity": "sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==",
3019 | "optional": true
3020 | },
3021 | "@rollup/rollup-linux-arm-musleabihf": {
3022 | "version": "4.40.0",
3023 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz",
3024 | "integrity": "sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==",
3025 | "optional": true
3026 | },
3027 | "@rollup/rollup-linux-arm64-gnu": {
3028 | "version": "4.40.0",
3029 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz",
3030 | "integrity": "sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==",
3031 | "optional": true
3032 | },
3033 | "@rollup/rollup-linux-arm64-musl": {
3034 | "version": "4.40.0",
3035 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz",
3036 | "integrity": "sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==",
3037 | "optional": true
3038 | },
3039 | "@rollup/rollup-linux-loongarch64-gnu": {
3040 | "version": "4.40.0",
3041 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz",
3042 | "integrity": "sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==",
3043 | "optional": true
3044 | },
3045 | "@rollup/rollup-linux-powerpc64le-gnu": {
3046 | "version": "4.40.0",
3047 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz",
3048 | "integrity": "sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==",
3049 | "optional": true
3050 | },
3051 | "@rollup/rollup-linux-riscv64-gnu": {
3052 | "version": "4.40.0",
3053 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz",
3054 | "integrity": "sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==",
3055 | "optional": true
3056 | },
3057 | "@rollup/rollup-linux-riscv64-musl": {
3058 | "version": "4.40.0",
3059 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz",
3060 | "integrity": "sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==",
3061 | "optional": true
3062 | },
3063 | "@rollup/rollup-linux-s390x-gnu": {
3064 | "version": "4.40.0",
3065 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz",
3066 | "integrity": "sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==",
3067 | "optional": true
3068 | },
3069 | "@rollup/rollup-linux-x64-gnu": {
3070 | "version": "4.40.0",
3071 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz",
3072 | "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==",
3073 | "optional": true
3074 | },
3075 | "@rollup/rollup-linux-x64-musl": {
3076 | "version": "4.40.0",
3077 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz",
3078 | "integrity": "sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==",
3079 | "optional": true
3080 | },
3081 | "@rollup/rollup-win32-arm64-msvc": {
3082 | "version": "4.40.0",
3083 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz",
3084 | "integrity": "sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==",
3085 | "optional": true
3086 | },
3087 | "@rollup/rollup-win32-ia32-msvc": {
3088 | "version": "4.40.0",
3089 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz",
3090 | "integrity": "sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==",
3091 | "optional": true
3092 | },
3093 | "@rollup/rollup-win32-x64-msvc": {
3094 | "version": "4.40.0",
3095 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz",
3096 | "integrity": "sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==",
3097 | "optional": true
3098 | },
3099 | "@stitches/react": {
3100 | "version": "1.2.8",
3101 | "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz",
3102 | "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==",
3103 | "requires": {}
3104 | },
3105 | "@types/babel__core": {
3106 | "version": "7.20.5",
3107 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
3108 | "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
3109 | "requires": {
3110 | "@babel/parser": "^7.20.7",
3111 | "@babel/types": "^7.20.7",
3112 | "@types/babel__generator": "*",
3113 | "@types/babel__template": "*",
3114 | "@types/babel__traverse": "*"
3115 | }
3116 | },
3117 | "@types/babel__generator": {
3118 | "version": "7.27.0",
3119 | "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
3120 | "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
3121 | "requires": {
3122 | "@babel/types": "^7.0.0"
3123 | }
3124 | },
3125 | "@types/babel__template": {
3126 | "version": "7.4.4",
3127 | "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
3128 | "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
3129 | "requires": {
3130 | "@babel/parser": "^7.1.0",
3131 | "@babel/types": "^7.0.0"
3132 | }
3133 | },
3134 | "@types/babel__traverse": {
3135 | "version": "7.20.7",
3136 | "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
3137 | "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
3138 | "requires": {
3139 | "@babel/types": "^7.20.7"
3140 | }
3141 | },
3142 | "@types/estree": {
3143 | "version": "1.0.7",
3144 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
3145 | "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="
3146 | },
3147 | "@types/prop-types": {
3148 | "version": "15.7.5",
3149 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
3150 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
3151 | "devOptional": true
3152 | },
3153 | "@types/react": {
3154 | "version": "18.2.20",
3155 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz",
3156 | "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==",
3157 | "devOptional": true,
3158 | "requires": {
3159 | "@types/prop-types": "*",
3160 | "@types/scheduler": "*",
3161 | "csstype": "^3.0.2"
3162 | }
3163 | },
3164 | "@types/react-dom": {
3165 | "version": "18.2.7",
3166 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
3167 | "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
3168 | "devOptional": true,
3169 | "requires": {
3170 | "@types/react": "*"
3171 | }
3172 | },
3173 | "@types/scheduler": {
3174 | "version": "0.16.3",
3175 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
3176 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
3177 | "devOptional": true
3178 | },
3179 | "@use-gesture/core": {
3180 | "version": "10.2.27",
3181 | "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.27.tgz",
3182 | "integrity": "sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA=="
3183 | },
3184 | "@use-gesture/react": {
3185 | "version": "10.2.27",
3186 | "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.27.tgz",
3187 | "integrity": "sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==",
3188 | "requires": {
3189 | "@use-gesture/core": "10.2.27"
3190 | }
3191 | },
3192 | "@vitejs/plugin-react": {
3193 | "version": "4.4.1",
3194 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz",
3195 | "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==",
3196 | "requires": {
3197 | "@babel/core": "^7.26.10",
3198 | "@babel/plugin-transform-react-jsx-self": "^7.25.9",
3199 | "@babel/plugin-transform-react-jsx-source": "^7.25.9",
3200 | "@types/babel__core": "^7.20.5",
3201 | "react-refresh": "^0.17.0"
3202 | }
3203 | },
3204 | "assign-symbols": {
3205 | "version": "1.0.0",
3206 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
3207 | "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw=="
3208 | },
3209 | "attr-accept": {
3210 | "version": "2.2.2",
3211 | "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
3212 | "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg=="
3213 | },
3214 | "browserslist": {
3215 | "version": "4.24.4",
3216 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
3217 | "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
3218 | "requires": {
3219 | "caniuse-lite": "^1.0.30001688",
3220 | "electron-to-chromium": "^1.5.73",
3221 | "node-releases": "^2.0.19",
3222 | "update-browserslist-db": "^1.1.1"
3223 | }
3224 | },
3225 | "caniuse-lite": {
3226 | "version": "1.0.30001715",
3227 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz",
3228 | "integrity": "sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw=="
3229 | },
3230 | "colord": {
3231 | "version": "2.9.3",
3232 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
3233 | "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
3234 | },
3235 | "convert-source-map": {
3236 | "version": "2.0.0",
3237 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
3238 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
3239 | },
3240 | "csstype": {
3241 | "version": "3.1.2",
3242 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
3243 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
3244 | "devOptional": true
3245 | },
3246 | "debug": {
3247 | "version": "4.4.0",
3248 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
3249 | "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
3250 | "requires": {
3251 | "ms": "^2.1.3"
3252 | }
3253 | },
3254 | "dequal": {
3255 | "version": "2.0.3",
3256 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
3257 | "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
3258 | },
3259 | "electron-to-chromium": {
3260 | "version": "1.5.142",
3261 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.142.tgz",
3262 | "integrity": "sha512-Ah2HgkTu/9RhTDNThBtzu2Wirdy4DC9b0sMT1pUhbkZQ5U/iwmE+PHZX1MpjD5IkJCc2wSghgGG/B04szAx07w=="
3263 | },
3264 | "esbuild": {
3265 | "version": "0.25.3",
3266 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz",
3267 | "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==",
3268 | "requires": {
3269 | "@esbuild/aix-ppc64": "0.25.3",
3270 | "@esbuild/android-arm": "0.25.3",
3271 | "@esbuild/android-arm64": "0.25.3",
3272 | "@esbuild/android-x64": "0.25.3",
3273 | "@esbuild/darwin-arm64": "0.25.3",
3274 | "@esbuild/darwin-x64": "0.25.3",
3275 | "@esbuild/freebsd-arm64": "0.25.3",
3276 | "@esbuild/freebsd-x64": "0.25.3",
3277 | "@esbuild/linux-arm": "0.25.3",
3278 | "@esbuild/linux-arm64": "0.25.3",
3279 | "@esbuild/linux-ia32": "0.25.3",
3280 | "@esbuild/linux-loong64": "0.25.3",
3281 | "@esbuild/linux-mips64el": "0.25.3",
3282 | "@esbuild/linux-ppc64": "0.25.3",
3283 | "@esbuild/linux-riscv64": "0.25.3",
3284 | "@esbuild/linux-s390x": "0.25.3",
3285 | "@esbuild/linux-x64": "0.25.3",
3286 | "@esbuild/netbsd-arm64": "0.25.3",
3287 | "@esbuild/netbsd-x64": "0.25.3",
3288 | "@esbuild/openbsd-arm64": "0.25.3",
3289 | "@esbuild/openbsd-x64": "0.25.3",
3290 | "@esbuild/sunos-x64": "0.25.3",
3291 | "@esbuild/win32-arm64": "0.25.3",
3292 | "@esbuild/win32-ia32": "0.25.3",
3293 | "@esbuild/win32-x64": "0.25.3"
3294 | }
3295 | },
3296 | "escalade": {
3297 | "version": "3.2.0",
3298 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
3299 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="
3300 | },
3301 | "extend-shallow": {
3302 | "version": "2.0.1",
3303 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3304 | "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
3305 | "requires": {
3306 | "is-extendable": "^0.1.0"
3307 | },
3308 | "dependencies": {
3309 | "is-extendable": {
3310 | "version": "0.1.1",
3311 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
3312 | "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
3313 | }
3314 | }
3315 | },
3316 | "fdir": {
3317 | "version": "6.4.4",
3318 | "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
3319 | "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
3320 | "requires": {}
3321 | },
3322 | "file-selector": {
3323 | "version": "0.5.0",
3324 | "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.5.0.tgz",
3325 | "integrity": "sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==",
3326 | "requires": {
3327 | "tslib": "^2.0.3"
3328 | }
3329 | },
3330 | "for-in": {
3331 | "version": "1.0.2",
3332 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
3333 | "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
3334 | },
3335 | "fsevents": {
3336 | "version": "2.3.3",
3337 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
3338 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
3339 | "optional": true
3340 | },
3341 | "gensync": {
3342 | "version": "1.0.0-beta.2",
3343 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
3344 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
3345 | },
3346 | "get-value": {
3347 | "version": "2.0.6",
3348 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
3349 | "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA=="
3350 | },
3351 | "globals": {
3352 | "version": "11.12.0",
3353 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
3354 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
3355 | },
3356 | "is-extendable": {
3357 | "version": "1.0.1",
3358 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
3359 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
3360 | "requires": {
3361 | "is-plain-object": "^2.0.4"
3362 | }
3363 | },
3364 | "is-plain-object": {
3365 | "version": "2.0.4",
3366 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
3367 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3368 | "requires": {
3369 | "isobject": "^3.0.1"
3370 | }
3371 | },
3372 | "isobject": {
3373 | "version": "3.0.1",
3374 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
3375 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
3376 | },
3377 | "js-tokens": {
3378 | "version": "4.0.0",
3379 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3380 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
3381 | },
3382 | "jsesc": {
3383 | "version": "3.1.0",
3384 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
3385 | "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="
3386 | },
3387 | "json5": {
3388 | "version": "2.2.3",
3389 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
3390 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
3391 | },
3392 | "leva": {
3393 | "version": "0.9.35",
3394 | "resolved": "https://registry.npmjs.org/leva/-/leva-0.9.35.tgz",
3395 | "integrity": "sha512-sp/ZbHGrrzM+eq+wIAc9X7C5qFagNERYkwaulKI/xy0XrDPV67jLUSSqTCFSoSc0Uk96j3oephYoO/6I8mZNuw==",
3396 | "requires": {
3397 | "@radix-ui/react-portal": "^1.0.2",
3398 | "@radix-ui/react-tooltip": "^1.0.5",
3399 | "@stitches/react": "^1.2.8",
3400 | "@use-gesture/react": "^10.2.5",
3401 | "colord": "^2.9.2",
3402 | "dequal": "^2.0.2",
3403 | "merge-value": "^1.0.0",
3404 | "react-colorful": "^5.5.1",
3405 | "react-dropzone": "^12.0.0",
3406 | "v8n": "^1.3.3",
3407 | "zustand": "^3.6.9"
3408 | }
3409 | },
3410 | "loose-envify": {
3411 | "version": "1.4.0",
3412 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
3413 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
3414 | "requires": {
3415 | "js-tokens": "^3.0.0 || ^4.0.0"
3416 | }
3417 | },
3418 | "lru-cache": {
3419 | "version": "5.1.1",
3420 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
3421 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
3422 | "requires": {
3423 | "yallist": "^3.0.2"
3424 | }
3425 | },
3426 | "merge-value": {
3427 | "version": "1.0.0",
3428 | "resolved": "https://registry.npmjs.org/merge-value/-/merge-value-1.0.0.tgz",
3429 | "integrity": "sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==",
3430 | "requires": {
3431 | "get-value": "^2.0.6",
3432 | "is-extendable": "^1.0.0",
3433 | "mixin-deep": "^1.2.0",
3434 | "set-value": "^2.0.0"
3435 | }
3436 | },
3437 | "mixin-deep": {
3438 | "version": "1.3.2",
3439 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
3440 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
3441 | "requires": {
3442 | "for-in": "^1.0.2",
3443 | "is-extendable": "^1.0.1"
3444 | }
3445 | },
3446 | "ms": {
3447 | "version": "2.1.3",
3448 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
3449 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
3450 | },
3451 | "nanoid": {
3452 | "version": "3.3.11",
3453 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
3454 | "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="
3455 | },
3456 | "node-releases": {
3457 | "version": "2.0.19",
3458 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
3459 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
3460 | },
3461 | "object-assign": {
3462 | "version": "4.1.1",
3463 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
3464 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
3465 | },
3466 | "picocolors": {
3467 | "version": "1.1.1",
3468 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
3469 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
3470 | },
3471 | "picomatch": {
3472 | "version": "4.0.2",
3473 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
3474 | "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="
3475 | },
3476 | "postcss": {
3477 | "version": "8.5.3",
3478 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
3479 | "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
3480 | "requires": {
3481 | "nanoid": "^3.3.8",
3482 | "picocolors": "^1.1.1",
3483 | "source-map-js": "^1.2.1"
3484 | }
3485 | },
3486 | "prop-types": {
3487 | "version": "15.8.1",
3488 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
3489 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
3490 | "requires": {
3491 | "loose-envify": "^1.4.0",
3492 | "object-assign": "^4.1.1",
3493 | "react-is": "^16.13.1"
3494 | }
3495 | },
3496 | "react": {
3497 | "version": "18.2.0",
3498 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
3499 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
3500 | "requires": {
3501 | "loose-envify": "^1.1.0"
3502 | }
3503 | },
3504 | "react-colorful": {
3505 | "version": "5.6.1",
3506 | "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
3507 | "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==",
3508 | "requires": {}
3509 | },
3510 | "react-dom": {
3511 | "version": "18.2.0",
3512 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
3513 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
3514 | "requires": {
3515 | "loose-envify": "^1.1.0",
3516 | "scheduler": "^0.23.0"
3517 | }
3518 | },
3519 | "react-dropzone": {
3520 | "version": "12.1.0",
3521 | "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-12.1.0.tgz",
3522 | "integrity": "sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==",
3523 | "requires": {
3524 | "attr-accept": "^2.2.2",
3525 | "file-selector": "^0.5.0",
3526 | "prop-types": "^15.8.1"
3527 | }
3528 | },
3529 | "react-is": {
3530 | "version": "16.13.1",
3531 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
3532 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
3533 | },
3534 | "react-refresh": {
3535 | "version": "0.17.0",
3536 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
3537 | "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ=="
3538 | },
3539 | "regenerator-runtime": {
3540 | "version": "0.14.0",
3541 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
3542 | "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
3543 | },
3544 | "rollup": {
3545 | "version": "4.40.0",
3546 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz",
3547 | "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==",
3548 | "requires": {
3549 | "@rollup/rollup-android-arm-eabi": "4.40.0",
3550 | "@rollup/rollup-android-arm64": "4.40.0",
3551 | "@rollup/rollup-darwin-arm64": "4.40.0",
3552 | "@rollup/rollup-darwin-x64": "4.40.0",
3553 | "@rollup/rollup-freebsd-arm64": "4.40.0",
3554 | "@rollup/rollup-freebsd-x64": "4.40.0",
3555 | "@rollup/rollup-linux-arm-gnueabihf": "4.40.0",
3556 | "@rollup/rollup-linux-arm-musleabihf": "4.40.0",
3557 | "@rollup/rollup-linux-arm64-gnu": "4.40.0",
3558 | "@rollup/rollup-linux-arm64-musl": "4.40.0",
3559 | "@rollup/rollup-linux-loongarch64-gnu": "4.40.0",
3560 | "@rollup/rollup-linux-powerpc64le-gnu": "4.40.0",
3561 | "@rollup/rollup-linux-riscv64-gnu": "4.40.0",
3562 | "@rollup/rollup-linux-riscv64-musl": "4.40.0",
3563 | "@rollup/rollup-linux-s390x-gnu": "4.40.0",
3564 | "@rollup/rollup-linux-x64-gnu": "4.40.0",
3565 | "@rollup/rollup-linux-x64-musl": "4.40.0",
3566 | "@rollup/rollup-win32-arm64-msvc": "4.40.0",
3567 | "@rollup/rollup-win32-ia32-msvc": "4.40.0",
3568 | "@rollup/rollup-win32-x64-msvc": "4.40.0",
3569 | "@types/estree": "1.0.7",
3570 | "fsevents": "~2.3.2"
3571 | }
3572 | },
3573 | "scheduler": {
3574 | "version": "0.23.0",
3575 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
3576 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
3577 | "requires": {
3578 | "loose-envify": "^1.1.0"
3579 | }
3580 | },
3581 | "semver": {
3582 | "version": "6.3.1",
3583 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
3584 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
3585 | },
3586 | "set-value": {
3587 | "version": "2.0.1",
3588 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
3589 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
3590 | "requires": {
3591 | "extend-shallow": "^2.0.1",
3592 | "is-extendable": "^0.1.1",
3593 | "is-plain-object": "^2.0.3",
3594 | "split-string": "^3.0.1"
3595 | },
3596 | "dependencies": {
3597 | "is-extendable": {
3598 | "version": "0.1.1",
3599 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
3600 | "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
3601 | }
3602 | }
3603 | },
3604 | "source-map-js": {
3605 | "version": "1.2.1",
3606 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
3607 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
3608 | },
3609 | "split-string": {
3610 | "version": "3.1.0",
3611 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3612 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3613 | "requires": {
3614 | "extend-shallow": "^3.0.0"
3615 | },
3616 | "dependencies": {
3617 | "extend-shallow": {
3618 | "version": "3.0.2",
3619 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
3620 | "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
3621 | "requires": {
3622 | "assign-symbols": "^1.0.0",
3623 | "is-extendable": "^1.0.1"
3624 | }
3625 | }
3626 | }
3627 | },
3628 | "three": {
3629 | "version": "0.176.0",
3630 | "resolved": "https://registry.npmjs.org/three/-/three-0.176.0.tgz",
3631 | "integrity": "sha512-PWRKYWQo23ojf9oZSlRGH8K09q7nRSWx6LY/HF/UUrMdYgN9i1e2OwJYHoQjwc6HF/4lvvYLC5YC1X8UJL2ZpA=="
3632 | },
3633 | "tinyglobby": {
3634 | "version": "0.2.13",
3635 | "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
3636 | "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
3637 | "requires": {
3638 | "fdir": "^6.4.4",
3639 | "picomatch": "^4.0.2"
3640 | }
3641 | },
3642 | "tslib": {
3643 | "version": "2.6.2",
3644 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
3645 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
3646 | },
3647 | "update-browserslist-db": {
3648 | "version": "1.1.3",
3649 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
3650 | "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
3651 | "requires": {
3652 | "escalade": "^3.2.0",
3653 | "picocolors": "^1.1.1"
3654 | }
3655 | },
3656 | "v8n": {
3657 | "version": "1.5.1",
3658 | "resolved": "https://registry.npmjs.org/v8n/-/v8n-1.5.1.tgz",
3659 | "integrity": "sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A=="
3660 | },
3661 | "vite": {
3662 | "version": "6.3.3",
3663 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.3.tgz",
3664 | "integrity": "sha512-5nXH+QsELbFKhsEfWLkHrvgRpTdGJzqOZ+utSdmPTvwHmvU6ITTm3xx+mRusihkcI8GeC7lCDyn3kDtiki9scw==",
3665 | "requires": {
3666 | "esbuild": "^0.25.0",
3667 | "fdir": "^6.4.4",
3668 | "fsevents": "~2.3.3",
3669 | "picomatch": "^4.0.2",
3670 | "postcss": "^8.5.3",
3671 | "rollup": "^4.34.9",
3672 | "tinyglobby": "^0.2.13"
3673 | }
3674 | },
3675 | "yallist": {
3676 | "version": "3.1.1",
3677 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
3678 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
3679 | },
3680 | "zustand": {
3681 | "version": "3.7.2",
3682 | "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
3683 | "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
3684 | "requires": {}
3685 | }
3686 | }
3687 | }
3688 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "threejs-react-wrapper",
3 | "license": "MIT",
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "@vitejs/plugin-react": "^4.0.4",
13 | "leva": "^0.9.34",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0",
16 | "three": "^0.176.0"
17 | },
18 | "devDependencies": {
19 | "@types/react": "^18.0.28",
20 | "@types/react-dom": "^18.0.11",
21 | "vite": "^6.3.3"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/screen-shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/felixturner/threejs-react-wrapper/f71decb2dca634e931b26c4abfee1df6fa4340a7/screen-shot.png
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import { useControls } from 'leva';
2 | import { ThreeWrapper } from './components/threeWrapper/ThreeWrapper';
3 |
4 | function App() {
5 | //create Leva controls
6 | const { mounted, speed, scale } = useControls({
7 | mounted: true,
8 | speed: {
9 | value: 0.5,
10 | min: 0,
11 | max: 1,
12 | step: 0.01,
13 | },
14 |
15 | scale: {
16 | value: 1,
17 | min: 0.5,
18 | max: 2,
19 | step: 0.1,
20 | },
21 | });
22 |
23 | //pass Leva values as props to ThreeWrapper
24 | return mounted && ;
25 | }
26 |
27 | export default App;
28 |
--------------------------------------------------------------------------------
/src/components/threeWrapper/ThreeWrapper.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef } from 'react';
2 | import { init, dispose, setProps } from './js/main.js';
3 |
4 | /*
5 | A simple React component to mount and unmount a ThreeJS scene
6 | */
7 |
8 | export function ThreeWrapper(props) {
9 | const glCanvas = useRef(); //ref to webgl canvas
10 | const glContainer = useRef(); //ref to webgl canvas container
11 |
12 | useEffect(() => {
13 | //do on mount
14 | init(glCanvas.current, glContainer.current);
15 | return () => {
16 | //do on unmount
17 | dispose();
18 | };
19 | }, []); // run once on page load
20 |
21 | useEffect(() => {
22 | //when props change, send into webgl
23 | setProps(props);
24 | }, [props]);
25 |
26 | return (
27 |
28 |
29 |
30 | );
31 | }
32 |
--------------------------------------------------------------------------------
/src/components/threeWrapper/assets/testcard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/felixturner/threejs-react-wrapper/f71decb2dca634e931b26c4abfee1df6fa4340a7/src/components/threeWrapper/assets/testcard.jpg
--------------------------------------------------------------------------------
/src/components/threeWrapper/js/main.js:
--------------------------------------------------------------------------------
1 | import * as THREE from 'three';
2 | import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
3 | import Stats from 'three/addons/libs/stats.module.js';
4 | import testcard from '../assets/testcard.jpg';
5 |
6 | /*
7 | Main Three.js code. A rotating cube with orbit controls and stats.
8 | This is a vanilla JS ES6 module, as used in the threejs examples.
9 | Handles resizing to containerElement, init and disposal.
10 | Assets can be loaded via imports (see testcard.jpg above).
11 | */
12 |
13 | console.log('THREE version', THREE.REVISION);
14 |
15 | let scene,
16 | camera,
17 | renderer,
18 | cube,
19 | controls,
20 | stats,
21 | containerEl,
22 | raf,
23 | resizeObs,
24 | material;
25 |
26 | let speed = 0;
27 |
28 | export function init(canvas, _containerEl) {
29 | console.log('threejs init');
30 | containerEl = _containerEl;
31 | stats = new Stats();
32 | containerEl.appendChild(stats.dom);
33 | stats.dom.style.position = 'absolute';
34 |
35 | scene = new THREE.Scene();
36 | camera = new THREE.PerspectiveCamera(
37 | 45,
38 | window.innerWidth / window.innerHeight,
39 | 0.1,
40 | 1000
41 | );
42 | camera.position.z = 3;
43 |
44 | renderer = new THREE.WebGLRenderer({ canvas: canvas });
45 | renderer.setSize(window.innerWidth, window.innerHeight);
46 | renderer.outputColorSpace = THREE.LinearSRGBColorSpace;
47 |
48 | const geometry = new THREE.BoxGeometry(1, 1, 1);
49 | material = new THREE.MeshBasicMaterial({
50 | map: new THREE.TextureLoader().load(testcard),
51 | });
52 | cube = new THREE.Mesh(geometry, material);
53 | scene.add(cube);
54 |
55 | controls = new OrbitControls(camera, containerEl);
56 |
57 | //watch for size change of container element
58 | resizeObs = new ResizeObserver(onResize);
59 | resizeObs.observe(containerEl);
60 |
61 | update();
62 | }
63 |
64 | function update() {
65 | raf = requestAnimationFrame(update);
66 | cube.rotation.x += speed / 40;
67 | cube.rotation.y += speed / 40;
68 | renderer.render(scene, camera);
69 | stats.update();
70 | controls.update();
71 | }
72 |
73 | function onResize() {
74 | console.log('threejs onResize');
75 | let w = containerEl.offsetWidth;
76 | let h = containerEl.offsetHeight;
77 | camera.aspect = w / h;
78 | camera.updateProjectionMatrix();
79 | renderer.setSize(w, h);
80 | renderer.setPixelRatio(window.devicePixelRatio);
81 | renderer.render(scene, camera);
82 | }
83 |
84 | export function dispose() {
85 | console.log('threejs dispose');
86 | //clean up
87 | cancelAnimationFrame(raf);
88 | resizeObs.disconnect();
89 | controls.dispose();
90 | material.dispose();
91 | cube.geometry.dispose();
92 | resizeObs = null;
93 | scene = null;
94 | camera = null;
95 | controls = null;
96 | renderer = null;
97 | stats = null;
98 | material = null;
99 | }
100 |
101 | export function setProps(props) {
102 | speed = props.speed;
103 | cube.scale.setScalar(props.scale);
104 | }
105 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | html {
2 | height: 100%;
3 | }
4 | body {
5 | margin: 0;
6 | padding: 0;
7 | height: 100%;
8 | display: flex;
9 | justify-content: center;
10 | align-items: center;
11 | }
12 |
13 | .gl-container {
14 | width: 80vw;
15 | height: 80vh;
16 | border-radius: 10px;
17 | overflow: hidden;
18 | }
19 |
--------------------------------------------------------------------------------
/src/main.jsx:
--------------------------------------------------------------------------------
1 | import { createRoot } from 'react-dom/client';
2 | import App from './App';
3 | import './index.css';
4 |
5 | createRoot(document.getElementById('root')).render();
6 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import react from '@vitejs/plugin-react';
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | });
8 |
--------------------------------------------------------------------------------