From 83bed562b2ee0da5f9a20a55f17c92a7f46b7df0 Mon Sep 17 00:00:00 2001 From: Anay Gupta Date: Sat, 13 Jun 2026 23:34:28 +0530 Subject: [PATCH 01/34] feat: scaffold Vite/React landing page and timetable UI - Vite + React 19 + react-router-dom setup - Landing page with hero (logo + brand card), batch selector, community-contributors scroller, repo link, footer, and floating navbar - /timetable/:batch page with topbar, content area, and pill-shaped navbar (batch selector, calendar/save/share, theme/profile actions) - Dev-only API plugins in vite.config.js: /api/contributors (GitHub Contributors via GITHUB_REPO/optional GITHUB_TOKEN) /api/batches (static pool/group list) - useNavbarPadding hook to offset content for fixed navbar - ESLint config (react-hooks, react-refresh) - .gitignore covers node_modules, build output, .env*, editor and OS files - .env.example documents GITHUB_REPO and optional GITHUB_TOKEN --- .env.example | 9 + .gitignore | 57 + eslint.config.js | 21 + index.html | 13 + package-lock.json | 2512 +++++++++++++++++++++++ package.json | 28 + public/MLSC-logo.png | Bin 0 -> 83321 bytes public/favicon.svg | 1 + public/icons.svg | 24 + src/App.css | 112 + src/App.jsx | 62 + src/assets/hero.png | Bin 0 -> 13057 bytes src/assets/react.svg | 1 + src/assets/vite.svg | 1 + src/components/BatchSelector.css | 46 + src/components/BatchSelector.jsx | 38 + src/components/ContributorsScroller.css | 113 + src/components/ContributorsScroller.jsx | 89 + src/components/Footer.css | 34 + src/components/Footer.jsx | 27 + src/components/Navbar.css | 62 + src/components/Navbar.jsx | 36 + src/hooks/useNavbarPadding.js | 15 + src/index.css | 111 + src/main.jsx | 17 + src/pages/TimetablePage.css | 181 ++ src/pages/TimetablePage.jsx | 136 ++ vite.config.js | 88 + 28 files changed, 3834 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 eslint.config.js create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/MLSC-logo.png create mode 100644 public/favicon.svg create mode 100644 public/icons.svg create mode 100644 src/App.css create mode 100644 src/App.jsx create mode 100644 src/assets/hero.png create mode 100644 src/assets/react.svg create mode 100644 src/assets/vite.svg create mode 100644 src/components/BatchSelector.css create mode 100644 src/components/BatchSelector.jsx create mode 100644 src/components/ContributorsScroller.css create mode 100644 src/components/ContributorsScroller.jsx create mode 100644 src/components/Footer.css create mode 100644 src/components/Footer.jsx create mode 100644 src/components/Navbar.css create mode 100644 src/components/Navbar.jsx create mode 100644 src/hooks/useNavbarPadding.js create mode 100644 src/index.css create mode 100644 src/main.jsx create mode 100644 src/pages/TimetablePage.css create mode 100644 src/pages/TimetablePage.jsx create mode 100644 vite.config.js diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..b2046eb --- /dev/null +++ b/.env.example @@ -0,0 +1,9 @@ +# Copy this file to .env and fill in the values. +# Used by vite.config.js to power the dev-only /api/contributors endpoint. + +# Required: GitHub repo in "owner/name" form to fetch contributors from. +GITHUB_REPO=MicrosoftStudentChapter/mlsc-timetable + +# Optional: personal access token to avoid the 60 req/hr unauthenticated rate limit. +# Use a fine-grained token with read-only "public repo" access. Keep in .env.local. +# GITHUB_TOKEN=your_token_here diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9248261 --- /dev/null +++ b/.gitignore @@ -0,0 +1,57 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +# Dependencies +node_modules +.pnp +.pnp.js + +# Build output +dist +dist-ssr +build +out +*.local + +# Vite cache +.vite + +# Environment variables (never commit secrets) +.env +.env.local +.env.development.local +.env.test.local +.env.production.local +.env.*.local + +# Coverage / test output +coverage +*.lcov +.nyc_output + +# Deployment / hosting +.vercel +.netlify + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +Thumbs.db +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# OS files +.DS_Store? +ehthumbs.db +Icon? diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..ea36dd3 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,21 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{js,jsx}'], + extends: [ + js.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + globals: globals.browser, + parserOptions: { ecmaFeatures: { jsx: true } }, + }, + }, +]) diff --git a/index.html b/index.html new file mode 100644 index 0000000..6f09a6b --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + mlsc-timetable + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1ce9d99 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2512 @@ +{ + "name": "mlsc-timetable", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mlsc-timetable", + "version": "0.0.0", + "dependencies": { + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-router-dom": "^7.17.0" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^10.3.0", + "eslint-plugin-react-hooks": "^7.1.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.6.0", + "vite": "^8.0.12" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.133.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz", + "integrity": "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", + "integrity": "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz", + "integrity": "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz", + "integrity": "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz", + "integrity": "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz", + "integrity": "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz", + "integrity": "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz", + "integrity": "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz", + "integrity": "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz", + "integrity": "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz", + "integrity": "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz", + "integrity": "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz", + "integrity": "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz", + "integrity": "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz", + "integrity": "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz", + "integrity": "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.2.tgz", + "integrity": "sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "^1.0.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.35", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.35.tgz", + "integrity": "sha512-honAfLBde0HAFLdNyBEfuuENkF6zR+ozxqxa/2zJKHBe1qzLqyTSeRKpdPEHAP03rlDGyQOPnCSxnVpVqQo9Mg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.371", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.371.tgz", + "integrity": "sha512-e9htk9mAYL6AzmkEhSvVVw7IWGSBJ/Bqdn2eRyRLrj1g6sncN4WbFt5qnILYoCktktr45pyjIrOiRvBThQ808w==", + "dev": true, + "license": "ISC" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", + "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", + "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", + "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-router": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.17.0.tgz", + "integrity": "sha512-FDELK7rTMlCHO5+reyXsPlmfr7N1F91lPHsWYfMEGQm/KQ+F4JFM8jGoeQDmDvdTs93Fw9aSilH+uKRb4/jXvQ==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.17.0.tgz", + "integrity": "sha512-fyU2yjGups/hE6Xz0I5ZYbVL8Gx29eCjgpHaRaTaVU+OOAdfRX05KsvyRm0GO8YQwOkhpU3MurW1jyMUJn+zSw==", + "license": "MIT", + "dependencies": { + "react-router": "7.17.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/rolldown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.3.tgz", + "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.133.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.3", + "@rolldown/binding-darwin-arm64": "1.0.3", + "@rolldown/binding-darwin-x64": "1.0.3", + "@rolldown/binding-freebsd-x64": "1.0.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", + "@rolldown/binding-linux-arm64-gnu": "1.0.3", + "@rolldown/binding-linux-arm64-musl": "1.0.3", + "@rolldown/binding-linux-ppc64-gnu": "1.0.3", + "@rolldown/binding-linux-s390x-gnu": "1.0.3", + "@rolldown/binding-linux-x64-gnu": "1.0.3", + "@rolldown/binding-linux-x64-musl": "1.0.3", + "@rolldown/binding-openharmony-arm64": "1.0.3", + "@rolldown/binding-wasm32-wasi": "1.0.3", + "@rolldown/binding-win32-arm64-msvc": "1.0.3", + "@rolldown/binding-win32-x64-msvc": "1.0.3" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "8.0.16", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz", + "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.3", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8d1c2f3 --- /dev/null +++ b/package.json @@ -0,0 +1,28 @@ +{ + "name": "mlsc-timetable", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-router-dom": "^7.17.0" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^10.3.0", + "eslint-plugin-react-hooks": "^7.1.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.6.0", + "vite": "^8.0.12" + } +} diff --git a/public/MLSC-logo.png b/public/MLSC-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6757c35ec2eda41f419d74050e398513084ee43f GIT binary patch literal 83321 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 jc9J$GFcl>VPWJKAxliOaggCY(?9R&* \ No newline at end of file diff --git a/public/icons.svg b/public/icons.svg new file mode 100644 index 0000000..e952219 --- /dev/null +++ b/public/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..d9a0207 --- /dev/null +++ b/src/App.css @@ -0,0 +1,112 @@ +.main { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + padding: 2.5rem 2rem; + gap: 2.5rem; +} + +.page-tagline { + font-size: 0.78rem; + font-weight: 600; + letter-spacing: 0.15em; + text-transform: uppercase; + color: var(--text); + margin: 0; + width: 100%; + padding-bottom: 1rem; + border-bottom: 1px solid var(--border); +} + +/* ── Two-column grid ── */ +.center-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1.5rem; + width: 100%; + max-width: 860px; + align-items: stretch; +} + +@media (max-width: 640px) { + .center-grid { + grid-template-columns: 1fr; + } +} + +/* LEFT */ +.left-panel { + display: flex; + align-items: center; + justify-content: center; +} + +.brand-logo { + max-width: 100%; + max-height: 280px; + object-fit: contain; +} + +/* RIGHT */ +.right-panel { + display: flex; +} + +.brand-card { + flex: 1; + border: 1px solid var(--border); + border-radius: 12px; + padding: 1.5rem; + display: flex; + flex-direction: column; + gap: 1rem; +} + +.brand-title { + font-size: 0.82rem; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--text-h); + margin: 0; +} + +.brand-logo-box { + flex: 1; + border: 1px solid var(--border); + border-radius: 8px; + padding: 1.25rem; + display: flex; + flex-direction: column; + justify-content: center; +} + +/* ── Contributors ── */ +.contributors-section { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.75rem; + width: 100%; + margin-top: auto; +} + +.short-tagline { + font-size: 0.72rem; + text-transform: uppercase; + letter-spacing: 0.12em; + color: var(--text); + margin: 0; +} + +.repo-link { + font-size: 0.82rem; + color: #0060c0; + text-decoration: none; + letter-spacing: 0.04em; +} + +.repo-link:hover { + text-decoration: underline; +} diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..28c9ce6 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,62 @@ +import { useEffect, useState } from 'react' +import Navbar from './components/Navbar' +import Footer from './components/Footer' +import ContributorsScroller from './components/ContributorsScroller' +import BatchSelector from './components/BatchSelector' +import { useNavbarPadding } from './hooks/useNavbarPadding' +import './App.css' + +function App() { + const [contributors, setContributors] = useState([]) + useNavbarPadding() + + useEffect(() => { + fetch('/api/contributors') + .then((r) => r.json()) + .then((d) => Array.isArray(d) && setContributors(d)) + .catch(() => {}) + }, []) + + return ( + <> +
+

MLSC TIMETABLE

+ +
+ {/* LEFT — logo only, no container */} +
+ MLSC Logo +
+ + {/* RIGHT — titled card with selection inside */} +
+
+

MLSC TIMETABLE ODD-SEM

+
+ +
+
+
+
+ +
+

Built by the community

+ + + Repo Link ↗ + +
+
+ + +