Spaces:
Running
Running
feat: fuzzy search with Web Worker and memoized cards
Browse files- Add Fuse.js-powered fuzzy search in a Web Worker (off main thread)
- Search across name, id, author, description, and tags
- Extract SearchInput into isolated memoized component to prevent
full page re-renders on every keystroke
- Memoize AppCard with React.memo to skip unnecessary re-renders
- Debounce search input (200ms) for smooth typing
Co-authored-by: Cursor <cursoragent@cursor.com>
- package.json +1 -0
- src/pages/Apps.jsx +100 -46
- src/workers/searchWorker.js +57 -0
- yarn.lock +264 -29
package.json
CHANGED
|
@@ -20,6 +20,7 @@
|
|
| 20 |
"@react-spring/web": "^10.0.3",
|
| 21 |
"express": "^4.21.2",
|
| 22 |
"framer-motion": "^12.23.26",
|
|
|
|
| 23 |
"highlight.js": "^11.11.1",
|
| 24 |
"react": "^19.2.0",
|
| 25 |
"react-dom": "^19.2.0",
|
|
|
|
| 20 |
"@react-spring/web": "^10.0.3",
|
| 21 |
"express": "^4.21.2",
|
| 22 |
"framer-motion": "^12.23.26",
|
| 23 |
+
"fuse.js": "^7.1.0",
|
| 24 |
"highlight.js": "^11.11.1",
|
| 25 |
"react": "^19.2.0",
|
| 26 |
"react-dom": "^19.2.0",
|
src/pages/Apps.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
import { useState, useMemo, useCallback } from 'react';
|
| 2 |
import {
|
| 3 |
Box,
|
| 4 |
Container,
|
|
@@ -29,8 +29,8 @@ import { useApps } from '../context/AppsContext';
|
|
| 29 |
import { useAuth } from '../context/AuthContext';
|
| 30 |
import InstallModal from '../components/InstallModal';
|
| 31 |
|
| 32 |
-
// App Card Component
|
| 33 |
-
function AppCard({ app, onInstallClick, isLiked, onToggleLike, isLoggedIn }) {
|
| 34 |
const isOfficial = app.isOfficial;
|
| 35 |
const isPythonApp = app.extra?.isPythonApp !== false; // Default to true for backwards compatibility
|
| 36 |
const cardData = app.extra?.cardData || {};
|
|
@@ -328,7 +328,53 @@ function AppCard({ app, onInstallClick, isLiked, onToggleLike, isLoggedIn }) {
|
|
| 328 |
</Box>
|
| 329 |
</Box>
|
| 330 |
);
|
| 331 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 332 |
|
| 333 |
// Tags to exclude from category filters
|
| 334 |
const EXCLUDED_TAGS = new Set([
|
|
@@ -352,9 +398,45 @@ export default function Apps() {
|
|
| 352 |
// Get apps from context (cached globally)
|
| 353 |
const { apps, loading, error } = useApps();
|
| 354 |
const { user, isLoggedIn, isOAuthAvailable, login, logout, isSpaceLiked, toggleLike } = useAuth();
|
| 355 |
-
const [searchQuery, setSearchQuery] = useState('');
|
| 356 |
const [officialOnly, setOfficialOnly] = useState(false);
|
| 357 |
const [selectedCategory, setSelectedCategory] = useState(null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 358 |
|
| 359 |
// Install modal state
|
| 360 |
const [installModalOpen, setInstallModalOpen] = useState(false);
|
|
@@ -419,7 +501,7 @@ export default function Apps() {
|
|
| 419 |
.slice(0, 8);
|
| 420 |
}, [apps, officialOnly]);
|
| 421 |
|
| 422 |
-
// Filter apps based on search, official toggle, and category
|
| 423 |
const filteredApps = useMemo(() => {
|
| 424 |
let result = apps;
|
| 425 |
|
|
@@ -448,25 +530,23 @@ export default function Apps() {
|
|
| 448 |
});
|
| 449 |
}
|
| 450 |
|
| 451 |
-
//
|
| 452 |
-
if (
|
| 453 |
-
const
|
| 454 |
-
|
| 455 |
-
|
| 456 |
-
|
| 457 |
-
|
| 458 |
-
|
| 459 |
-
app.extra?.cardData?.short_description?.toLowerCase().includes(query)
|
| 460 |
-
);
|
| 461 |
}
|
| 462 |
|
| 463 |
-
//
|
| 464 |
result.sort((a, b) => (b.extra?.likes || 0) - (a.extra?.likes || 0));
|
| 465 |
|
| 466 |
return result;
|
| 467 |
-
}, [apps,
|
| 468 |
|
| 469 |
-
const isFiltered =
|
| 470 |
|
| 471 |
return (
|
| 472 |
<Layout transparentHeader>
|
|
@@ -604,33 +684,7 @@ export default function Apps() {
|
|
| 604 |
border: '1px solid rgba(0, 0, 0, 0.06)',
|
| 605 |
}}
|
| 606 |
>
|
| 607 |
-
<
|
| 608 |
-
<InputBase
|
| 609 |
-
placeholder="Search apps by name or description..."
|
| 610 |
-
value={searchQuery}
|
| 611 |
-
onChange={(e) => setSearchQuery(e.target.value)}
|
| 612 |
-
sx={{
|
| 613 |
-
flex: 1,
|
| 614 |
-
fontSize: 15,
|
| 615 |
-
fontWeight: 500,
|
| 616 |
-
color: '#333',
|
| 617 |
-
'& input::placeholder': {
|
| 618 |
-
color: '#999',
|
| 619 |
-
opacity: 1,
|
| 620 |
-
},
|
| 621 |
-
}}
|
| 622 |
-
/>
|
| 623 |
-
|
| 624 |
-
{/* Clear search */}
|
| 625 |
-
{searchQuery && (
|
| 626 |
-
<IconButton
|
| 627 |
-
onClick={() => setSearchQuery('')}
|
| 628 |
-
size="small"
|
| 629 |
-
sx={{ color: '#999' }}
|
| 630 |
-
>
|
| 631 |
-
<CloseIcon sx={{ fontSize: 20 }} />
|
| 632 |
-
</IconButton>
|
| 633 |
-
)}
|
| 634 |
|
| 635 |
{/* Separator */}
|
| 636 |
<Box sx={{ width: '1px', height: '24px', bgcolor: 'rgba(0, 0, 0, 0.1)' }} />
|
|
|
|
| 1 |
+
import { useState, useMemo, useCallback, useEffect, useRef, memo } from 'react';
|
| 2 |
import {
|
| 3 |
Box,
|
| 4 |
Container,
|
|
|
|
| 29 |
import { useAuth } from '../context/AuthContext';
|
| 30 |
import InstallModal from '../components/InstallModal';
|
| 31 |
|
| 32 |
+
// App Card Component (memoized to avoid re-renders when only search changes)
|
| 33 |
+
const AppCard = memo(function AppCard({ app, onInstallClick, isLiked, onToggleLike, isLoggedIn }) {
|
| 34 |
const isOfficial = app.isOfficial;
|
| 35 |
const isPythonApp = app.extra?.isPythonApp !== false; // Default to true for backwards compatibility
|
| 36 |
const cardData = app.extra?.cardData || {};
|
|
|
|
| 328 |
</Box>
|
| 329 |
</Box>
|
| 330 |
);
|
| 331 |
+
});
|
| 332 |
+
|
| 333 |
+
// Isolated search input — typing only re-renders this component, not the whole page
|
| 334 |
+
const SearchInput = memo(function SearchInput({ onSearch }) {
|
| 335 |
+
const [value, setValue] = useState('');
|
| 336 |
+
const debounceRef = useRef(null);
|
| 337 |
+
|
| 338 |
+
useEffect(() => {
|
| 339 |
+
clearTimeout(debounceRef.current);
|
| 340 |
+
if (!value.trim()) {
|
| 341 |
+
onSearch('');
|
| 342 |
+
return;
|
| 343 |
+
}
|
| 344 |
+
debounceRef.current = setTimeout(() => onSearch(value.trim()), 200);
|
| 345 |
+
return () => clearTimeout(debounceRef.current);
|
| 346 |
+
}, [value, onSearch]);
|
| 347 |
+
|
| 348 |
+
return (
|
| 349 |
+
<>
|
| 350 |
+
<SearchIcon sx={{ fontSize: 22, color: '#999' }} />
|
| 351 |
+
<InputBase
|
| 352 |
+
placeholder="Search apps by name, description, tags..."
|
| 353 |
+
value={value}
|
| 354 |
+
onChange={(e) => setValue(e.target.value)}
|
| 355 |
+
sx={{
|
| 356 |
+
flex: 1,
|
| 357 |
+
fontSize: 15,
|
| 358 |
+
fontWeight: 500,
|
| 359 |
+
color: '#333',
|
| 360 |
+
'& input::placeholder': {
|
| 361 |
+
color: '#999',
|
| 362 |
+
opacity: 1,
|
| 363 |
+
},
|
| 364 |
+
}}
|
| 365 |
+
/>
|
| 366 |
+
{value && (
|
| 367 |
+
<IconButton
|
| 368 |
+
onClick={() => { setValue(''); onSearch(''); }}
|
| 369 |
+
size="small"
|
| 370 |
+
sx={{ color: '#999' }}
|
| 371 |
+
>
|
| 372 |
+
<CloseIcon sx={{ fontSize: 20 }} />
|
| 373 |
+
</IconButton>
|
| 374 |
+
)}
|
| 375 |
+
</>
|
| 376 |
+
);
|
| 377 |
+
});
|
| 378 |
|
| 379 |
// Tags to exclude from category filters
|
| 380 |
const EXCLUDED_TAGS = new Set([
|
|
|
|
| 398 |
// Get apps from context (cached globally)
|
| 399 |
const { apps, loading, error } = useApps();
|
| 400 |
const { user, isLoggedIn, isOAuthAvailable, login, logout, isSpaceLiked, toggleLike } = useAuth();
|
|
|
|
| 401 |
const [officialOnly, setOfficialOnly] = useState(false);
|
| 402 |
const [selectedCategory, setSelectedCategory] = useState(null);
|
| 403 |
+
const [searchResults, setSearchResults] = useState(null); // null = no search, [] = no matches
|
| 404 |
+
const [isSearching, setIsSearching] = useState(false);
|
| 405 |
+
const workerRef = useRef(null);
|
| 406 |
+
|
| 407 |
+
// Initialize search Web Worker
|
| 408 |
+
useEffect(() => {
|
| 409 |
+
workerRef.current = new Worker(
|
| 410 |
+
new URL('../workers/searchWorker.js', import.meta.url),
|
| 411 |
+
{ type: 'module' }
|
| 412 |
+
);
|
| 413 |
+
|
| 414 |
+
workerRef.current.onmessage = (e) => {
|
| 415 |
+
if (e.data.type === 'RESULTS') {
|
| 416 |
+
setSearchResults(e.data.results);
|
| 417 |
+
}
|
| 418 |
+
};
|
| 419 |
+
|
| 420 |
+
return () => workerRef.current?.terminate();
|
| 421 |
+
}, []);
|
| 422 |
+
|
| 423 |
+
// Send apps to worker to build index whenever apps change
|
| 424 |
+
useEffect(() => {
|
| 425 |
+
if (workerRef.current && apps.length > 0) {
|
| 426 |
+
workerRef.current.postMessage({ type: 'INDEX', apps });
|
| 427 |
+
}
|
| 428 |
+
}, [apps]);
|
| 429 |
+
|
| 430 |
+
// Callback from SearchInput component (already debounced)
|
| 431 |
+
const handleSearch = useCallback((query) => {
|
| 432 |
+
if (!query) {
|
| 433 |
+
setSearchResults(null);
|
| 434 |
+
setIsSearching(false);
|
| 435 |
+
return;
|
| 436 |
+
}
|
| 437 |
+
setIsSearching(true);
|
| 438 |
+
workerRef.current?.postMessage({ type: 'SEARCH', query });
|
| 439 |
+
}, []);
|
| 440 |
|
| 441 |
// Install modal state
|
| 442 |
const [installModalOpen, setInstallModalOpen] = useState(false);
|
|
|
|
| 501 |
.slice(0, 8);
|
| 502 |
}, [apps, officialOnly]);
|
| 503 |
|
| 504 |
+
// Filter apps based on worker search results, official toggle, and category
|
| 505 |
const filteredApps = useMemo(() => {
|
| 506 |
let result = apps;
|
| 507 |
|
|
|
|
| 530 |
});
|
| 531 |
}
|
| 532 |
|
| 533 |
+
// Apply fuzzy search results from worker
|
| 534 |
+
if (searchResults !== null) {
|
| 535 |
+
const scoreMap = new Map(searchResults.map((r) => [r.id, r.score]));
|
| 536 |
+
const matchedIds = new Set(searchResults.map((r) => r.id));
|
| 537 |
+
result = result.filter((app) => matchedIds.has(app.id));
|
| 538 |
+
// Sort by relevance (best score first)
|
| 539 |
+
result.sort((a, b) => (scoreMap.get(a.id) || 1) - (scoreMap.get(b.id) || 1));
|
| 540 |
+
return result;
|
|
|
|
|
|
|
| 541 |
}
|
| 542 |
|
| 543 |
+
// Default sort: by likes (descending)
|
| 544 |
result.sort((a, b) => (b.extra?.likes || 0) - (a.extra?.likes || 0));
|
| 545 |
|
| 546 |
return result;
|
| 547 |
+
}, [apps, officialOnly, selectedCategory, searchResults]);
|
| 548 |
|
| 549 |
+
const isFiltered = searchResults !== null || officialOnly || selectedCategory;
|
| 550 |
|
| 551 |
return (
|
| 552 |
<Layout transparentHeader>
|
|
|
|
| 684 |
border: '1px solid rgba(0, 0, 0, 0.06)',
|
| 685 |
}}
|
| 686 |
>
|
| 687 |
+
<SearchInput onSearch={handleSearch} />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 688 |
|
| 689 |
{/* Separator */}
|
| 690 |
<Box sx={{ width: '1px', height: '24px', bgcolor: 'rgba(0, 0, 0, 0.1)' }} />
|
src/workers/searchWorker.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import Fuse from 'fuse.js';
|
| 2 |
+
|
| 3 |
+
let fuse = null;
|
| 4 |
+
|
| 5 |
+
const FUSE_OPTIONS = {
|
| 6 |
+
keys: [
|
| 7 |
+
{ name: 'name', weight: 3 },
|
| 8 |
+
{ name: 'id', weight: 2 },
|
| 9 |
+
{ name: '_searchAuthor', weight: 2 },
|
| 10 |
+
{ name: '_searchDescription', weight: 1.5 },
|
| 11 |
+
{ name: '_searchTags', weight: 1 },
|
| 12 |
+
],
|
| 13 |
+
threshold: 0.35,
|
| 14 |
+
ignoreLocation: true,
|
| 15 |
+
includeScore: true,
|
| 16 |
+
};
|
| 17 |
+
|
| 18 |
+
/**
|
| 19 |
+
* Build a Fuse.js index from app data.
|
| 20 |
+
* Flattens searchable fields for better matching.
|
| 21 |
+
*/
|
| 22 |
+
function buildIndex(apps) {
|
| 23 |
+
const enriched = apps.map((app) => ({
|
| 24 |
+
id: app.id,
|
| 25 |
+
name: app.name,
|
| 26 |
+
_searchAuthor: app.extra?.author || app.id?.split('/')?.[0] || '',
|
| 27 |
+
_searchDescription:
|
| 28 |
+
app.extra?.cardData?.short_description || app.description || '',
|
| 29 |
+
_searchTags: [...(app.extra?.tags || []), ...(app.extra?.cardData?.tags || [])]
|
| 30 |
+
.filter(Boolean)
|
| 31 |
+
.join(' '),
|
| 32 |
+
}));
|
| 33 |
+
|
| 34 |
+
fuse = new Fuse(enriched, FUSE_OPTIONS);
|
| 35 |
+
}
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* Search and return ordered list of matching app IDs with scores.
|
| 39 |
+
*/
|
| 40 |
+
function search(query) {
|
| 41 |
+
if (!fuse || !query.trim()) return [];
|
| 42 |
+
const results = fuse.search(query.trim());
|
| 43 |
+
return results.map((r) => ({ id: r.item.id, score: r.score }));
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
// Handle messages from the main thread
|
| 47 |
+
self.onmessage = (e) => {
|
| 48 |
+
const { type, apps, query } = e.data;
|
| 49 |
+
|
| 50 |
+
if (type === 'INDEX') {
|
| 51 |
+
buildIndex(apps);
|
| 52 |
+
self.postMessage({ type: 'INDEXED' });
|
| 53 |
+
} else if (type === 'SEARCH') {
|
| 54 |
+
const results = search(query);
|
| 55 |
+
self.postMessage({ type: 'RESULTS', results, query });
|
| 56 |
+
}
|
| 57 |
+
};
|
yarn.lock
CHANGED
|
@@ -16,7 +16,7 @@
|
|
| 16 |
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz"
|
| 17 |
integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==
|
| 18 |
|
| 19 |
-
"@babel/core@^7.
|
| 20 |
version "7.28.5"
|
| 21 |
resolved "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz"
|
| 22 |
integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==
|
|
@@ -198,7 +198,7 @@
|
|
| 198 |
resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz"
|
| 199 |
integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
|
| 200 |
|
| 201 |
-
"@emotion/is-prop-valid@
|
| 202 |
version "1.4.0"
|
| 203 |
resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz"
|
| 204 |
integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==
|
|
@@ -210,7 +210,7 @@
|
|
| 210 |
resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz"
|
| 211 |
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
| 212 |
|
| 213 |
-
"@emotion/react@^11.
|
| 214 |
version "11.14.0"
|
| 215 |
resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz"
|
| 216 |
integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
|
|
@@ -240,7 +240,7 @@
|
|
| 240 |
resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz"
|
| 241 |
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
| 242 |
|
| 243 |
-
"@emotion/styled@^11.14.1"
|
| 244 |
version "11.14.1"
|
| 245 |
resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz"
|
| 246 |
integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==
|
|
@@ -272,11 +272,136 @@
|
|
| 272 |
resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz"
|
| 273 |
integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
|
| 274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
"@esbuild/darwin-arm64@0.25.12":
|
| 276 |
version "0.25.12"
|
| 277 |
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz"
|
| 278 |
integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==
|
| 279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 280 |
"@eslint-community/eslint-utils@^4.8.0":
|
| 281 |
version "4.9.0"
|
| 282 |
resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz"
|
|
@@ -327,7 +452,7 @@
|
|
| 327 |
minimatch "^3.1.2"
|
| 328 |
strip-json-comments "^3.1.1"
|
| 329 |
|
| 330 |
-
"@eslint/js@
|
| 331 |
version "9.39.1"
|
| 332 |
resolved "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz"
|
| 333 |
integrity sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==
|
|
@@ -555,11 +680,116 @@
|
|
| 555 |
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz"
|
| 556 |
integrity sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==
|
| 557 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 558 |
"@rollup/rollup-darwin-arm64@4.53.3":
|
| 559 |
version "4.53.3"
|
| 560 |
resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz"
|
| 561 |
integrity sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==
|
| 562 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 563 |
"@types/babel__core@^7.20.5":
|
| 564 |
version "7.20.5"
|
| 565 |
resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
|
|
@@ -607,7 +837,7 @@
|
|
| 607 |
dependencies:
|
| 608 |
"@types/estree" "*"
|
| 609 |
|
| 610 |
-
"@types/estree@*", "@types/estree@
|
| 611 |
version "1.0.8"
|
| 612 |
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"
|
| 613 |
integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
|
|
@@ -656,7 +886,7 @@
|
|
| 656 |
resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
|
| 657 |
integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
|
| 658 |
|
| 659 |
-
"@types/react@
|
| 660 |
version "19.2.7"
|
| 661 |
resolved "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz"
|
| 662 |
integrity sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==
|
|
@@ -703,7 +933,7 @@ acorn-jsx@^5.3.2:
|
|
| 703 |
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
|
| 704 |
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
| 705 |
|
| 706 |
-
|
| 707 |
version "8.15.0"
|
| 708 |
resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
|
| 709 |
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
|
@@ -790,7 +1020,7 @@ brace-expansion@^1.1.7:
|
|
| 790 |
balanced-match "^1.0.0"
|
| 791 |
concat-map "0.0.1"
|
| 792 |
|
| 793 |
-
browserslist@^4.24.0
|
| 794 |
version "4.28.1"
|
| 795 |
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz"
|
| 796 |
integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==
|
|
@@ -961,13 +1191,6 @@ csstype@^3.0.2, csstype@^3.1.3, csstype@^3.2.2:
|
|
| 961 |
resolved "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz"
|
| 962 |
integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
|
| 963 |
|
| 964 |
-
debug@^4.0.0, debug@^4.1.0, debug@^4.3.1, debug@^4.3.2:
|
| 965 |
-
version "4.4.3"
|
| 966 |
-
resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz"
|
| 967 |
-
integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
|
| 968 |
-
dependencies:
|
| 969 |
-
ms "^2.1.3"
|
| 970 |
-
|
| 971 |
debug@2.6.9:
|
| 972 |
version "2.6.9"
|
| 973 |
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
|
@@ -975,6 +1198,13 @@ debug@2.6.9:
|
|
| 975 |
dependencies:
|
| 976 |
ms "2.0.0"
|
| 977 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 978 |
decode-named-character-reference@^1.0.0:
|
| 979 |
version "1.2.0"
|
| 980 |
resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz"
|
|
@@ -987,7 +1217,7 @@ deep-is@^0.1.3:
|
|
| 987 |
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
|
| 988 |
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
| 989 |
|
| 990 |
-
depd@
|
| 991 |
version "2.0.0"
|
| 992 |
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
|
| 993 |
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
|
@@ -997,7 +1227,7 @@ dequal@^2.0.0:
|
|
| 997 |
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
|
| 998 |
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
|
| 999 |
|
| 1000 |
-
destroy@
|
| 1001 |
version "1.2.0"
|
| 1002 |
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
|
| 1003 |
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
|
|
@@ -1156,7 +1386,7 @@ eslint-visitor-keys@^4.2.1:
|
|
| 1156 |
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
|
| 1157 |
integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
|
| 1158 |
|
| 1159 |
-
|
| 1160 |
version "9.39.1"
|
| 1161 |
resolved "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz"
|
| 1162 |
integrity sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==
|
|
@@ -1376,6 +1606,11 @@ function-bind@^1.1.2:
|
|
| 1376 |
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
|
| 1377 |
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
| 1378 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1379 |
gensync@^1.0.0-beta.2:
|
| 1380 |
version "1.0.0-beta.2"
|
| 1381 |
resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
|
|
@@ -2247,16 +2482,16 @@ motion-utils@^12.23.6:
|
|
| 2247 |
resolved "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz"
|
| 2248 |
integrity sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==
|
| 2249 |
|
| 2250 |
-
ms@^2.1.3, ms@2.1.3:
|
| 2251 |
-
version "2.1.3"
|
| 2252 |
-
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
|
| 2253 |
-
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
| 2254 |
-
|
| 2255 |
ms@2.0.0:
|
| 2256 |
version "2.0.0"
|
| 2257 |
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
|
| 2258 |
integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
|
| 2259 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2260 |
nanoid@^3.3.11:
|
| 2261 |
version "3.3.11"
|
| 2262 |
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
|
|
@@ -2385,7 +2620,7 @@ picocolors@^1.1.1:
|
|
| 2385 |
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
|
| 2386 |
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
| 2387 |
|
| 2388 |
-
|
| 2389 |
version "4.0.3"
|
| 2390 |
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
|
| 2391 |
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
|
|
@@ -2453,7 +2688,7 @@ raw-body@~2.5.3:
|
|
| 2453 |
iconv-lite "~0.4.24"
|
| 2454 |
unpipe "~1.0.0"
|
| 2455 |
|
| 2456 |
-
|
| 2457 |
version "19.2.3"
|
| 2458 |
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz"
|
| 2459 |
integrity sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==
|
|
@@ -2517,7 +2752,7 @@ react-transition-group@^4.4.5:
|
|
| 2517 |
loose-envify "^1.4.0"
|
| 2518 |
prop-types "^15.6.2"
|
| 2519 |
|
| 2520 |
-
|
| 2521 |
version "19.2.3"
|
| 2522 |
resolved "https://registry.npmjs.org/react/-/react-19.2.3.tgz"
|
| 2523 |
integrity sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==
|
|
@@ -2674,7 +2909,7 @@ set-cookie-parser@^2.6.0:
|
|
| 2674 |
resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz"
|
| 2675 |
integrity sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==
|
| 2676 |
|
| 2677 |
-
setprototypeof@
|
| 2678 |
version "1.2.0"
|
| 2679 |
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
|
| 2680 |
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
|
|
@@ -2959,7 +3194,7 @@ vfile@^6.0.0:
|
|
| 2959 |
"@types/unist" "^3.0.0"
|
| 2960 |
vfile-message "^4.0.0"
|
| 2961 |
|
| 2962 |
-
|
| 2963 |
version "7.2.7"
|
| 2964 |
resolved "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz"
|
| 2965 |
integrity sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==
|
|
|
|
| 16 |
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz"
|
| 17 |
integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==
|
| 18 |
|
| 19 |
+
"@babel/core@^7.24.4", "@babel/core@^7.28.5":
|
| 20 |
version "7.28.5"
|
| 21 |
resolved "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz"
|
| 22 |
integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==
|
|
|
|
| 198 |
resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz"
|
| 199 |
integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
|
| 200 |
|
| 201 |
+
"@emotion/is-prop-valid@^1.3.0":
|
| 202 |
version "1.4.0"
|
| 203 |
resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz"
|
| 204 |
integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==
|
|
|
|
| 210 |
resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz"
|
| 211 |
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
| 212 |
|
| 213 |
+
"@emotion/react@^11.14.0":
|
| 214 |
version "11.14.0"
|
| 215 |
resolved "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz"
|
| 216 |
integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
|
|
|
|
| 240 |
resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz"
|
| 241 |
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
| 242 |
|
| 243 |
+
"@emotion/styled@^11.14.1":
|
| 244 |
version "11.14.1"
|
| 245 |
resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz"
|
| 246 |
integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==
|
|
|
|
| 272 |
resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz"
|
| 273 |
integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
|
| 274 |
|
| 275 |
+
"@esbuild/aix-ppc64@0.25.12":
|
| 276 |
+
version "0.25.12"
|
| 277 |
+
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz#80fcbe36130e58b7670511e888b8e88a259ed76c"
|
| 278 |
+
integrity sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==
|
| 279 |
+
|
| 280 |
+
"@esbuild/android-arm64@0.25.12":
|
| 281 |
+
version "0.25.12"
|
| 282 |
+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752"
|
| 283 |
+
integrity sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==
|
| 284 |
+
|
| 285 |
+
"@esbuild/android-arm@0.25.12":
|
| 286 |
+
version "0.25.12"
|
| 287 |
+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a"
|
| 288 |
+
integrity sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==
|
| 289 |
+
|
| 290 |
+
"@esbuild/android-x64@0.25.12":
|
| 291 |
+
version "0.25.12"
|
| 292 |
+
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16"
|
| 293 |
+
integrity sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==
|
| 294 |
+
|
| 295 |
"@esbuild/darwin-arm64@0.25.12":
|
| 296 |
version "0.25.12"
|
| 297 |
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz"
|
| 298 |
integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==
|
| 299 |
|
| 300 |
+
"@esbuild/darwin-x64@0.25.12":
|
| 301 |
+
version "0.25.12"
|
| 302 |
+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e"
|
| 303 |
+
integrity sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==
|
| 304 |
+
|
| 305 |
+
"@esbuild/freebsd-arm64@0.25.12":
|
| 306 |
+
version "0.25.12"
|
| 307 |
+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe"
|
| 308 |
+
integrity sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==
|
| 309 |
+
|
| 310 |
+
"@esbuild/freebsd-x64@0.25.12":
|
| 311 |
+
version "0.25.12"
|
| 312 |
+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3"
|
| 313 |
+
integrity sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==
|
| 314 |
+
|
| 315 |
+
"@esbuild/linux-arm64@0.25.12":
|
| 316 |
+
version "0.25.12"
|
| 317 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977"
|
| 318 |
+
integrity sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==
|
| 319 |
+
|
| 320 |
+
"@esbuild/linux-arm@0.25.12":
|
| 321 |
+
version "0.25.12"
|
| 322 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9"
|
| 323 |
+
integrity sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==
|
| 324 |
+
|
| 325 |
+
"@esbuild/linux-ia32@0.25.12":
|
| 326 |
+
version "0.25.12"
|
| 327 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0"
|
| 328 |
+
integrity sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==
|
| 329 |
+
|
| 330 |
+
"@esbuild/linux-loong64@0.25.12":
|
| 331 |
+
version "0.25.12"
|
| 332 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0"
|
| 333 |
+
integrity sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==
|
| 334 |
+
|
| 335 |
+
"@esbuild/linux-mips64el@0.25.12":
|
| 336 |
+
version "0.25.12"
|
| 337 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd"
|
| 338 |
+
integrity sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==
|
| 339 |
+
|
| 340 |
+
"@esbuild/linux-ppc64@0.25.12":
|
| 341 |
+
version "0.25.12"
|
| 342 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869"
|
| 343 |
+
integrity sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==
|
| 344 |
+
|
| 345 |
+
"@esbuild/linux-riscv64@0.25.12":
|
| 346 |
+
version "0.25.12"
|
| 347 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6"
|
| 348 |
+
integrity sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==
|
| 349 |
+
|
| 350 |
+
"@esbuild/linux-s390x@0.25.12":
|
| 351 |
+
version "0.25.12"
|
| 352 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663"
|
| 353 |
+
integrity sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==
|
| 354 |
+
|
| 355 |
+
"@esbuild/linux-x64@0.25.12":
|
| 356 |
+
version "0.25.12"
|
| 357 |
+
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306"
|
| 358 |
+
integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==
|
| 359 |
+
|
| 360 |
+
"@esbuild/netbsd-arm64@0.25.12":
|
| 361 |
+
version "0.25.12"
|
| 362 |
+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4"
|
| 363 |
+
integrity sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==
|
| 364 |
+
|
| 365 |
+
"@esbuild/netbsd-x64@0.25.12":
|
| 366 |
+
version "0.25.12"
|
| 367 |
+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076"
|
| 368 |
+
integrity sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==
|
| 369 |
+
|
| 370 |
+
"@esbuild/openbsd-arm64@0.25.12":
|
| 371 |
+
version "0.25.12"
|
| 372 |
+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd"
|
| 373 |
+
integrity sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==
|
| 374 |
+
|
| 375 |
+
"@esbuild/openbsd-x64@0.25.12":
|
| 376 |
+
version "0.25.12"
|
| 377 |
+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679"
|
| 378 |
+
integrity sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==
|
| 379 |
+
|
| 380 |
+
"@esbuild/openharmony-arm64@0.25.12":
|
| 381 |
+
version "0.25.12"
|
| 382 |
+
resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d"
|
| 383 |
+
integrity sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==
|
| 384 |
+
|
| 385 |
+
"@esbuild/sunos-x64@0.25.12":
|
| 386 |
+
version "0.25.12"
|
| 387 |
+
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6"
|
| 388 |
+
integrity sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==
|
| 389 |
+
|
| 390 |
+
"@esbuild/win32-arm64@0.25.12":
|
| 391 |
+
version "0.25.12"
|
| 392 |
+
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323"
|
| 393 |
+
integrity sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==
|
| 394 |
+
|
| 395 |
+
"@esbuild/win32-ia32@0.25.12":
|
| 396 |
+
version "0.25.12"
|
| 397 |
+
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267"
|
| 398 |
+
integrity sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==
|
| 399 |
+
|
| 400 |
+
"@esbuild/win32-x64@0.25.12":
|
| 401 |
+
version "0.25.12"
|
| 402 |
+
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5"
|
| 403 |
+
integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==
|
| 404 |
+
|
| 405 |
"@eslint-community/eslint-utils@^4.8.0":
|
| 406 |
version "4.9.0"
|
| 407 |
resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz"
|
|
|
|
| 452 |
minimatch "^3.1.2"
|
| 453 |
strip-json-comments "^3.1.1"
|
| 454 |
|
| 455 |
+
"@eslint/js@9.39.1", "@eslint/js@^9.39.1":
|
| 456 |
version "9.39.1"
|
| 457 |
resolved "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz"
|
| 458 |
integrity sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==
|
|
|
|
| 680 |
resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz"
|
| 681 |
integrity sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==
|
| 682 |
|
| 683 |
+
"@rollup/rollup-android-arm-eabi@4.53.3":
|
| 684 |
+
version "4.53.3"
|
| 685 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz#7e478b66180c5330429dd161bf84dad66b59c8eb"
|
| 686 |
+
integrity sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==
|
| 687 |
+
|
| 688 |
+
"@rollup/rollup-android-arm64@4.53.3":
|
| 689 |
+
version "4.53.3"
|
| 690 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz#2b025510c53a5e3962d3edade91fba9368c9d71c"
|
| 691 |
+
integrity sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==
|
| 692 |
+
|
| 693 |
"@rollup/rollup-darwin-arm64@4.53.3":
|
| 694 |
version "4.53.3"
|
| 695 |
resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz"
|
| 696 |
integrity sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==
|
| 697 |
|
| 698 |
+
"@rollup/rollup-darwin-x64@4.53.3":
|
| 699 |
+
version "4.53.3"
|
| 700 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz#2bf5f2520a1f3b551723d274b9669ba5b75ed69c"
|
| 701 |
+
integrity sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==
|
| 702 |
+
|
| 703 |
+
"@rollup/rollup-freebsd-arm64@4.53.3":
|
| 704 |
+
version "4.53.3"
|
| 705 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz#4bb9cc80252564c158efc0710153c71633f1927c"
|
| 706 |
+
integrity sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==
|
| 707 |
+
|
| 708 |
+
"@rollup/rollup-freebsd-x64@4.53.3":
|
| 709 |
+
version "4.53.3"
|
| 710 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz#2301289094d49415a380cf942219ae9d8b127440"
|
| 711 |
+
integrity sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==
|
| 712 |
+
|
| 713 |
+
"@rollup/rollup-linux-arm-gnueabihf@4.53.3":
|
| 714 |
+
version "4.53.3"
|
| 715 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz#1d03d776f2065e09fc141df7d143476e94acca88"
|
| 716 |
+
integrity sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==
|
| 717 |
+
|
| 718 |
+
"@rollup/rollup-linux-arm-musleabihf@4.53.3":
|
| 719 |
+
version "4.53.3"
|
| 720 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz#8623de0e040b2fd52a541c602688228f51f96701"
|
| 721 |
+
integrity sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==
|
| 722 |
+
|
| 723 |
+
"@rollup/rollup-linux-arm64-gnu@4.53.3":
|
| 724 |
+
version "4.53.3"
|
| 725 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz#ce2d1999bc166277935dde0301cde3dd0417fb6e"
|
| 726 |
+
integrity sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==
|
| 727 |
+
|
| 728 |
+
"@rollup/rollup-linux-arm64-musl@4.53.3":
|
| 729 |
+
version "4.53.3"
|
| 730 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz#88c2523778444da952651a2219026416564a4899"
|
| 731 |
+
integrity sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==
|
| 732 |
+
|
| 733 |
+
"@rollup/rollup-linux-loong64-gnu@4.53.3":
|
| 734 |
+
version "4.53.3"
|
| 735 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz#578ca2220a200ac4226c536c10c8cc6e4f276714"
|
| 736 |
+
integrity sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==
|
| 737 |
+
|
| 738 |
+
"@rollup/rollup-linux-ppc64-gnu@4.53.3":
|
| 739 |
+
version "4.53.3"
|
| 740 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz#aa338d3effd4168a20a5023834a74ba2c3081293"
|
| 741 |
+
integrity sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==
|
| 742 |
+
|
| 743 |
+
"@rollup/rollup-linux-riscv64-gnu@4.53.3":
|
| 744 |
+
version "4.53.3"
|
| 745 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz#16ba582f9f6cff58119aa242782209b1557a1508"
|
| 746 |
+
integrity sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==
|
| 747 |
+
|
| 748 |
+
"@rollup/rollup-linux-riscv64-musl@4.53.3":
|
| 749 |
+
version "4.53.3"
|
| 750 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz#e404a77ebd6378483888b8064c703adb011340ab"
|
| 751 |
+
integrity sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==
|
| 752 |
+
|
| 753 |
+
"@rollup/rollup-linux-s390x-gnu@4.53.3":
|
| 754 |
+
version "4.53.3"
|
| 755 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz#92ad52d306227c56bec43d96ad2164495437ffe6"
|
| 756 |
+
integrity sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==
|
| 757 |
+
|
| 758 |
+
"@rollup/rollup-linux-x64-gnu@4.53.3":
|
| 759 |
+
version "4.53.3"
|
| 760 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz#fd0dea3bb9aa07e7083579f25e1c2285a46cb9fa"
|
| 761 |
+
integrity sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==
|
| 762 |
+
|
| 763 |
+
"@rollup/rollup-linux-x64-musl@4.53.3":
|
| 764 |
+
version "4.53.3"
|
| 765 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz#37a3efb09f18d555f8afc490e1f0444885de8951"
|
| 766 |
+
integrity sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==
|
| 767 |
+
|
| 768 |
+
"@rollup/rollup-openharmony-arm64@4.53.3":
|
| 769 |
+
version "4.53.3"
|
| 770 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz#c489bec9f4f8320d42c9b324cca220c90091c1f7"
|
| 771 |
+
integrity sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==
|
| 772 |
+
|
| 773 |
+
"@rollup/rollup-win32-arm64-msvc@4.53.3":
|
| 774 |
+
version "4.53.3"
|
| 775 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz#152832b5f79dc22d1606fac3db946283601b7080"
|
| 776 |
+
integrity sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==
|
| 777 |
+
|
| 778 |
+
"@rollup/rollup-win32-ia32-msvc@4.53.3":
|
| 779 |
+
version "4.53.3"
|
| 780 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz#54d91b2bb3bf3e9f30d32b72065a4e52b3a172a5"
|
| 781 |
+
integrity sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==
|
| 782 |
+
|
| 783 |
+
"@rollup/rollup-win32-x64-gnu@4.53.3":
|
| 784 |
+
version "4.53.3"
|
| 785 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz#df9df03e61a003873efec8decd2034e7f135c71e"
|
| 786 |
+
integrity sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==
|
| 787 |
+
|
| 788 |
+
"@rollup/rollup-win32-x64-msvc@4.53.3":
|
| 789 |
+
version "4.53.3"
|
| 790 |
+
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz#38ae84f4c04226c1d56a3b17296ef1e0460ecdfe"
|
| 791 |
+
integrity sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==
|
| 792 |
+
|
| 793 |
"@types/babel__core@^7.20.5":
|
| 794 |
version "7.20.5"
|
| 795 |
resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
|
|
|
|
| 837 |
dependencies:
|
| 838 |
"@types/estree" "*"
|
| 839 |
|
| 840 |
+
"@types/estree@*", "@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.6":
|
| 841 |
version "1.0.8"
|
| 842 |
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"
|
| 843 |
integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
|
|
|
|
| 886 |
resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
|
| 887 |
integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
|
| 888 |
|
| 889 |
+
"@types/react@^19.2.5":
|
| 890 |
version "19.2.7"
|
| 891 |
resolved "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz"
|
| 892 |
integrity sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==
|
|
|
|
| 933 |
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
|
| 934 |
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
| 935 |
|
| 936 |
+
acorn@^8.15.0:
|
| 937 |
version "8.15.0"
|
| 938 |
resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
|
| 939 |
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
|
|
|
| 1020 |
balanced-match "^1.0.0"
|
| 1021 |
concat-map "0.0.1"
|
| 1022 |
|
| 1023 |
+
browserslist@^4.24.0:
|
| 1024 |
version "4.28.1"
|
| 1025 |
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz"
|
| 1026 |
integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==
|
|
|
|
| 1191 |
resolved "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz"
|
| 1192 |
integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
|
| 1193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1194 |
debug@2.6.9:
|
| 1195 |
version "2.6.9"
|
| 1196 |
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
|
|
|
| 1198 |
dependencies:
|
| 1199 |
ms "2.0.0"
|
| 1200 |
|
| 1201 |
+
debug@^4.0.0, debug@^4.1.0, debug@^4.3.1, debug@^4.3.2:
|
| 1202 |
+
version "4.4.3"
|
| 1203 |
+
resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz"
|
| 1204 |
+
integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
|
| 1205 |
+
dependencies:
|
| 1206 |
+
ms "^2.1.3"
|
| 1207 |
+
|
| 1208 |
decode-named-character-reference@^1.0.0:
|
| 1209 |
version "1.2.0"
|
| 1210 |
resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz"
|
|
|
|
| 1217 |
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
|
| 1218 |
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
| 1219 |
|
| 1220 |
+
depd@2.0.0, depd@~2.0.0:
|
| 1221 |
version "2.0.0"
|
| 1222 |
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
|
| 1223 |
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
|
|
|
| 1227 |
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
|
| 1228 |
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
|
| 1229 |
|
| 1230 |
+
destroy@1.2.0, destroy@~1.2.0:
|
| 1231 |
version "1.2.0"
|
| 1232 |
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
|
| 1233 |
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
|
|
|
|
| 1386 |
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
|
| 1387 |
integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
|
| 1388 |
|
| 1389 |
+
eslint@^9.39.1:
|
| 1390 |
version "9.39.1"
|
| 1391 |
resolved "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz"
|
| 1392 |
integrity sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==
|
|
|
|
| 1606 |
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
|
| 1607 |
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
|
| 1608 |
|
| 1609 |
+
fuse.js@^7.1.0:
|
| 1610 |
+
version "7.1.0"
|
| 1611 |
+
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-7.1.0.tgz#306228b4befeee11e05b027087c2744158527d09"
|
| 1612 |
+
integrity sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==
|
| 1613 |
+
|
| 1614 |
gensync@^1.0.0-beta.2:
|
| 1615 |
version "1.0.0-beta.2"
|
| 1616 |
resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
|
|
|
|
| 2482 |
resolved "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz"
|
| 2483 |
integrity sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==
|
| 2484 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2485 |
ms@2.0.0:
|
| 2486 |
version "2.0.0"
|
| 2487 |
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
|
| 2488 |
integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
|
| 2489 |
|
| 2490 |
+
ms@2.1.3, ms@^2.1.3:
|
| 2491 |
+
version "2.1.3"
|
| 2492 |
+
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
|
| 2493 |
+
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
| 2494 |
+
|
| 2495 |
nanoid@^3.3.11:
|
| 2496 |
version "3.3.11"
|
| 2497 |
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
|
|
|
|
| 2620 |
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
|
| 2621 |
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
| 2622 |
|
| 2623 |
+
picomatch@^4.0.3:
|
| 2624 |
version "4.0.3"
|
| 2625 |
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
|
| 2626 |
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
|
|
|
|
| 2688 |
iconv-lite "~0.4.24"
|
| 2689 |
unpipe "~1.0.0"
|
| 2690 |
|
| 2691 |
+
react-dom@^19.2.0:
|
| 2692 |
version "19.2.3"
|
| 2693 |
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz"
|
| 2694 |
integrity sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==
|
|
|
|
| 2752 |
loose-envify "^1.4.0"
|
| 2753 |
prop-types "^15.6.2"
|
| 2754 |
|
| 2755 |
+
react@^19.2.0:
|
| 2756 |
version "19.2.3"
|
| 2757 |
resolved "https://registry.npmjs.org/react/-/react-19.2.3.tgz"
|
| 2758 |
integrity sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==
|
|
|
|
| 2909 |
resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz"
|
| 2910 |
integrity sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==
|
| 2911 |
|
| 2912 |
+
setprototypeof@1.2.0, setprototypeof@~1.2.0:
|
| 2913 |
version "1.2.0"
|
| 2914 |
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
|
| 2915 |
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
|
|
|
|
| 3194 |
"@types/unist" "^3.0.0"
|
| 3195 |
vfile-message "^4.0.0"
|
| 3196 |
|
| 3197 |
+
vite@^7.2.4:
|
| 3198 |
version "7.2.7"
|
| 3199 |
resolved "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz"
|
| 3200 |
integrity sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==
|