diff --git a/new-frontend/.eslintcache b/.eslintcache
similarity index 100%
rename from new-frontend/.eslintcache
rename to .eslintcache
diff --git a/.gitignore b/.gitignore
index 5b3075fc..111f0cad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,3 @@
-# Both
-
# Both
**/node_modules/
**/package-lock.json
@@ -16,7 +14,7 @@
**/pnpm-lock.yaml
# Frontend
-frontend/dist-ssr
+dist-ssr
*.local
# Editor directories and files
@@ -32,3 +30,7 @@ frontend/dist-ssr
# Local Netlify folder
.netlify
new-frontend/.vite/**
+
+# Sentry Config File
+.env.sentry-build-plugin
+
diff --git a/new-frontend/.husky/pre-commit b/.husky/pre-commit
similarity index 100%
rename from new-frontend/.husky/pre-commit
rename to .husky/pre-commit
diff --git a/new-frontend/.lintstagedrc b/.lintstagedrc
similarity index 100%
rename from new-frontend/.lintstagedrc
rename to .lintstagedrc
diff --git a/new-frontend/.prettierignore b/.prettierignore
similarity index 100%
rename from new-frontend/.prettierignore
rename to .prettierignore
diff --git a/new-frontend/.prettierrc b/.prettierrc
similarity index 100%
rename from new-frontend/.prettierrc
rename to .prettierrc
diff --git a/.vite/deps/_metadata.json b/.vite/deps/_metadata.json
new file mode 100644
index 00000000..12e65021
--- /dev/null
+++ b/.vite/deps/_metadata.json
@@ -0,0 +1,8 @@
+{
+ "hash": "0dc79804",
+ "configHash": "b1e6faae",
+ "lockfileHash": "2d286c57",
+ "browserHash": "9f93f16a",
+ "optimized": {},
+ "chunks": {}
+}
\ No newline at end of file
diff --git a/.vite/deps/package.json b/.vite/deps/package.json
new file mode 100644
index 00000000..3dbc1ca5
--- /dev/null
+++ b/.vite/deps/package.json
@@ -0,0 +1,3 @@
+{
+ "type": "module"
+}
diff --git a/README.md b/README.md
index c8c7a993..52dbf945 100644
--- a/README.md
+++ b/README.md
@@ -4,28 +4,18 @@
## Overview
-TODO: Rewrite
+The Welcome Collective Inventory Frontend is an inventory management application for the Welcome Collective. The application allows volunteers and management to easily manage incoming and outgoing donations.
## Project Structure
```txt
web-collective-inventory/
-├── new-frontend/
-│ ├── src/
-│ ├── package.json
-│ └── README.md
-
+│
+├── src/
+├── package.json
+└── README.md
```
-## Technologies Used
-
-### Frontend
-
-- Vite.js
-- React
-- React Query
-- TypeScript
-
## Getting Started
### Prerequisites
@@ -35,18 +25,50 @@ web-collective-inventory/
### Setting Up the Frontend
-1. Navigate to the frontend directory:
+1. clone the repo
+```bash
+git clone https://github.com/hack4impact-mcgill/wc-inventory.git
+cd new-frontend
+```
+
+2. Install the dependencies for the project:
```bash
-cd frontend
+npm install
```
-2. Follow the installation instructions in the FE README.
+3. Run the development server:
+
+```bash
+npm run dev
+```
+The app should now be running on [localhost:3000](http://localhost:3000).
+
+## Project Structure
+
+- **`/assets`**: Static assets used across the application.
+- **`/components`**: Reusable UI components.
+- **`/contexts`**: Contexts for application-wide state management, such as authentication.
+- **`/features`**: Grouped features for distinct sections,
+ such as `admin-dashboard` and `volunteer-dashboard`.
+- **`/hooks`**: Custom hooks to abstract common logic.
+- **`/lib`**: Utility files, including API functions.
+- **`/providers`**: Providers for third-party libraries,
+ including React Query and our Router.
+- **`/types`**: Type definitions for structured data and our supabase exported schema.
+
+
+## Technologies
+
+- **Supabase**: Used for DB and authentication services.
+ For more information, visit [Supabase](https://supabase.com/).
+- **TailwindCSS**: Utility-first CSS framework for styling.
+ For more information, visit [TailwindCSS](https://tailwindcss.com/).
+- **shadcn/ui**: Styled component library providing reusable UI elements,
+ built on top of TailwindCSS.
+ Learn more at [shadcn](https://shadcn.dev/).
-## Development Workflow
-1. Start the FE development server.
-2. Access the application via Browser (usually `http://localhost:3000`).
## Contributing
@@ -57,3 +79,32 @@ cd frontend
5. Push your changes and create a pull request.
6. Code Review
7. Merge into Dev
+
+
+
+
+## Contributing
+
+1. **Fork the repository** and create a story branch, where # is the number of your ticket:
+
+ ```bash
+ git checkout -b WC-##
+ ```
+
+2. **Stage and commit your changes**:
+
+ ```bash
+ git add .
+ git commit -m "[WC-#] Add your feature"
+ ```
+
+3. **Write or update tests as necessary**.
+
+4. **Push to your branch** and then create a pull request:
+
+ ```bash
+ git push origin WC-#
+ ```
+
+5. **Code Review and Merge**
+
diff --git a/new-frontend/components.json b/components.json
similarity index 100%
rename from new-frontend/components.json
rename to components.json
diff --git a/exercises/todo-list/.gitignore b/exercises/todo-list/.gitignore
deleted file mode 100644
index a547bf36..00000000
--- a/exercises/todo-list/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
diff --git a/exercises/todo-list/README.md b/exercises/todo-list/README.md
deleted file mode 100644
index 74872fd4..00000000
--- a/exercises/todo-list/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# React + TypeScript + Vite
-
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
-
-Currently, two official plugins are available:
-
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
-
-## Expanding the ESLint configuration
-
-If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
-
-- Configure the top-level `parserOptions` property like this:
-
-```js
-export default tseslint.config({
- languageOptions: {
- // other options...
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- },
-})
-```
-
-- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
-- Optionally add `...tseslint.configs.stylisticTypeChecked`
-- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
-
-```js
-// eslint.config.js
-import react from 'eslint-plugin-react'
-
-export default tseslint.config({
- // Set the react version
- settings: { react: { version: '18.3' } },
- plugins: {
- // Add the react plugin
- react,
- },
- rules: {
- // other rules...
- // Enable its recommended rules
- ...react.configs.recommended.rules,
- ...react.configs['jsx-runtime'].rules,
- },
-})
-```
diff --git a/exercises/todo-list/components.json b/exercises/todo-list/components.json
deleted file mode 100644
index eb219ffa..00000000
--- a/exercises/todo-list/components.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "$schema": "https://ui.shadcn.com/schema.json",
- "style": "new-york",
- "rsc": false,
- "tsx": true,
- "tailwind": {
- "config": "tailwind.config.js",
- "css": "src/index.css",
- "baseColor": "stone",
- "cssVariables": false,
- "prefix": ""
- },
- "aliases": {
- "components": "@/components",
- "utils": "@/lib/utils",
- "ui": "@/components/ui",
- "lib": "@/lib",
- "hooks": "@/hooks"
- },
- "iconLibrary": "lucide"
-}
\ No newline at end of file
diff --git a/exercises/todo-list/eslint.config.js b/exercises/todo-list/eslint.config.js
deleted file mode 100644
index 092408a9..00000000
--- a/exercises/todo-list/eslint.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import js from '@eslint/js'
-import globals from 'globals'
-import reactHooks from 'eslint-plugin-react-hooks'
-import reactRefresh from 'eslint-plugin-react-refresh'
-import tseslint from 'typescript-eslint'
-
-export default tseslint.config(
- { ignores: ['dist'] },
- {
- extends: [js.configs.recommended, ...tseslint.configs.recommended],
- files: ['**/*.{ts,tsx}'],
- languageOptions: {
- ecmaVersion: 2020,
- globals: globals.browser,
- },
- plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- 'react-refresh/only-export-components': [
- 'warn',
- { allowConstantExport: true },
- ],
- },
- },
-)
diff --git a/exercises/todo-list/index.html b/exercises/todo-list/index.html
deleted file mode 100644
index 6152a646..00000000
--- a/exercises/todo-list/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
- WC Inventory
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/exercises/todo-list/package.json b/exercises/todo-list/package.json
deleted file mode 100644
index 4131ae3f..00000000
--- a/exercises/todo-list/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "todo-list",
- "private": true,
- "version": "0.0.0",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "tsc -b && vite build",
- "lint": "eslint .",
- "preview": "vite preview"
- },
- "dependencies": {
- "@radix-ui/react-checkbox": "^1.1.3",
- "@radix-ui/react-slot": "^1.1.1",
- "@supabase/supabase-js": "^2.47.16",
- "@tanstack/react-query": "4",
- "@tanstack/react-query-devtools": "4",
- "class-variance-authority": "^0.7.1",
- "clsx": "^2.1.1",
- "lucide-react": "^0.471.1",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "tailwind-merge": "^2.6.0",
- "tailwindcss-animate": "^1.0.7"
- },
- "devDependencies": {
- "@eslint/js": "^9.17.0",
- "@types/node": "^22.10.6",
- "@types/react": "^18.3.18",
- "@types/react-dom": "^18.3.5",
- "@vitejs/plugin-react": "^4.3.4",
- "autoprefixer": "^10.4.20",
- "eslint": "^9.17.0",
- "eslint-plugin-react-hooks": "^5.0.0",
- "eslint-plugin-react-refresh": "^0.4.16",
- "globals": "^15.14.0",
- "postcss": "^8.5.1",
- "tailwindcss": "^3.4.17",
- "typescript": "~5.6.2",
- "typescript-eslint": "^8.18.2",
- "vite": "^6.0.5"
- }
-}
diff --git a/exercises/todo-list/pnpm-lock.yaml b/exercises/todo-list/pnpm-lock.yaml
deleted file mode 100644
index ccfbb981..00000000
--- a/exercises/todo-list/pnpm-lock.yaml
+++ /dev/null
@@ -1,2938 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- '@radix-ui/react-checkbox':
- specifier: ^1.1.3
- version: 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot':
- specifier: ^1.1.1
- version: 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@tanstack/react-query':
- specifier: '4'
- version: 4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@tanstack/react-query-devtools':
- specifier: '4'
- version: 4.36.1(@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- class-variance-authority:
- specifier: ^0.7.1
- version: 0.7.1
- clsx:
- specifier: ^2.1.1
- version: 2.1.1
- lucide-react:
- specifier: ^0.471.1
- version: 0.471.1(react@18.3.1)
- react:
- specifier: ^18.3.1
- version: 18.3.1
- react-dom:
- specifier: ^18.3.1
- version: 18.3.1(react@18.3.1)
- tailwind-merge:
- specifier: ^2.6.0
- version: 2.6.0
- tailwindcss-animate:
- specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.17)
- devDependencies:
- '@eslint/js':
- specifier: ^9.17.0
- version: 9.18.0
- '@types/node':
- specifier: ^22.10.6
- version: 22.10.6
- '@types/react':
- specifier: ^18.3.18
- version: 18.3.18
- '@types/react-dom':
- specifier: ^18.3.5
- version: 18.3.5(@types/react@18.3.18)
- '@vitejs/plugin-react':
- specifier: ^4.3.4
- version: 4.3.4(vite@6.0.7(@types/node@22.10.6)(jiti@1.21.7)(yaml@2.7.0))
- autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.5.1)
- eslint:
- specifier: ^9.17.0
- version: 9.18.0(jiti@1.21.7)
- eslint-plugin-react-hooks:
- specifier: ^5.0.0
- version: 5.1.0(eslint@9.18.0(jiti@1.21.7))
- eslint-plugin-react-refresh:
- specifier: ^0.4.16
- version: 0.4.18(eslint@9.18.0(jiti@1.21.7))
- globals:
- specifier: ^15.14.0
- version: 15.14.0
- postcss:
- specifier: ^8.5.1
- version: 8.5.1
- tailwindcss:
- specifier: ^3.4.17
- version: 3.4.17
- typescript:
- specifier: ~5.6.2
- version: 5.6.3
- typescript-eslint:
- specifier: ^8.18.2
- version: 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- vite:
- specifier: ^6.0.5
- version: 6.0.7(@types/node@22.10.6)(jiti@1.21.7)(yaml@2.7.0)
-
-packages:
-
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
-
- '@babel/code-frame@7.26.2':
- resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/compat-data@7.26.5':
- resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.26.0':
- resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.26.5':
- resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-compilation-targets@7.26.5':
- resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.25.9':
- resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-transforms@7.26.0':
- resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-plugin-utils@7.26.5':
- resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-option@7.25.9':
- resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helpers@7.26.0':
- resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.26.5':
- resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/plugin-transform-react-jsx-self@7.25.9':
- resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-react-jsx-source@7.25.9':
- resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/template@7.25.9':
- resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/traverse@7.26.5':
- resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/types@7.26.5':
- resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==}
- engines: {node: '>=6.9.0'}
-
- '@esbuild/aix-ppc64@0.24.2':
- resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.24.2':
- resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.24.2':
- resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.24.2':
- resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.24.2':
- resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.24.2':
- resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.24.2':
- resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.24.2':
- resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.24.2':
- resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.24.2':
- resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.24.2':
- resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.24.2':
- resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.24.2':
- resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.24.2':
- resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.24.2':
- resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.24.2':
- resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.24.2':
- resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-arm64@0.24.2':
- resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.24.2':
- resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.24.2':
- resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.24.2':
- resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.24.2':
- resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.24.2':
- resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.24.2':
- resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.24.2':
- resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@eslint-community/eslint-utils@4.4.1':
- resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
- '@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/config-array@0.19.1':
- resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.10.0':
- resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/eslintrc@3.2.0':
- resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/js@9.18.0':
- resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/object-schema@2.1.5':
- resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/plugin-kit@0.2.5':
- resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@humanfs/core@0.19.1':
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
-
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
- engines: {node: '>=18.18.0'}
-
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
-
- '@humanwhocodes/retry@0.4.1':
- resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
- engines: {node: '>=18.18'}
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/gen-mapping@0.3.8':
- resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@radix-ui/primitive@1.1.1':
- resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
-
- '@radix-ui/react-checkbox@1.1.3':
- resolution: {integrity: sha512-HD7/ocp8f1B3e6OHygH0n7ZKjONkhciy1Nh0yuBgObqThc3oyx+vuMfFHKAknXRHHWVE9XvXStxJFyjUmB8PIw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-compose-refs@1.1.1':
- resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-context@1.1.1':
- resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-presence@1.1.2':
- resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-primitive@2.0.1':
- resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
- '@radix-ui/react-slot@1.1.1':
- resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-callback-ref@1.1.0':
- resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-controllable-state@1.1.0':
- resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-layout-effect@1.1.0':
- resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-previous@1.1.0':
- resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@radix-ui/react-use-size@1.1.0':
- resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@rollup/rollup-android-arm-eabi@4.30.1':
- resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==}
- cpu: [arm]
- os: [android]
-
- '@rollup/rollup-android-arm64@4.30.1':
- resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==}
- cpu: [arm64]
- os: [android]
-
- '@rollup/rollup-darwin-arm64@4.30.1':
- resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==}
- cpu: [arm64]
- os: [darwin]
-
- '@rollup/rollup-darwin-x64@4.30.1':
- resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==}
- cpu: [x64]
- os: [darwin]
-
- '@rollup/rollup-freebsd-arm64@4.30.1':
- resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==}
- cpu: [arm64]
- os: [freebsd]
-
- '@rollup/rollup-freebsd-x64@4.30.1':
- resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==}
- cpu: [x64]
- os: [freebsd]
-
- '@rollup/rollup-linux-arm-gnueabihf@4.30.1':
- resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm-musleabihf@4.30.1':
- resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-gnu@4.30.1':
- resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-musl@4.30.1':
- resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-loongarch64-gnu@4.30.1':
- resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==}
- cpu: [loong64]
- os: [linux]
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.30.1':
- resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==}
- cpu: [ppc64]
- os: [linux]
-
- '@rollup/rollup-linux-riscv64-gnu@4.30.1':
- resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==}
- cpu: [riscv64]
- os: [linux]
-
- '@rollup/rollup-linux-s390x-gnu@4.30.1':
- resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==}
- cpu: [s390x]
- os: [linux]
-
- '@rollup/rollup-linux-x64-gnu@4.30.1':
- resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-linux-x64-musl@4.30.1':
- resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-win32-arm64-msvc@4.30.1':
- resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.30.1':
- resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.30.1':
- resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==}
- cpu: [x64]
- os: [win32]
-
- '@tanstack/match-sorter-utils@8.19.4':
- resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
- engines: {node: '>=12'}
-
- '@tanstack/query-core@4.36.1':
- resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==}
-
- '@tanstack/react-query-devtools@4.36.1':
- resolution: {integrity: sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==}
- peerDependencies:
- '@tanstack/react-query': ^4.36.1
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
-
- '@tanstack/react-query@4.36.1':
- resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-native: '*'
- peerDependenciesMeta:
- react-dom:
- optional: true
- react-native:
- optional: true
-
- '@types/babel__core@7.20.5':
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
-
- '@types/babel__generator@7.6.8':
- resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
-
- '@types/babel__template@7.4.4':
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
-
- '@types/babel__traverse@7.20.6':
- resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
-
- '@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
-
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
- '@types/node@22.10.6':
- resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==}
-
- '@types/prop-types@15.7.14':
- resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
-
- '@types/react-dom@18.3.5':
- resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==}
- peerDependencies:
- '@types/react': ^18.0.0
-
- '@types/react@18.3.18':
- resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==}
-
- '@typescript-eslint/eslint-plugin@8.20.0':
- resolution: {integrity: sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/parser@8.20.0':
- resolution: {integrity: sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/scope-manager@8.20.0':
- resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/type-utils@8.20.0':
- resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/types@8.20.0':
- resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@8.20.0':
- resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/utils@8.20.0':
- resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/visitor-keys@8.20.0':
- resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@vitejs/plugin-react@4.3.4':
- resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0
-
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
-
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
-
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
- autoprefixer@10.4.20:
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.24.4:
- resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
- camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- caniuse-lite@1.0.30001692:
- resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==}
-
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- class-variance-authority@0.7.1:
- resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
-
- clsx@2.1.1:
- resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
- engines: {node: '>=6'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
-
- copy-anything@3.0.5:
- resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
- engines: {node: '>=12.13'}
-
- cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
-
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- debug@4.4.0:
- resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
-
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- electron-to-chromium@1.5.82:
- resolution: {integrity: sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==}
-
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- esbuild@0.24.2:
- resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-plugin-react-hooks@5.1.0:
- resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
- engines: {node: '>=10'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
-
- eslint-plugin-react-refresh@0.4.18:
- resolution: {integrity: sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==}
- peerDependencies:
- eslint: '>=8.40'
-
- eslint-scope@8.2.0:
- resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint@9.18.0:
- resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
-
- espree@10.3.0:
- resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
-
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
-
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
- fast-glob@3.3.3:
- resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
- engines: {node: '>=8.6.0'}
-
- fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
-
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
-
- fastq@1.18.0:
- resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
-
- file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
-
- flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
-
- flatted@3.3.2:
- resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
-
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
-
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
- globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
-
- globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
-
- globals@15.14.0:
- resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
- engines: {node: '>=18'}
-
- graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
-
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
- ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
-
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
-
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-core-module@2.16.1:
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
- engines: {node: '>= 0.4'}
-
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- is-what@4.1.16:
- resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
- engines: {node: '>=12.13'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
- jiti@1.21.7:
- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
- hasBin: true
-
- js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
-
- jsesc@3.1.0:
- resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
- engines: {node: '>=6'}
- hasBin: true
-
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
-
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
-
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
-
- json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
- keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
-
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
-
- lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
-
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
-
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
-
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
- lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
-
- lucide-react@0.471.1:
- resolution: {integrity: sha512-syOxwPhf62gg2YOsz72HRn+CIpeudFy67AeKnSR8Hn/fIIF4ubhNbRF+pQ2CaJrl+X9Os4PL87z2DXQi3DVeDA==}
- peerDependencies:
- react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
-
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
-
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
- node-releases@2.0.19:
- resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
- optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
-
- p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
-
- p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
-
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
-
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.5.1:
- resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
- engines: {node: ^10 || ^12 || >=14}
-
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
- peerDependencies:
- react: ^18.3.1
-
- react-refresh@0.14.2:
- resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
- engines: {node: '>=0.10.0'}
-
- react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
-
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- remove-accents@0.5.0:
- resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==}
-
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
-
- resolve@1.22.10:
- resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
- engines: {node: '>= 0.4'}
- hasBin: true
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- rollup@4.30.1:
- resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
-
- semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
-
- semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
- engines: {node: '>=10'}
- hasBin: true
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
-
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
-
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
- superjson@1.13.3:
- resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==}
- engines: {node: '>=10'}
-
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- tailwind-merge@2.6.0:
- resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
-
- tailwindcss-animate@1.0.7:
- resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || insiders'
-
- tailwindcss@3.4.17:
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- ts-api-utils@2.0.0:
- resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
-
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
-
- typescript-eslint@8.20.0:
- resolution: {integrity: sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- typescript@5.6.3:
- resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- undici-types@6.20.0:
- resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
-
- update-browserslist-db@1.1.2:
- resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
-
- use-sync-external-store@1.4.0:
- resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- vite@6.0.7:
- resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
- jiti: '>=1.21.0'
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- sass-embedded: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.16.0
- tsx: ^4.8.1
- yaml: ^2.4.2
- peerDependenciesMeta:
- '@types/node':
- optional: true
- jiti:
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- tsx:
- optional: true
- yaml:
- optional: true
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
-
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
- yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
-
- yaml@2.7.0:
- resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
- engines: {node: '>= 14'}
- hasBin: true
-
- yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
-
-snapshots:
-
- '@alloc/quick-lru@5.2.0': {}
-
- '@ampproject/remapping@2.3.0':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
-
- '@babel/code-frame@7.26.2':
- dependencies:
- '@babel/helper-validator-identifier': 7.25.9
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
- '@babel/compat-data@7.26.5': {}
-
- '@babel/core@7.26.0':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.5
- '@babel/helper-compilation-targets': 7.26.5
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
- '@babel/helpers': 7.26.0
- '@babel/parser': 7.26.5
- '@babel/template': 7.25.9
- '@babel/traverse': 7.26.5
- '@babel/types': 7.26.5
- convert-source-map: 2.0.0
- debug: 4.4.0
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/generator@7.26.5':
- dependencies:
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
- '@jridgewell/gen-mapping': 0.3.8
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.1.0
-
- '@babel/helper-compilation-targets@7.26.5':
- dependencies:
- '@babel/compat-data': 7.26.5
- '@babel/helper-validator-option': 7.25.9
- browserslist: 4.24.4
- lru-cache: 5.1.1
- semver: 6.3.1
-
- '@babel/helper-module-imports@7.25.9':
- dependencies:
- '@babel/traverse': 7.26.5
- '@babel/types': 7.26.5
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-module-imports': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.5
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-plugin-utils@7.26.5': {}
-
- '@babel/helper-string-parser@7.25.9': {}
-
- '@babel/helper-validator-identifier@7.25.9': {}
-
- '@babel/helper-validator-option@7.25.9': {}
-
- '@babel/helpers@7.26.0':
- dependencies:
- '@babel/template': 7.25.9
- '@babel/types': 7.26.5
-
- '@babel/parser@7.26.5':
- dependencies:
- '@babel/types': 7.26.5
-
- '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-plugin-utils': 7.26.5
-
- '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/helper-plugin-utils': 7.26.5
-
- '@babel/template@7.25.9':
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
-
- '@babel/traverse@7.26.5':
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.5
- '@babel/parser': 7.26.5
- '@babel/template': 7.25.9
- '@babel/types': 7.26.5
- debug: 4.4.0
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
- '@babel/types@7.26.5':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
- '@esbuild/aix-ppc64@0.24.2':
- optional: true
-
- '@esbuild/android-arm64@0.24.2':
- optional: true
-
- '@esbuild/android-arm@0.24.2':
- optional: true
-
- '@esbuild/android-x64@0.24.2':
- optional: true
-
- '@esbuild/darwin-arm64@0.24.2':
- optional: true
-
- '@esbuild/darwin-x64@0.24.2':
- optional: true
-
- '@esbuild/freebsd-arm64@0.24.2':
- optional: true
-
- '@esbuild/freebsd-x64@0.24.2':
- optional: true
-
- '@esbuild/linux-arm64@0.24.2':
- optional: true
-
- '@esbuild/linux-arm@0.24.2':
- optional: true
-
- '@esbuild/linux-ia32@0.24.2':
- optional: true
-
- '@esbuild/linux-loong64@0.24.2':
- optional: true
-
- '@esbuild/linux-mips64el@0.24.2':
- optional: true
-
- '@esbuild/linux-ppc64@0.24.2':
- optional: true
-
- '@esbuild/linux-riscv64@0.24.2':
- optional: true
-
- '@esbuild/linux-s390x@0.24.2':
- optional: true
-
- '@esbuild/linux-x64@0.24.2':
- optional: true
-
- '@esbuild/netbsd-arm64@0.24.2':
- optional: true
-
- '@esbuild/netbsd-x64@0.24.2':
- optional: true
-
- '@esbuild/openbsd-arm64@0.24.2':
- optional: true
-
- '@esbuild/openbsd-x64@0.24.2':
- optional: true
-
- '@esbuild/sunos-x64@0.24.2':
- optional: true
-
- '@esbuild/win32-arm64@0.24.2':
- optional: true
-
- '@esbuild/win32-ia32@0.24.2':
- optional: true
-
- '@esbuild/win32-x64@0.24.2':
- optional: true
-
- '@eslint-community/eslint-utils@4.4.1(eslint@9.18.0(jiti@1.21.7))':
- dependencies:
- eslint: 9.18.0(jiti@1.21.7)
- eslint-visitor-keys: 3.4.3
-
- '@eslint-community/regexpp@4.12.1': {}
-
- '@eslint/config-array@0.19.1':
- dependencies:
- '@eslint/object-schema': 2.1.5
- debug: 4.4.0
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/core@0.10.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/eslintrc@3.2.0':
- dependencies:
- ajv: 6.12.6
- debug: 4.4.0
- espree: 10.3.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/js@9.18.0': {}
-
- '@eslint/object-schema@2.1.5': {}
-
- '@eslint/plugin-kit@0.2.5':
- dependencies:
- '@eslint/core': 0.10.0
- levn: 0.4.1
-
- '@humanfs/core@0.19.1': {}
-
- '@humanfs/node@0.16.6':
- dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
-
- '@humanwhocodes/module-importer@1.0.1': {}
-
- '@humanwhocodes/retry@0.3.1': {}
-
- '@humanwhocodes/retry@0.4.1': {}
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@jridgewell/gen-mapping@0.3.8':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.18.0
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@radix-ui/primitive@1.1.1': {}
-
- '@radix-ui/react-checkbox@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.1
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-primitive@2.0.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
-
- '@radix-ui/react-slot@1.1.1(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)':
- dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.18
-
- '@rollup/rollup-android-arm-eabi@4.30.1':
- optional: true
-
- '@rollup/rollup-android-arm64@4.30.1':
- optional: true
-
- '@rollup/rollup-darwin-arm64@4.30.1':
- optional: true
-
- '@rollup/rollup-darwin-x64@4.30.1':
- optional: true
-
- '@rollup/rollup-freebsd-arm64@4.30.1':
- optional: true
-
- '@rollup/rollup-freebsd-x64@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-arm-gnueabihf@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-arm-musleabihf@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-arm64-gnu@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-arm64-musl@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-loongarch64-gnu@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-riscv64-gnu@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-s390x-gnu@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-x64-gnu@4.30.1':
- optional: true
-
- '@rollup/rollup-linux-x64-musl@4.30.1':
- optional: true
-
- '@rollup/rollup-win32-arm64-msvc@4.30.1':
- optional: true
-
- '@rollup/rollup-win32-ia32-msvc@4.30.1':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.30.1':
- optional: true
-
- '@tanstack/match-sorter-utils@8.19.4':
- dependencies:
- remove-accents: 0.5.0
-
- '@tanstack/query-core@4.36.1': {}
-
- '@tanstack/react-query-devtools@4.36.1(@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@tanstack/match-sorter-utils': 8.19.4
- '@tanstack/react-query': 4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- superjson: 1.13.3
- use-sync-external-store: 1.4.0(react@18.3.1)
-
- '@tanstack/react-query@4.36.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@tanstack/query-core': 4.36.1
- react: 18.3.1
- use-sync-external-store: 1.4.0(react@18.3.1)
- optionalDependencies:
- react-dom: 18.3.1(react@18.3.1)
-
- '@types/babel__core@7.20.5':
- dependencies:
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
- '@types/babel__generator': 7.6.8
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.20.6
-
- '@types/babel__generator@7.6.8':
- dependencies:
- '@babel/types': 7.26.5
-
- '@types/babel__template@7.4.4':
- dependencies:
- '@babel/parser': 7.26.5
- '@babel/types': 7.26.5
-
- '@types/babel__traverse@7.20.6':
- dependencies:
- '@babel/types': 7.26.5
-
- '@types/estree@1.0.6': {}
-
- '@types/json-schema@7.0.15': {}
-
- '@types/node@22.10.6':
- dependencies:
- undici-types: 6.20.0
-
- '@types/prop-types@15.7.14': {}
-
- '@types/react-dom@18.3.5(@types/react@18.3.18)':
- dependencies:
- '@types/react': 18.3.18
-
- '@types/react@18.3.18':
- dependencies:
- '@types/prop-types': 15.7.14
- csstype: 3.1.3
-
- '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.20.0
- '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.20.0
- eslint: 9.18.0(jiti@1.21.7)
- graphemer: 1.4.0
- ignore: 5.3.2
- natural-compare: 1.4.0
- ts-api-utils: 2.0.0(typescript@5.6.3)
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.20.0
- '@typescript-eslint/types': 8.20.0
- '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.20.0
- debug: 4.4.0
- eslint: 9.18.0(jiti@1.21.7)
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/scope-manager@8.20.0':
- dependencies:
- '@typescript-eslint/types': 8.20.0
- '@typescript-eslint/visitor-keys': 8.20.0
-
- '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)':
- dependencies:
- '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.6.3)
- '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- debug: 4.4.0
- eslint: 9.18.0(jiti@1.21.7)
- ts-api-utils: 2.0.0(typescript@5.6.3)
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/types@8.20.0': {}
-
- '@typescript-eslint/typescript-estree@8.20.0(typescript@5.6.3)':
- dependencies:
- '@typescript-eslint/types': 8.20.0
- '@typescript-eslint/visitor-keys': 8.20.0
- debug: 4.4.0
- fast-glob: 3.3.3
- is-glob: 4.0.3
- minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 2.0.0(typescript@5.6.3)
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@1.21.7))
- '@typescript-eslint/scope-manager': 8.20.0
- '@typescript-eslint/types': 8.20.0
- '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.6.3)
- eslint: 9.18.0(jiti@1.21.7)
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/visitor-keys@8.20.0':
- dependencies:
- '@typescript-eslint/types': 8.20.0
- eslint-visitor-keys: 4.2.0
-
- '@vitejs/plugin-react@4.3.4(vite@6.0.7(@types/node@22.10.6)(jiti@1.21.7)(yaml@2.7.0))':
- dependencies:
- '@babel/core': 7.26.0
- '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
- '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
- '@types/babel__core': 7.20.5
- react-refresh: 0.14.2
- vite: 6.0.7(@types/node@22.10.6)(jiti@1.21.7)(yaml@2.7.0)
- transitivePeerDependencies:
- - supports-color
-
- acorn-jsx@5.3.2(acorn@8.14.0):
- dependencies:
- acorn: 8.14.0
-
- acorn@8.14.0: {}
-
- ajv@6.12.6:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.1.0: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- ansi-styles@6.2.1: {}
-
- any-promise@1.3.0: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- arg@5.0.2: {}
-
- argparse@2.0.1: {}
-
- autoprefixer@10.4.20(postcss@8.5.1):
- dependencies:
- browserslist: 4.24.4
- caniuse-lite: 1.0.30001692
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
-
- balanced-match@1.0.2: {}
-
- binary-extensions@2.3.0: {}
-
- brace-expansion@1.1.11:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- brace-expansion@2.0.1:
- dependencies:
- balanced-match: 1.0.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- browserslist@4.24.4:
- dependencies:
- caniuse-lite: 1.0.30001692
- electron-to-chromium: 1.5.82
- node-releases: 2.0.19
- update-browserslist-db: 1.1.2(browserslist@4.24.4)
-
- callsites@3.1.0: {}
-
- camelcase-css@2.0.1: {}
-
- caniuse-lite@1.0.30001692: {}
-
- chalk@4.1.2:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
- class-variance-authority@0.7.1:
- dependencies:
- clsx: 2.1.1
-
- clsx@2.1.1: {}
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- commander@4.1.1: {}
-
- concat-map@0.0.1: {}
-
- convert-source-map@2.0.0: {}
-
- copy-anything@3.0.5:
- dependencies:
- is-what: 4.1.16
-
- cross-spawn@7.0.6:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- cssesc@3.0.0: {}
-
- csstype@3.1.3: {}
-
- debug@4.4.0:
- dependencies:
- ms: 2.1.3
-
- deep-is@0.1.4: {}
-
- didyoumean@1.2.2: {}
-
- dlv@1.1.3: {}
-
- eastasianwidth@0.2.0: {}
-
- electron-to-chromium@1.5.82: {}
-
- emoji-regex@8.0.0: {}
-
- emoji-regex@9.2.2: {}
-
- esbuild@0.24.2:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.24.2
- '@esbuild/android-arm': 0.24.2
- '@esbuild/android-arm64': 0.24.2
- '@esbuild/android-x64': 0.24.2
- '@esbuild/darwin-arm64': 0.24.2
- '@esbuild/darwin-x64': 0.24.2
- '@esbuild/freebsd-arm64': 0.24.2
- '@esbuild/freebsd-x64': 0.24.2
- '@esbuild/linux-arm': 0.24.2
- '@esbuild/linux-arm64': 0.24.2
- '@esbuild/linux-ia32': 0.24.2
- '@esbuild/linux-loong64': 0.24.2
- '@esbuild/linux-mips64el': 0.24.2
- '@esbuild/linux-ppc64': 0.24.2
- '@esbuild/linux-riscv64': 0.24.2
- '@esbuild/linux-s390x': 0.24.2
- '@esbuild/linux-x64': 0.24.2
- '@esbuild/netbsd-arm64': 0.24.2
- '@esbuild/netbsd-x64': 0.24.2
- '@esbuild/openbsd-arm64': 0.24.2
- '@esbuild/openbsd-x64': 0.24.2
- '@esbuild/sunos-x64': 0.24.2
- '@esbuild/win32-arm64': 0.24.2
- '@esbuild/win32-ia32': 0.24.2
- '@esbuild/win32-x64': 0.24.2
-
- escalade@3.2.0: {}
-
- escape-string-regexp@4.0.0: {}
-
- eslint-plugin-react-hooks@5.1.0(eslint@9.18.0(jiti@1.21.7)):
- dependencies:
- eslint: 9.18.0(jiti@1.21.7)
-
- eslint-plugin-react-refresh@0.4.18(eslint@9.18.0(jiti@1.21.7)):
- dependencies:
- eslint: 9.18.0(jiti@1.21.7)
-
- eslint-scope@8.2.0:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
- eslint-visitor-keys@3.4.3: {}
-
- eslint-visitor-keys@4.2.0: {}
-
- eslint@9.18.0(jiti@1.21.7):
- dependencies:
- '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@1.21.7))
- '@eslint-community/regexpp': 4.12.1
- '@eslint/config-array': 0.19.1
- '@eslint/core': 0.10.0
- '@eslint/eslintrc': 3.2.0
- '@eslint/js': 9.18.0
- '@eslint/plugin-kit': 0.2.5
- '@humanfs/node': 0.16.6
- '@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.1
- '@types/estree': 1.0.6
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.0
- escape-string-regexp: 4.0.0
- eslint-scope: 8.2.0
- eslint-visitor-keys: 4.2.0
- espree: 10.3.0
- esquery: 1.6.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 8.0.0
- find-up: 5.0.0
- glob-parent: 6.0.2
- ignore: 5.3.2
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.4
- optionalDependencies:
- jiti: 1.21.7
- transitivePeerDependencies:
- - supports-color
-
- espree@10.3.0:
- dependencies:
- acorn: 8.14.0
- acorn-jsx: 5.3.2(acorn@8.14.0)
- eslint-visitor-keys: 4.2.0
-
- esquery@1.6.0:
- dependencies:
- estraverse: 5.3.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@5.3.0: {}
-
- esutils@2.0.3: {}
-
- fast-deep-equal@3.1.3: {}
-
- fast-glob@3.3.3:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
- fast-json-stable-stringify@2.1.0: {}
-
- fast-levenshtein@2.0.6: {}
-
- fastq@1.18.0:
- dependencies:
- reusify: 1.0.4
-
- file-entry-cache@8.0.0:
- dependencies:
- flat-cache: 4.0.1
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- find-up@5.0.0:
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
-
- flat-cache@4.0.1:
- dependencies:
- flatted: 3.3.2
- keyv: 4.5.4
-
- flatted@3.3.2: {}
-
- foreground-child@3.3.0:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
- fraction.js@4.3.7: {}
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- gensync@1.0.0-beta.2: {}
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@10.4.5:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
- globals@11.12.0: {}
-
- globals@14.0.0: {}
-
- globals@15.14.0: {}
-
- graphemer@1.4.0: {}
-
- has-flag@4.0.0: {}
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- ignore@5.3.2: {}
-
- import-fresh@3.3.0:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
- imurmurhash@0.1.4: {}
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-core-module@2.16.1:
- dependencies:
- hasown: 2.0.2
-
- is-extglob@2.1.1: {}
-
- is-fullwidth-code-point@3.0.0: {}
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-number@7.0.0: {}
-
- is-what@4.1.16: {}
-
- isexe@2.0.0: {}
-
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
- jiti@1.21.7: {}
-
- js-tokens@4.0.0: {}
-
- js-yaml@4.1.0:
- dependencies:
- argparse: 2.0.1
-
- jsesc@3.1.0: {}
-
- json-buffer@3.0.1: {}
-
- json-schema-traverse@0.4.1: {}
-
- json-stable-stringify-without-jsonify@1.0.1: {}
-
- json5@2.2.3: {}
-
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
-
- levn@0.4.1:
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
-
- lilconfig@3.1.3: {}
-
- lines-and-columns@1.2.4: {}
-
- locate-path@6.0.0:
- dependencies:
- p-locate: 5.0.0
-
- lodash.merge@4.6.2: {}
-
- loose-envify@1.4.0:
- dependencies:
- js-tokens: 4.0.0
-
- lru-cache@10.4.3: {}
-
- lru-cache@5.1.1:
- dependencies:
- yallist: 3.1.1
-
- lucide-react@0.471.1(react@18.3.1):
- dependencies:
- react: 18.3.1
-
- merge2@1.4.1: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.1
-
- minipass@7.1.2: {}
-
- ms@2.1.3: {}
-
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
- nanoid@3.3.8: {}
-
- natural-compare@1.4.0: {}
-
- node-releases@2.0.19: {}
-
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
- object-assign@4.1.1: {}
-
- object-hash@3.0.0: {}
-
- optionator@0.9.4:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- word-wrap: 1.2.5
-
- p-limit@3.1.0:
- dependencies:
- yocto-queue: 0.1.0
-
- p-locate@5.0.0:
- dependencies:
- p-limit: 3.1.0
-
- package-json-from-dist@1.0.1: {}
-
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
-
- path-exists@4.0.0: {}
-
- path-key@3.1.1: {}
-
- path-parse@1.0.7: {}
-
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
- picocolors@1.1.1: {}
-
- picomatch@2.3.1: {}
-
- pify@2.3.0: {}
-
- pirates@4.0.6: {}
-
- postcss-import@15.1.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.10
-
- postcss-js@4.0.1(postcss@8.5.1):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.5.1
-
- postcss-load-config@4.0.2(postcss@8.5.1):
- dependencies:
- lilconfig: 3.1.3
- yaml: 2.7.0
- optionalDependencies:
- postcss: 8.5.1
-
- postcss-nested@6.2.0(postcss@8.5.1):
- dependencies:
- postcss: 8.5.1
- postcss-selector-parser: 6.1.2
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.5.1:
- dependencies:
- nanoid: 3.3.8
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- prelude-ls@1.2.1: {}
-
- punycode@2.3.1: {}
-
- queue-microtask@1.2.3: {}
-
- react-dom@18.3.1(react@18.3.1):
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.23.2
-
- react-refresh@0.14.2: {}
-
- react@18.3.1:
- dependencies:
- loose-envify: 1.4.0
-
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- remove-accents@0.5.0: {}
-
- resolve-from@4.0.0: {}
-
- resolve@1.22.10:
- dependencies:
- is-core-module: 2.16.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- reusify@1.0.4: {}
-
- rollup@4.30.1:
- dependencies:
- '@types/estree': 1.0.6
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.30.1
- '@rollup/rollup-android-arm64': 4.30.1
- '@rollup/rollup-darwin-arm64': 4.30.1
- '@rollup/rollup-darwin-x64': 4.30.1
- '@rollup/rollup-freebsd-arm64': 4.30.1
- '@rollup/rollup-freebsd-x64': 4.30.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.30.1
- '@rollup/rollup-linux-arm-musleabihf': 4.30.1
- '@rollup/rollup-linux-arm64-gnu': 4.30.1
- '@rollup/rollup-linux-arm64-musl': 4.30.1
- '@rollup/rollup-linux-loongarch64-gnu': 4.30.1
- '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1
- '@rollup/rollup-linux-riscv64-gnu': 4.30.1
- '@rollup/rollup-linux-s390x-gnu': 4.30.1
- '@rollup/rollup-linux-x64-gnu': 4.30.1
- '@rollup/rollup-linux-x64-musl': 4.30.1
- '@rollup/rollup-win32-arm64-msvc': 4.30.1
- '@rollup/rollup-win32-ia32-msvc': 4.30.1
- '@rollup/rollup-win32-x64-msvc': 4.30.1
- fsevents: 2.3.3
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- scheduler@0.23.2:
- dependencies:
- loose-envify: 1.4.0
-
- semver@6.3.1: {}
-
- semver@7.6.3: {}
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- signal-exit@4.1.0: {}
-
- source-map-js@1.2.1: {}
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.1.0
-
- strip-json-comments@3.1.1: {}
-
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.8
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
-
- superjson@1.13.3:
- dependencies:
- copy-anything: 3.0.5
-
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- tailwind-merge@2.6.0: {}
-
- tailwindcss-animate@1.0.7(tailwindcss@3.4.17):
- dependencies:
- tailwindcss: 3.4.17
-
- tailwindcss@3.4.17:
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.3
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.7
- lilconfig: 3.1.3
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.5.1
- postcss-import: 15.1.0(postcss@8.5.1)
- postcss-js: 4.0.1(postcss@8.5.1)
- postcss-load-config: 4.0.2(postcss@8.5.1)
- postcss-nested: 6.2.0(postcss@8.5.1)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.10
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
-
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
-
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- ts-api-utils@2.0.0(typescript@5.6.3):
- dependencies:
- typescript: 5.6.3
-
- ts-interface-checker@0.1.13: {}
-
- type-check@0.4.0:
- dependencies:
- prelude-ls: 1.2.1
-
- typescript-eslint@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.6.3)
- eslint: 9.18.0(jiti@1.21.7)
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
- typescript@5.6.3: {}
-
- undici-types@6.20.0: {}
-
- update-browserslist-db@1.1.2(browserslist@4.24.4):
- dependencies:
- browserslist: 4.24.4
- escalade: 3.2.0
- picocolors: 1.1.1
-
- uri-js@4.4.1:
- dependencies:
- punycode: 2.3.1
-
- use-sync-external-store@1.4.0(react@18.3.1):
- dependencies:
- react: 18.3.1
-
- util-deprecate@1.0.2: {}
-
- vite@6.0.7(@types/node@22.10.6)(jiti@1.21.7)(yaml@2.7.0):
- dependencies:
- esbuild: 0.24.2
- postcss: 8.5.1
- rollup: 4.30.1
- optionalDependencies:
- '@types/node': 22.10.6
- fsevents: 2.3.3
- jiti: 1.21.7
- yaml: 2.7.0
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- word-wrap@1.2.5: {}
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
-
- yallist@3.1.1: {}
-
- yaml@2.7.0: {}
-
- yocto-queue@0.1.0: {}
diff --git a/exercises/todo-list/postcss.config.js b/exercises/todo-list/postcss.config.js
deleted file mode 100644
index 2e7af2b7..00000000
--- a/exercises/todo-list/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/exercises/todo-list/public/vite.svg b/exercises/todo-list/public/vite.svg
deleted file mode 100644
index e7b8dfb1..00000000
--- a/exercises/todo-list/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/exercises/todo-list/src/App.tsx b/exercises/todo-list/src/App.tsx
deleted file mode 100644
index fccfc8a0..00000000
--- a/exercises/todo-list/src/App.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-function App() {
-
- return (
-
-
-
- Mock todo list here
-
-
-
- );
-}
-
-export default App
diff --git a/exercises/todo-list/src/api/api.ts b/exercises/todo-list/src/api/api.ts
deleted file mode 100644
index d70d61cd..00000000
--- a/exercises/todo-list/src/api/api.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-export type Task = {
- id: number;
- title: string;
- completed: boolean;
-};
-
-const mockTasks: Task[] = [
- { id: 2, title: "Pair program with a teammate", completed: false },
-];
-
-let idCounter = mockTasks.length + 1;
-
-export const getTasks = (): Promise => {
- return new Promise((resolve) => {
- setTimeout(() => resolve(mockTasks), 500);
- });
-};
-
-export const addTask = (title: string): Promise => {
- return new Promise((resolve) => {
- const newTask = { id: idCounter++, title, completed: false };
- mockTasks.push(newTask);
- setTimeout(() => resolve(newTask), 500);
- });
-};
-
-export const toggleTaskCompletion = (id: number): Promise => {
- return new Promise((resolve, reject) => {
- const task = mockTasks.find((task) => task.id === id);
- if (!task) return reject(new Error("Task not found"));
- task.completed = !task.completed;
- setTimeout(() => resolve(task), 500);
- });
-};
\ No newline at end of file
diff --git a/exercises/todo-list/src/api/todos.ts b/exercises/todo-list/src/api/todos.ts
deleted file mode 100644
index b2bb292b..00000000
--- a/exercises/todo-list/src/api/todos.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { useState } from "react";
-
-export type Todo = {
- id: number;
- title: string;
- completed: boolean;
-};
-
-let todoIdCounter = 1;
-
-export function useTodos() {
- const [todos, setTodos] = useState([]);
-
- // Function to get all todos
- const getTodos = (): Todo[] => {
- return todos;
- };
-
- // Function to create a new todo
- const createTodo = (title: string): void => {
- const newTodo: Todo = {
- id: todoIdCounter++,
- title,
- completed: false,
- };
- setTodos((prevTodos) => [...prevTodos, newTodo]);
- };
-
- // Function to toggle a todo's completion status
- const toggleTodoCompletion = (id: number): void => {
- setTodos((prevTodos) =>
- prevTodos.map((todo) =>
- todo.id === id ? { ...todo, completed: !todo.completed } : todo
- )
- );
- };
-
- return {
- todos,
- getTodos,
- createTodo,
- toggleTodoCompletion,
- };
-}
diff --git a/exercises/todo-list/src/api/use-todos.ts b/exercises/todo-list/src/api/use-todos.ts
deleted file mode 100644
index 88f9601f..00000000
--- a/exercises/todo-list/src/api/use-todos.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-import { useQuery } from "@tanstack/react-query";
-import { Todo } from "./todos";
-
-
-// Hook for fetching todos
-export function useFetchTodos() {
- return useQuery(["todos"], async () => {
- // Implementation for fetching todos goes here
- throw new Error("Not implemented");
- });
-}
-
-// Hook for creating a todo
-export function useCreateTodo() {
- // const queryClient = useQueryClient();
-
- // return useMutation
- return null;
-}
-
-// Hook for toggling todo completion
-export function useToggleTodoCompletion() {
- // const queryClient = useQueryClient();
-
- return null;
-}
diff --git a/exercises/todo-list/src/components/general/TodoItem.tsx b/exercises/todo-list/src/components/general/TodoItem.tsx
deleted file mode 100644
index 147cb583..00000000
--- a/exercises/todo-list/src/components/general/TodoItem.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Task } from "@/api/api";
-import { Checkbox } from "../ui/checkbox";
-import { cn } from "@/lib/utils";
-
-type TodoItemProps = {
- task: Task;
- onCheckedChange: (task: Task) => void;
-}
-
-const TodoItem = ({task, onCheckedChange}: TodoItemProps) => {
-
- if(!task) {
- return null;
- }
-
- return (
-
- {
- onCheckedChange(task);
- }}/>
- { task.title }
-
- );
-}
-
-export default TodoItem;
\ No newline at end of file
diff --git a/exercises/todo-list/src/components/ui/button.tsx b/exercises/todo-list/src/components/ui/button.tsx
deleted file mode 100644
index 58ccdf39..00000000
--- a/exercises/todo-list/src/components/ui/button.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import * as React from "react"
-import { Slot } from "@radix-ui/react-slot"
-import { cva, type VariantProps } from "class-variance-authority"
-
-import { cn } from "@/lib/utils"
-
-const buttonVariants = cva(
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-stone-950 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:focus-visible:ring-stone-300",
- {
- variants: {
- variant: {
- default:
- "bg-stone-900 text-stone-50 shadow hover:bg-stone-900/90 dark:bg-stone-50 dark:text-stone-900 dark:hover:bg-stone-50/90",
- destructive:
- "bg-red-500 text-stone-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-stone-50 dark:hover:bg-red-900/90",
- outline:
- "border border-stone-200 bg-white shadow-sm hover:bg-stone-100 hover:text-stone-900 dark:border-stone-800 dark:bg-stone-950 dark:hover:bg-stone-800 dark:hover:text-stone-50",
- secondary:
- "bg-stone-100 text-stone-900 shadow-sm hover:bg-stone-100/80 dark:bg-stone-800 dark:text-stone-50 dark:hover:bg-stone-800/80",
- ghost: "hover:bg-stone-100 hover:text-stone-900 dark:hover:bg-stone-800 dark:hover:text-stone-50",
- link: "text-stone-900 underline-offset-4 hover:underline dark:text-stone-50",
- },
- size: {
- default: "h-9 px-4 py-2",
- sm: "h-8 rounded-md px-3 text-xs",
- lg: "h-10 rounded-md px-8",
- icon: "h-9 w-9",
- },
- },
- defaultVariants: {
- variant: "default",
- size: "default",
- },
- }
-)
-
-export interface ButtonProps
- extends React.ButtonHTMLAttributes,
- VariantProps {
- asChild?: boolean
-}
-
-const Button = React.forwardRef(
- ({ className, variant, size, asChild = false, ...props }, ref) => {
- const Comp = asChild ? Slot : "button"
- return (
-
- )
- }
-)
-Button.displayName = "Button"
-
-export { Button, buttonVariants }
diff --git a/exercises/todo-list/src/components/ui/checkbox.tsx b/exercises/todo-list/src/components/ui/checkbox.tsx
deleted file mode 100644
index 62f73d5c..00000000
--- a/exercises/todo-list/src/components/ui/checkbox.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import * as React from "react"
-import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
-import { Check } from "lucide-react"
-
-import { cn } from "@/lib/utils"
-
-const Checkbox = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-
-
-))
-Checkbox.displayName = CheckboxPrimitive.Root.displayName
-
-export { Checkbox }
diff --git a/exercises/todo-list/src/components/ui/input.tsx b/exercises/todo-list/src/components/ui/input.tsx
deleted file mode 100644
index 145ad67d..00000000
--- a/exercises/todo-list/src/components/ui/input.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import * as React from "react"
-
-import { cn } from "@/lib/utils"
-
-const Input = React.forwardRef>(
- ({ className, type, ...props }, ref) => {
- return (
-
- )
- }
-)
-Input.displayName = "Input"
-
-export { Input }
diff --git a/exercises/todo-list/src/index.css b/exercises/todo-list/src/index.css
deleted file mode 100644
index fb40a7cd..00000000
--- a/exercises/todo-list/src/index.css
+++ /dev/null
@@ -1,9 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer base {
- :root {
- --radius: 0.5rem;
- }
-}
diff --git a/exercises/todo-list/src/lib/utils.ts b/exercises/todo-list/src/lib/utils.ts
deleted file mode 100644
index bd0c391d..00000000
--- a/exercises/todo-list/src/lib/utils.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { clsx, type ClassValue } from "clsx"
-import { twMerge } from "tailwind-merge"
-
-export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs))
-}
diff --git a/exercises/todo-list/src/main.tsx b/exercises/todo-list/src/main.tsx
deleted file mode 100644
index 92e44d86..00000000
--- a/exercises/todo-list/src/main.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { StrictMode } from 'react'
-import { createRoot } from 'react-dom/client'
-import './index.css'
-import App from './App.tsx'
-import { ReactQueryProvider } from './providers/react-query-provider.tsx'
-import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
-
-createRoot(document.getElementById('root')!).render(
-
-
-
-
-
- ,
-)
diff --git a/exercises/todo-list/src/providers/react-query-provider.tsx b/exercises/todo-list/src/providers/react-query-provider.tsx
deleted file mode 100644
index 334ab298..00000000
--- a/exercises/todo-list/src/providers/react-query-provider.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
-
-const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- refetchOnWindowFocus: false,
- retry: false, // default: 3
- staleTime: 5 * 60 * 1000, // 5 minutes
- },
- },
-});
-
-
- interface ReactQueryProviderProps {
- children: React.ReactNode;
- }
-
- export const ReactQueryProvider: React.FC = ({
- children,
- }) => {
- return (
-
- {children}
-
- );
- };
-
\ No newline at end of file
diff --git a/exercises/todo-list/tailwind.config.js b/exercises/todo-list/tailwind.config.js
deleted file mode 100644
index cc0d85cb..00000000
--- a/exercises/todo-list/tailwind.config.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-export default {
- darkMode: ["class"],
- content: [
- "./index.html",
- "./src/**/*.{js,ts,jsx,tsx}",
- ],
- theme: {
- extend: {
- borderRadius: {
- lg: 'var(--radius)',
- md: 'calc(var(--radius) - 2px)',
- sm: 'calc(var(--radius) - 4px)'
- },
- colors: {}
- }
- },
- plugins: [require("tailwindcss-animate")],
-}
-
diff --git a/exercises/todo-list/tsconfig.app.json b/exercises/todo-list/tsconfig.app.json
deleted file mode 100644
index 094b0dae..00000000
--- a/exercises/todo-list/tsconfig.app.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
- "target": "ES2020",
- "useDefineForClassFields": true,
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
- "jsx": "react-jsx",
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true,
-
- "baseUrl": ".",
- "paths": {
- "@/*": ["./src/*"]
- }
- },
- "include": ["src"]
-}
diff --git a/exercises/todo-list/tsconfig.json b/exercises/todo-list/tsconfig.json
deleted file mode 100644
index fec8c8e5..00000000
--- a/exercises/todo-list/tsconfig.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "files": [],
- "references": [
- { "path": "./tsconfig.app.json" },
- { "path": "./tsconfig.node.json" }
- ],
- "compilerOptions": {
- "baseUrl": ".",
- "paths": {
- "@/*": ["./src/*"]
- }
- }
-}
diff --git a/exercises/todo-list/tsconfig.node.json b/exercises/todo-list/tsconfig.node.json
deleted file mode 100644
index 81d9d2d8..00000000
--- a/exercises/todo-list/tsconfig.node.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
- "target": "ES2022",
- "lib": ["ES2023"],
- "module": "ESNext",
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "isolatedModules": true,
- "moduleDetection": "force",
- "noEmit": true,
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true,
- "baseUrl": ".",
- "paths": {
- "@/*": ["./src/*"]
- }
- },
- "include": ["vite.config.ts"]
-}
diff --git a/exercises/todo-list/vite.config.ts b/exercises/todo-list/vite.config.ts
deleted file mode 100644
index b16310de..00000000
--- a/exercises/todo-list/vite.config.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { defineConfig } from 'vite'
-import react from '@vitejs/plugin-react'
-import path from 'path'
-
-// https://vite.dev/config/
-export default defineConfig({
- plugins: [react()],
- resolve: {
- alias: {
- "@": path.resolve(__dirname, "./src"),
- },
- },
-})
diff --git a/new-frontend/index.html b/index.html
similarity index 100%
rename from new-frontend/index.html
rename to index.html
diff --git a/new-frontend/.gitignore b/new-frontend/.gitignore
deleted file mode 100644
index ebcc2a17..00000000
--- a/new-frontend/.gitignore
+++ /dev/null
@@ -1,27 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
-
-# Sentry Config File
-.env.sentry-build-plugin
diff --git a/new-frontend/README.md b/new-frontend/README.md
deleted file mode 100644
index db214b39..00000000
--- a/new-frontend/README.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# WCInventory Frontend
-
-The Welcome Collective Inventory Frontend is an
-inventory management application for the Welcome Collective.
-
-## Get Started
-
-1. Clone the repository and navigate to the `/new-frontend` directory:
-
- ```bash
- git clone https://github.com/hack4impact-mcgill/wc-inventory.git
- cd new-frontend
- ```
-
-2. Install dependencies:
-
- ```bash
- npm install
- ```
-
-3. Start the development server:
-
- ```bash
- npm run dev
- ```
-
- The app should now be running on [localhost:3000](http://localhost:3000).
-
----
-
-## Project Structure
-
-- **`/assets`**: Static assets used across the application.
-- **`/components`**: Reusable UI components.
-- **`/contexts`**: Contexts for application-wide state management, such as authentication.
-- **`/features`**: Grouped features for distinct sections,
- such as `admin-dashboard` and `volunteer-dashboard`.
-- **`/hooks`**: Custom hooks to abstract common logic.
-- **`/lib`**: Utility files, including API functions.
-- **`/providers`**: Providers for third-party libraries,
- including React Query and our Router.
-- **`/types`**: Type definitions for structured data and our supabase exported schema.
-
----
-
-## Technologies
-
-- **Supabase**: Used for DB and authentication services.
- For more information, visit [Supabase](https://supabase.com/).
-- **TailwindCSS**: Utility-first CSS framework for styling.
- For more information, visit [TailwindCSS](https://tailwindcss.com/).
-- **shadcn/ui**: Styled component library providing reusable UI elements,
- built on top of TailwindCSS.
- Learn more at [shadcn](https://shadcn.dev/).
-
----
-
-## Scripts
-
-- **`npm install`**: Installs dependencies
-- **`npm run dev`**: Starts the development server.
-
----
-
-## Contributing
-
-1. **Fork the repository** and create a story branch, where # is the number of your ticket:
-
- ```bash
- git checkout -b WC-##
- ```
-
-2. **Stage and commit your changes**:
-
- ```bash
- git add .
- git commit -m "[WC-#] Add your feature"
- ```
-
-3. **Push to your branch** and then create a pull request:
-
- ```bash
- git push origin WC-#
- ```
diff --git a/new-frontend/src/assets/react.svg b/new-frontend/src/assets/react.svg
deleted file mode 100644
index 6c87de9b..00000000
--- a/new-frontend/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/new-frontend/src/vite-env.d.ts b/new-frontend/src/vite-env.d.ts
deleted file mode 100644
index 11f02fe2..00000000
--- a/new-frontend/src/vite-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/new-frontend/package.json b/package.json
similarity index 100%
rename from new-frontend/package.json
rename to package.json
diff --git a/new-frontend/pnpm-workspace.yaml b/pnpm-workspace.yaml
similarity index 100%
rename from new-frontend/pnpm-workspace.yaml
rename to pnpm-workspace.yaml
diff --git a/new-frontend/postcss.config.js b/postcss.config.js
similarity index 100%
rename from new-frontend/postcss.config.js
rename to postcss.config.js
diff --git a/new-frontend/public/_redirects b/public/_redirects
similarity index 100%
rename from new-frontend/public/_redirects
rename to public/_redirects
diff --git a/new-frontend/public/icons/logo.png b/public/icons/logo.png
similarity index 100%
rename from new-frontend/public/icons/logo.png
rename to public/icons/logo.png
diff --git a/new-frontend/public/icons/welcomecollective.svg b/public/icons/welcomecollective.svg
similarity index 100%
rename from new-frontend/public/icons/welcomecollective.svg
rename to public/icons/welcomecollective.svg
diff --git a/new-frontend/src/App.tsx b/src/App.tsx
similarity index 100%
rename from new-frontend/src/App.tsx
rename to src/App.tsx
diff --git a/new-frontend/src/assets/category_icons/BabyBodysuit.svg b/src/assets/category_icons/BabyBodysuit.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/BabyBodysuit.svg
rename to src/assets/category_icons/BabyBodysuit.svg
diff --git a/new-frontend/src/assets/category_icons/Balaclava.svg b/src/assets/category_icons/Balaclava.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Balaclava.svg
rename to src/assets/category_icons/Balaclava.svg
diff --git a/new-frontend/src/assets/category_icons/Belt.svg b/src/assets/category_icons/Belt.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Belt.svg
rename to src/assets/category_icons/Belt.svg
diff --git a/new-frontend/src/assets/category_icons/Box.svg b/src/assets/category_icons/Box.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Box.svg
rename to src/assets/category_icons/Box.svg
diff --git a/new-frontend/src/assets/category_icons/Bra.svg b/src/assets/category_icons/Bra.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Bra.svg
rename to src/assets/category_icons/Bra.svg
diff --git a/new-frontend/src/assets/category_icons/Clothes Hanger.svg b/src/assets/category_icons/Clothes Hanger.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Clothes Hanger.svg
rename to src/assets/category_icons/Clothes Hanger.svg
diff --git a/new-frontend/src/assets/category_icons/Dress.svg b/src/assets/category_icons/Dress.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Dress.svg
rename to src/assets/category_icons/Dress.svg
diff --git a/new-frontend/src/assets/category_icons/Folder.svg b/src/assets/category_icons/Folder.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Folder.svg
rename to src/assets/category_icons/Folder.svg
diff --git a/new-frontend/src/assets/category_icons/Necklace.svg b/src/assets/category_icons/Necklace.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Necklace.svg
rename to src/assets/category_icons/Necklace.svg
diff --git a/new-frontend/src/assets/category_icons/Overall.svg b/src/assets/category_icons/Overall.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Overall.svg
rename to src/assets/category_icons/Overall.svg
diff --git a/new-frontend/src/assets/category_icons/Shirt.svg b/src/assets/category_icons/Shirt.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Shirt.svg
rename to src/assets/category_icons/Shirt.svg
diff --git a/new-frontend/src/assets/category_icons/Shoes.svg b/src/assets/category_icons/Shoes.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Shoes.svg
rename to src/assets/category_icons/Shoes.svg
diff --git a/new-frontend/src/assets/category_icons/Shorts.svg b/src/assets/category_icons/Shorts.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Shorts.svg
rename to src/assets/category_icons/Shorts.svg
diff --git a/new-frontend/src/assets/category_icons/Skirt.svg b/src/assets/category_icons/Skirt.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Skirt.svg
rename to src/assets/category_icons/Skirt.svg
diff --git a/new-frontend/src/assets/category_icons/Socks.svg b/src/assets/category_icons/Socks.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Socks.svg
rename to src/assets/category_icons/Socks.svg
diff --git a/new-frontend/src/assets/category_icons/Strappy top.svg b/src/assets/category_icons/Strappy top.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Strappy top.svg
rename to src/assets/category_icons/Strappy top.svg
diff --git a/new-frontend/src/assets/category_icons/Sweater.svg b/src/assets/category_icons/Sweater.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Sweater.svg
rename to src/assets/category_icons/Sweater.svg
diff --git a/new-frontend/src/assets/category_icons/Tie.svg b/src/assets/category_icons/Tie.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Tie.svg
rename to src/assets/category_icons/Tie.svg
diff --git a/new-frontend/src/assets/category_icons/Trousers.svg b/src/assets/category_icons/Trousers.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Trousers.svg
rename to src/assets/category_icons/Trousers.svg
diff --git a/new-frontend/src/assets/category_icons/Underwear.svg b/src/assets/category_icons/Underwear.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Underwear.svg
rename to src/assets/category_icons/Underwear.svg
diff --git a/new-frontend/src/assets/category_icons/Winter Gloves.svg b/src/assets/category_icons/Winter Gloves.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Winter Gloves.svg
rename to src/assets/category_icons/Winter Gloves.svg
diff --git a/new-frontend/src/assets/category_icons/Winter Hat.svg b/src/assets/category_icons/Winter Hat.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Winter Hat.svg
rename to src/assets/category_icons/Winter Hat.svg
diff --git a/new-frontend/src/assets/category_icons/Winter Jacket.svg b/src/assets/category_icons/Winter Jacket.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Winter Jacket.svg
rename to src/assets/category_icons/Winter Jacket.svg
diff --git a/new-frontend/src/assets/category_icons/Winter Scarf.svg b/src/assets/category_icons/Winter Scarf.svg
similarity index 100%
rename from new-frontend/src/assets/category_icons/Winter Scarf.svg
rename to src/assets/category_icons/Winter Scarf.svg
diff --git a/exercises/todo-list/src/assets/react.svg b/src/assets/react.svg
similarity index 100%
rename from exercises/todo-list/src/assets/react.svg
rename to src/assets/react.svg
diff --git a/new-frontend/src/components/category-icon/index.tsx b/src/components/category-icon/index.tsx
similarity index 100%
rename from new-frontend/src/components/category-icon/index.tsx
rename to src/components/category-icon/index.tsx
diff --git a/new-frontend/src/components/icon-selector/index.tsx b/src/components/icon-selector/index.tsx
similarity index 100%
rename from new-frontend/src/components/icon-selector/index.tsx
rename to src/components/icon-selector/index.tsx
diff --git a/new-frontend/src/components/layout/index.tsx b/src/components/layout/index.tsx
similarity index 100%
rename from new-frontend/src/components/layout/index.tsx
rename to src/components/layout/index.tsx
diff --git a/new-frontend/src/components/loading/index.tsx b/src/components/loading/index.tsx
similarity index 100%
rename from new-frontend/src/components/loading/index.tsx
rename to src/components/loading/index.tsx
diff --git a/new-frontend/src/components/search-bar/index.tsx b/src/components/search-bar/index.tsx
similarity index 100%
rename from new-frontend/src/components/search-bar/index.tsx
rename to src/components/search-bar/index.tsx
diff --git a/new-frontend/src/components/tree-select/components/search-input.tsx b/src/components/tree-select/components/search-input.tsx
similarity index 100%
rename from new-frontend/src/components/tree-select/components/search-input.tsx
rename to src/components/tree-select/components/search-input.tsx
diff --git a/new-frontend/src/components/tree-select/components/tree-item.tsx b/src/components/tree-select/components/tree-item.tsx
similarity index 100%
rename from new-frontend/src/components/tree-select/components/tree-item.tsx
rename to src/components/tree-select/components/tree-item.tsx
diff --git a/new-frontend/src/components/tree-select/index.tsx b/src/components/tree-select/index.tsx
similarity index 100%
rename from new-frontend/src/components/tree-select/index.tsx
rename to src/components/tree-select/index.tsx
diff --git a/new-frontend/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx
similarity index 100%
rename from new-frontend/src/components/ui/alert-dialog.tsx
rename to src/components/ui/alert-dialog.tsx
diff --git a/new-frontend/src/components/ui/alert.tsx b/src/components/ui/alert.tsx
similarity index 100%
rename from new-frontend/src/components/ui/alert.tsx
rename to src/components/ui/alert.tsx
diff --git a/new-frontend/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx
similarity index 100%
rename from new-frontend/src/components/ui/avatar.tsx
rename to src/components/ui/avatar.tsx
diff --git a/new-frontend/src/components/ui/badge.tsx b/src/components/ui/badge.tsx
similarity index 100%
rename from new-frontend/src/components/ui/badge.tsx
rename to src/components/ui/badge.tsx
diff --git a/new-frontend/src/components/ui/button.tsx b/src/components/ui/button.tsx
similarity index 100%
rename from new-frontend/src/components/ui/button.tsx
rename to src/components/ui/button.tsx
diff --git a/new-frontend/src/components/ui/calendar.tsx b/src/components/ui/calendar.tsx
similarity index 100%
rename from new-frontend/src/components/ui/calendar.tsx
rename to src/components/ui/calendar.tsx
diff --git a/new-frontend/src/components/ui/card.tsx b/src/components/ui/card.tsx
similarity index 100%
rename from new-frontend/src/components/ui/card.tsx
rename to src/components/ui/card.tsx
diff --git a/new-frontend/src/components/ui/checkbox.tsx b/src/components/ui/checkbox.tsx
similarity index 100%
rename from new-frontend/src/components/ui/checkbox.tsx
rename to src/components/ui/checkbox.tsx
diff --git a/new-frontend/src/components/ui/command.tsx b/src/components/ui/command.tsx
similarity index 100%
rename from new-frontend/src/components/ui/command.tsx
rename to src/components/ui/command.tsx
diff --git a/new-frontend/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx
similarity index 100%
rename from new-frontend/src/components/ui/dialog.tsx
rename to src/components/ui/dialog.tsx
diff --git a/new-frontend/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx
similarity index 100%
rename from new-frontend/src/components/ui/dropdown-menu.tsx
rename to src/components/ui/dropdown-menu.tsx
diff --git a/new-frontend/src/components/ui/form.tsx b/src/components/ui/form.tsx
similarity index 100%
rename from new-frontend/src/components/ui/form.tsx
rename to src/components/ui/form.tsx
diff --git a/new-frontend/src/components/ui/input.tsx b/src/components/ui/input.tsx
similarity index 100%
rename from new-frontend/src/components/ui/input.tsx
rename to src/components/ui/input.tsx
diff --git a/new-frontend/src/components/ui/label.tsx b/src/components/ui/label.tsx
similarity index 100%
rename from new-frontend/src/components/ui/label.tsx
rename to src/components/ui/label.tsx
diff --git a/new-frontend/src/components/ui/popover.tsx b/src/components/ui/popover.tsx
similarity index 100%
rename from new-frontend/src/components/ui/popover.tsx
rename to src/components/ui/popover.tsx
diff --git a/new-frontend/src/components/ui/scroll-area.tsx b/src/components/ui/scroll-area.tsx
similarity index 100%
rename from new-frontend/src/components/ui/scroll-area.tsx
rename to src/components/ui/scroll-area.tsx
diff --git a/new-frontend/src/components/ui/select.tsx b/src/components/ui/select.tsx
similarity index 100%
rename from new-frontend/src/components/ui/select.tsx
rename to src/components/ui/select.tsx
diff --git a/new-frontend/src/components/ui/sheet.tsx b/src/components/ui/sheet.tsx
similarity index 100%
rename from new-frontend/src/components/ui/sheet.tsx
rename to src/components/ui/sheet.tsx
diff --git a/new-frontend/src/components/ui/sonner.tsx b/src/components/ui/sonner.tsx
similarity index 100%
rename from new-frontend/src/components/ui/sonner.tsx
rename to src/components/ui/sonner.tsx
diff --git a/new-frontend/src/components/ui/table.tsx b/src/components/ui/table.tsx
similarity index 100%
rename from new-frontend/src/components/ui/table.tsx
rename to src/components/ui/table.tsx
diff --git a/new-frontend/src/components/ui/toast.tsx b/src/components/ui/toast.tsx
similarity index 100%
rename from new-frontend/src/components/ui/toast.tsx
rename to src/components/ui/toast.tsx
diff --git a/new-frontend/src/components/ui/toaster.tsx b/src/components/ui/toaster.tsx
similarity index 100%
rename from new-frontend/src/components/ui/toaster.tsx
rename to src/components/ui/toaster.tsx
diff --git a/new-frontend/src/contexts/auth-context.tsx b/src/contexts/auth-context.tsx
similarity index 100%
rename from new-frontend/src/contexts/auth-context.tsx
rename to src/contexts/auth-context.tsx
diff --git a/new-frontend/src/features/add-box/hooks/useAddBoxQueries.ts b/src/features/add-box/hooks/useAddBoxQueries.ts
similarity index 100%
rename from new-frontend/src/features/add-box/hooks/useAddBoxQueries.ts
rename to src/features/add-box/hooks/useAddBoxQueries.ts
diff --git a/new-frontend/src/features/add-box/hooks/useCreateBox.ts b/src/features/add-box/hooks/useCreateBox.ts
similarity index 100%
rename from new-frontend/src/features/add-box/hooks/useCreateBox.ts
rename to src/features/add-box/hooks/useCreateBox.ts
diff --git a/new-frontend/src/features/add-box/hooks/useMobile.ts b/src/features/add-box/hooks/useMobile.ts
similarity index 100%
rename from new-frontend/src/features/add-box/hooks/useMobile.ts
rename to src/features/add-box/hooks/useMobile.ts
diff --git a/new-frontend/src/features/add-box/index.tsx b/src/features/add-box/index.tsx
similarity index 100%
rename from new-frontend/src/features/add-box/index.tsx
rename to src/features/add-box/index.tsx
diff --git a/new-frontend/src/features/add-box/utils.ts b/src/features/add-box/utils.ts
similarity index 100%
rename from new-frontend/src/features/add-box/utils.ts
rename to src/features/add-box/utils.ts
diff --git a/new-frontend/src/features/admin-dashboard/components/AdminOverview.tsx b/src/features/admin-dashboard/components/AdminOverview.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/AdminOverview.tsx
rename to src/features/admin-dashboard/components/AdminOverview.tsx
diff --git a/new-frontend/src/features/admin-dashboard/components/BoxDetails.tsx b/src/features/admin-dashboard/components/BoxDetails.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/BoxDetails.tsx
rename to src/features/admin-dashboard/components/BoxDetails.tsx
diff --git a/new-frontend/src/features/admin-dashboard/components/ContentCard.tsx b/src/features/admin-dashboard/components/ContentCard.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/ContentCard.tsx
rename to src/features/admin-dashboard/components/ContentCard.tsx
diff --git a/new-frontend/src/features/admin-dashboard/components/SearchFilters.tsx b/src/features/admin-dashboard/components/SearchFilters.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/SearchFilters.tsx
rename to src/features/admin-dashboard/components/SearchFilters.tsx
diff --git a/new-frontend/src/features/admin-dashboard/components/admin-header.tsx b/src/features/admin-dashboard/components/admin-header.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/admin-header.tsx
rename to src/features/admin-dashboard/components/admin-header.tsx
diff --git a/new-frontend/src/features/admin-dashboard/components/sidebar-nav-item.tsx b/src/features/admin-dashboard/components/sidebar-nav-item.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/sidebar-nav-item.tsx
rename to src/features/admin-dashboard/components/sidebar-nav-item.tsx
diff --git a/new-frontend/src/features/admin-dashboard/components/sidebar.tsx b/src/features/admin-dashboard/components/sidebar.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/components/sidebar.tsx
rename to src/features/admin-dashboard/components/sidebar.tsx
diff --git a/new-frontend/src/features/admin-dashboard/constants/navItems.ts b/src/features/admin-dashboard/constants/navItems.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/constants/navItems.ts
rename to src/features/admin-dashboard/constants/navItems.ts
diff --git a/new-frontend/src/features/admin-dashboard/hooks/useBoxDetails.ts b/src/features/admin-dashboard/hooks/useBoxDetails.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/hooks/useBoxDetails.ts
rename to src/features/admin-dashboard/hooks/useBoxDetails.ts
diff --git a/new-frontend/src/features/admin-dashboard/hooks/useBoxView.ts b/src/features/admin-dashboard/hooks/useBoxView.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/hooks/useBoxView.ts
rename to src/features/admin-dashboard/hooks/useBoxView.ts
diff --git a/new-frontend/src/features/admin-dashboard/hooks/useInventory.ts b/src/features/admin-dashboard/hooks/useInventory.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/hooks/useInventory.ts
rename to src/features/admin-dashboard/hooks/useInventory.ts
diff --git a/new-frontend/src/features/admin-dashboard/index.tsx b/src/features/admin-dashboard/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/index.tsx
rename to src/features/admin-dashboard/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/activity-log/components/activity-log-table.tsx b/src/features/admin-dashboard/tabs/activity-log/components/activity-log-table.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/activity-log/components/activity-log-table.tsx
rename to src/features/admin-dashboard/tabs/activity-log/components/activity-log-table.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/activity-log/components/searchbar.tsx b/src/features/admin-dashboard/tabs/activity-log/components/searchbar.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/activity-log/components/searchbar.tsx
rename to src/features/admin-dashboard/tabs/activity-log/components/searchbar.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/activity-log/hooks/use-activity-logs.ts b/src/features/admin-dashboard/tabs/activity-log/hooks/use-activity-logs.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/activity-log/hooks/use-activity-logs.ts
rename to src/features/admin-dashboard/tabs/activity-log/hooks/use-activity-logs.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/activity-log/index.tsx b/src/features/admin-dashboard/tabs/activity-log/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/activity-log/index.tsx
rename to src/features/admin-dashboard/tabs/activity-log/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/activity-log/repomix-output.xml b/src/features/admin-dashboard/tabs/activity-log/repomix-output.xml
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/activity-log/repomix-output.xml
rename to src/features/admin-dashboard/tabs/activity-log/repomix-output.xml
diff --git a/new-frontend/src/features/admin-dashboard/tabs/activity-log/utils.ts b/src/features/admin-dashboard/tabs/activity-log/utils.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/activity-log/utils.ts
rename to src/features/admin-dashboard/tabs/activity-log/utils.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/box-lookup/components/BoxesTable.tsx b/src/features/admin-dashboard/tabs/box-lookup/components/BoxesTable.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/box-lookup/components/BoxesTable.tsx
rename to src/features/admin-dashboard/tabs/box-lookup/components/BoxesTable.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/box-lookup/components/DonateDialog.tsx b/src/features/admin-dashboard/tabs/box-lookup/components/DonateDialog.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/box-lookup/components/DonateDialog.tsx
rename to src/features/admin-dashboard/tabs/box-lookup/components/DonateDialog.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/box-lookup/components/MoveDialog.tsx b/src/features/admin-dashboard/tabs/box-lookup/components/MoveDialog.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/box-lookup/components/MoveDialog.tsx
rename to src/features/admin-dashboard/tabs/box-lookup/components/MoveDialog.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/box-lookup/index.tsx b/src/features/admin-dashboard/tabs/box-lookup/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/box-lookup/index.tsx
rename to src/features/admin-dashboard/tabs/box-lookup/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/box-lookup/types.ts b/src/features/admin-dashboard/tabs/box-lookup/types.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/box-lookup/types.ts
rename to src/features/admin-dashboard/tabs/box-lookup/types.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/box-lookup/utils.ts b/src/features/admin-dashboard/tabs/box-lookup/utils.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/box-lookup/utils.ts
rename to src/features/admin-dashboard/tabs/box-lookup/utils.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/category-management/CategoryManagement.tsx b/src/features/admin-dashboard/tabs/category-management/CategoryManagement.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/category-management/CategoryManagement.tsx
rename to src/features/admin-dashboard/tabs/category-management/CategoryManagement.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/category-management/components/category-form.tsx b/src/features/admin-dashboard/tabs/category-management/components/category-form.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/category-management/components/category-form.tsx
rename to src/features/admin-dashboard/tabs/category-management/components/category-form.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/category-management/components/category-table.tsx b/src/features/admin-dashboard/tabs/category-management/components/category-table.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/category-management/components/category-table.tsx
rename to src/features/admin-dashboard/tabs/category-management/components/category-table.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/category-management/hooks/use-categories.ts b/src/features/admin-dashboard/tabs/category-management/hooks/use-categories.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/category-management/hooks/use-categories.ts
rename to src/features/admin-dashboard/tabs/category-management/hooks/use-categories.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/category-management/index.tsx b/src/features/admin-dashboard/tabs/category-management/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/category-management/index.tsx
rename to src/features/admin-dashboard/tabs/category-management/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/category-management/utils.ts b/src/features/admin-dashboard/tabs/category-management/utils.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/category-management/utils.ts
rename to src/features/admin-dashboard/tabs/category-management/utils.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/create-boxes/index.tsx b/src/features/admin-dashboard/tabs/create-boxes/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/create-boxes/index.tsx
rename to src/features/admin-dashboard/tabs/create-boxes/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/donations/index.tsx b/src/features/admin-dashboard/tabs/donations/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/donations/index.tsx
rename to src/features/admin-dashboard/tabs/donations/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/inventory-management/index.tsx b/src/features/admin-dashboard/tabs/inventory-management/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/inventory-management/index.tsx
rename to src/features/admin-dashboard/tabs/inventory-management/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/inventory/components/BoxDetailsSlideOver.tsx b/src/features/admin-dashboard/tabs/inventory/components/BoxDetailsSlideOver.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/inventory/components/BoxDetailsSlideOver.tsx
rename to src/features/admin-dashboard/tabs/inventory/components/BoxDetailsSlideOver.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/inventory/index.tsx b/src/features/admin-dashboard/tabs/inventory/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/inventory/index.tsx
rename to src/features/admin-dashboard/tabs/inventory/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/location-management/components/create-location-form.tsx b/src/features/admin-dashboard/tabs/location-management/components/create-location-form.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/location-management/components/create-location-form.tsx
rename to src/features/admin-dashboard/tabs/location-management/components/create-location-form.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/location-management/components/location-table.tsx b/src/features/admin-dashboard/tabs/location-management/components/location-table.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/location-management/components/location-table.tsx
rename to src/features/admin-dashboard/tabs/location-management/components/location-table.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/location-management/hooks/use-location-columns.tsx b/src/features/admin-dashboard/tabs/location-management/hooks/use-location-columns.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/location-management/hooks/use-location-columns.tsx
rename to src/features/admin-dashboard/tabs/location-management/hooks/use-location-columns.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/location-management/hooks/use-locations.ts b/src/features/admin-dashboard/tabs/location-management/hooks/use-locations.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/location-management/hooks/use-locations.ts
rename to src/features/admin-dashboard/tabs/location-management/hooks/use-locations.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/location-management/index.tsx b/src/features/admin-dashboard/tabs/location-management/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/location-management/index.tsx
rename to src/features/admin-dashboard/tabs/location-management/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/location-management/utils.ts b/src/features/admin-dashboard/tabs/location-management/utils.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/location-management/utils.ts
rename to src/features/admin-dashboard/tabs/location-management/utils.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/size-management/SizeManagement.tsx b/src/features/admin-dashboard/tabs/size-management/SizeManagement.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/size-management/SizeManagement.tsx
rename to src/features/admin-dashboard/tabs/size-management/SizeManagement.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/size-management/components/size-form.tsx b/src/features/admin-dashboard/tabs/size-management/components/size-form.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/size-management/components/size-form.tsx
rename to src/features/admin-dashboard/tabs/size-management/components/size-form.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/size-management/components/size-table.tsx b/src/features/admin-dashboard/tabs/size-management/components/size-table.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/size-management/components/size-table.tsx
rename to src/features/admin-dashboard/tabs/size-management/components/size-table.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/size-management/hooks/use-sizes.ts b/src/features/admin-dashboard/tabs/size-management/hooks/use-sizes.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/size-management/hooks/use-sizes.ts
rename to src/features/admin-dashboard/tabs/size-management/hooks/use-sizes.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/size-management/index.tsx b/src/features/admin-dashboard/tabs/size-management/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/size-management/index.tsx
rename to src/features/admin-dashboard/tabs/size-management/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/user-management/components/search-bar.tsx b/src/features/admin-dashboard/tabs/user-management/components/search-bar.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/user-management/components/search-bar.tsx
rename to src/features/admin-dashboard/tabs/user-management/components/search-bar.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/user-management/components/user-form.tsx b/src/features/admin-dashboard/tabs/user-management/components/user-form.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/user-management/components/user-form.tsx
rename to src/features/admin-dashboard/tabs/user-management/components/user-form.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/user-management/components/user-table.tsx b/src/features/admin-dashboard/tabs/user-management/components/user-table.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/user-management/components/user-table.tsx
rename to src/features/admin-dashboard/tabs/user-management/components/user-table.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/user-management/hooks/use-users.ts b/src/features/admin-dashboard/tabs/user-management/hooks/use-users.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/user-management/hooks/use-users.ts
rename to src/features/admin-dashboard/tabs/user-management/hooks/use-users.ts
diff --git a/new-frontend/src/features/admin-dashboard/tabs/user-management/index.tsx b/src/features/admin-dashboard/tabs/user-management/index.tsx
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/user-management/index.tsx
rename to src/features/admin-dashboard/tabs/user-management/index.tsx
diff --git a/new-frontend/src/features/admin-dashboard/tabs/user-management/types.ts b/src/features/admin-dashboard/tabs/user-management/types.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/tabs/user-management/types.ts
rename to src/features/admin-dashboard/tabs/user-management/types.ts
diff --git a/new-frontend/src/features/admin-dashboard/types.ts b/src/features/admin-dashboard/types.ts
similarity index 100%
rename from new-frontend/src/features/admin-dashboard/types.ts
rename to src/features/admin-dashboard/types.ts
diff --git a/new-frontend/src/features/auth/login/index.tsx b/src/features/auth/login/index.tsx
similarity index 100%
rename from new-frontend/src/features/auth/login/index.tsx
rename to src/features/auth/login/index.tsx
diff --git a/new-frontend/src/features/auth/unauthorized/index.tsx b/src/features/auth/unauthorized/index.tsx
similarity index 100%
rename from new-frontend/src/features/auth/unauthorized/index.tsx
rename to src/features/auth/unauthorized/index.tsx
diff --git a/new-frontend/src/features/search-box-by-id/index.tsx b/src/features/search-box-by-id/index.tsx
similarity index 100%
rename from new-frontend/src/features/search-box-by-id/index.tsx
rename to src/features/search-box-by-id/index.tsx
diff --git a/new-frontend/src/features/search-for-item/index.tsx b/src/features/search-for-item/index.tsx
similarity index 100%
rename from new-frontend/src/features/search-for-item/index.tsx
rename to src/features/search-for-item/index.tsx
diff --git a/new-frontend/src/features/user-info/index.tsx b/src/features/user-info/index.tsx
similarity index 100%
rename from new-frontend/src/features/user-info/index.tsx
rename to src/features/user-info/index.tsx
diff --git a/new-frontend/src/features/volunteer-dashboard/components/dashboard-tile.tsx b/src/features/volunteer-dashboard/components/dashboard-tile.tsx
similarity index 100%
rename from new-frontend/src/features/volunteer-dashboard/components/dashboard-tile.tsx
rename to src/features/volunteer-dashboard/components/dashboard-tile.tsx
diff --git a/new-frontend/src/features/volunteer-dashboard/index.tsx b/src/features/volunteer-dashboard/index.tsx
similarity index 100%
rename from new-frontend/src/features/volunteer-dashboard/index.tsx
rename to src/features/volunteer-dashboard/index.tsx
diff --git a/new-frontend/src/hooks/use-create-activity-log.ts b/src/hooks/use-create-activity-log.ts
similarity index 100%
rename from new-frontend/src/hooks/use-create-activity-log.ts
rename to src/hooks/use-create-activity-log.ts
diff --git a/new-frontend/src/hooks/use-toast.ts b/src/hooks/use-toast.ts
similarity index 100%
rename from new-frontend/src/hooks/use-toast.ts
rename to src/hooks/use-toast.ts
diff --git a/new-frontend/src/index.css b/src/index.css
similarity index 100%
rename from new-frontend/src/index.css
rename to src/index.css
diff --git a/new-frontend/src/lib/api.ts b/src/lib/api.ts
similarity index 100%
rename from new-frontend/src/lib/api.ts
rename to src/lib/api.ts
diff --git a/new-frontend/src/lib/api/activity-log.ts b/src/lib/api/activity-log.ts
similarity index 100%
rename from new-frontend/src/lib/api/activity-log.ts
rename to src/lib/api/activity-log.ts
diff --git a/new-frontend/src/lib/api/boxes.ts b/src/lib/api/boxes.ts
similarity index 100%
rename from new-frontend/src/lib/api/boxes.ts
rename to src/lib/api/boxes.ts
diff --git a/new-frontend/src/lib/api/categories.ts b/src/lib/api/categories.ts
similarity index 100%
rename from new-frontend/src/lib/api/categories.ts
rename to src/lib/api/categories.ts
diff --git a/new-frontend/src/lib/api/icon.ts b/src/lib/api/icon.ts
similarity index 100%
rename from new-frontend/src/lib/api/icon.ts
rename to src/lib/api/icon.ts
diff --git a/new-frontend/src/lib/api/index.ts b/src/lib/api/index.ts
similarity index 100%
rename from new-frontend/src/lib/api/index.ts
rename to src/lib/api/index.ts
diff --git a/new-frontend/src/lib/api/locations.ts b/src/lib/api/locations.ts
similarity index 100%
rename from new-frontend/src/lib/api/locations.ts
rename to src/lib/api/locations.ts
diff --git a/new-frontend/src/lib/api/queryKeys.ts b/src/lib/api/queryKeys.ts
similarity index 100%
rename from new-frontend/src/lib/api/queryKeys.ts
rename to src/lib/api/queryKeys.ts
diff --git a/new-frontend/src/lib/api/sizes.ts b/src/lib/api/sizes.ts
similarity index 98%
rename from new-frontend/src/lib/api/sizes.ts
rename to src/lib/api/sizes.ts
index 83864f33..bfa1011b 100644
--- a/new-frontend/src/lib/api/sizes.ts
+++ b/src/lib/api/sizes.ts
@@ -1,4 +1,4 @@
-import { supabase } from "..//supabaseClient.ts";
+import { supabase } from "../supabaseClient.ts";
import { SizeInsert, SizeUpdate } from "@/types/size.ts";
export const sizeApiKeys = {
diff --git a/new-frontend/src/lib/api/users.ts b/src/lib/api/users.ts
similarity index 100%
rename from new-frontend/src/lib/api/users.ts
rename to src/lib/api/users.ts
diff --git a/new-frontend/src/lib/crypto.ts b/src/lib/crypto.ts
similarity index 100%
rename from new-frontend/src/lib/crypto.ts
rename to src/lib/crypto.ts
diff --git a/new-frontend/src/lib/dummyDatabase.ts b/src/lib/dummyDatabase.ts
similarity index 100%
rename from new-frontend/src/lib/dummyDatabase.ts
rename to src/lib/dummyDatabase.ts
diff --git a/new-frontend/src/lib/iconLoader.ts b/src/lib/iconLoader.ts
similarity index 100%
rename from new-frontend/src/lib/iconLoader.ts
rename to src/lib/iconLoader.ts
diff --git a/new-frontend/src/lib/supabaseClient.ts b/src/lib/supabaseClient.ts
similarity index 100%
rename from new-frontend/src/lib/supabaseClient.ts
rename to src/lib/supabaseClient.ts
diff --git a/new-frontend/src/lib/utils.ts b/src/lib/utils.ts
similarity index 100%
rename from new-frontend/src/lib/utils.ts
rename to src/lib/utils.ts
diff --git a/src/lib/utils/size.ts b/src/lib/utils/size.ts
new file mode 100644
index 00000000..d49c4f03
--- /dev/null
+++ b/src/lib/utils/size.ts
@@ -0,0 +1,42 @@
+// utils/sizes.ts
+export const getSizeWeight = (size: string | null | undefined): number => {
+ if (!size) return 9999; // "No Size" at the end
+ const sizeStr = size.toUpperCase();
+
+ // Handle numerical sizes (e.g. "12", "4T")
+ if (!isNaN(Number(sizeStr))) {
+ return Number(sizeStr) + 1000; // after letter sizes
+ }
+
+ const baseWeights: { [key: string]: number } = {
+ XXS: 100,
+ XS: 200,
+ S: 300,
+ M: 400,
+ L: 500,
+ XL: 600,
+ XXL: 700,
+ };
+
+ if (baseWeights[sizeStr]) {
+ return baseWeights[sizeStr];
+ }
+
+ // Handle extended "X" sizes
+ if (sizeStr.endsWith("S")) {
+ const xCount = (sizeStr.match(/X/g) || []).length;
+ if (xCount > 2) {
+ // XXXS, XXXXS...
+ return 100 - (xCount - 2) * 50;
+ }
+ } else if (sizeStr.endsWith("L")) {
+ const xCount = (sizeStr.match(/X/g) || []).length;
+ if (xCount > 2) {
+ // XXXL, XXXXL...
+ return 700 + (xCount - 2) * 50;
+ }
+ }
+
+ return 1500; // unknowns at the end
+};
+
diff --git a/new-frontend/src/main.tsx b/src/main.tsx
similarity index 100%
rename from new-frontend/src/main.tsx
rename to src/main.tsx
diff --git a/new-frontend/src/pages/api/boxes/[id].ts b/src/pages/api/boxes/[id].ts
similarity index 100%
rename from new-frontend/src/pages/api/boxes/[id].ts
rename to src/pages/api/boxes/[id].ts
diff --git a/new-frontend/src/providers/react-query-provider.tsx b/src/providers/react-query-provider.tsx
similarity index 100%
rename from new-frontend/src/providers/react-query-provider.tsx
rename to src/providers/react-query-provider.tsx
diff --git a/new-frontend/src/providers/router-provider.tsx b/src/providers/router-provider.tsx
similarity index 100%
rename from new-frontend/src/providers/router-provider.tsx
rename to src/providers/router-provider.tsx
diff --git a/new-frontend/src/types/activity-log.ts b/src/types/activity-log.ts
similarity index 100%
rename from new-frontend/src/types/activity-log.ts
rename to src/types/activity-log.ts
diff --git a/new-frontend/src/types/box.ts b/src/types/box.ts
similarity index 100%
rename from new-frontend/src/types/box.ts
rename to src/types/box.ts
diff --git a/new-frontend/src/types/boxContent.ts b/src/types/boxContent.ts
similarity index 100%
rename from new-frontend/src/types/boxContent.ts
rename to src/types/boxContent.ts
diff --git a/new-frontend/src/types/category.ts b/src/types/category.ts
similarity index 100%
rename from new-frontend/src/types/category.ts
rename to src/types/category.ts
diff --git a/new-frontend/src/types/enums.ts b/src/types/enums.ts
similarity index 100%
rename from new-frontend/src/types/enums.ts
rename to src/types/enums.ts
diff --git a/new-frontend/src/types/location.ts b/src/types/location.ts
similarity index 100%
rename from new-frontend/src/types/location.ts
rename to src/types/location.ts
diff --git a/new-frontend/src/types/size.ts b/src/types/size.ts
similarity index 100%
rename from new-frontend/src/types/size.ts
rename to src/types/size.ts
diff --git a/new-frontend/src/types/sizes.ts b/src/types/sizes.ts
similarity index 100%
rename from new-frontend/src/types/sizes.ts
rename to src/types/sizes.ts
diff --git a/new-frontend/src/types/supabase.ts b/src/types/supabase.ts
similarity index 100%
rename from new-frontend/src/types/supabase.ts
rename to src/types/supabase.ts
diff --git a/new-frontend/src/types/user.ts b/src/types/user.ts
similarity index 100%
rename from new-frontend/src/types/user.ts
rename to src/types/user.ts
diff --git a/exercises/todo-list/src/vite-env.d.ts b/src/vite-env.d.ts
similarity index 100%
rename from exercises/todo-list/src/vite-env.d.ts
rename to src/vite-env.d.ts
diff --git a/new-frontend/supabase/.gitignore b/supabase/.gitignore
similarity index 100%
rename from new-frontend/supabase/.gitignore
rename to supabase/.gitignore
diff --git a/new-frontend/supabase/.vscode/settings.json b/supabase/.vscode/settings.json
similarity index 100%
rename from new-frontend/supabase/.vscode/settings.json
rename to supabase/.vscode/settings.json
diff --git a/new-frontend/supabase/config.toml b/supabase/config.toml
similarity index 100%
rename from new-frontend/supabase/config.toml
rename to supabase/config.toml
diff --git a/new-frontend/supabase/functions/create-user/index.ts b/supabase/functions/create-user/index.ts
similarity index 100%
rename from new-frontend/supabase/functions/create-user/index.ts
rename to supabase/functions/create-user/index.ts
diff --git a/new-frontend/supabase/migrations/20241023213513_remote_schema.sql b/supabase/migrations/20241023213513_remote_schema.sql
similarity index 100%
rename from new-frontend/supabase/migrations/20241023213513_remote_schema.sql
rename to supabase/migrations/20241023213513_remote_schema.sql
diff --git a/new-frontend/supabase/migrations/20241023213643_remote_schema.sql b/supabase/migrations/20241023213643_remote_schema.sql
similarity index 100%
rename from new-frontend/supabase/migrations/20241023213643_remote_schema.sql
rename to supabase/migrations/20241023213643_remote_schema.sql
diff --git a/new-frontend/supabase/seed.sql b/supabase/seed.sql
similarity index 100%
rename from new-frontend/supabase/seed.sql
rename to supabase/seed.sql
diff --git a/new-frontend/tailwind.config.js b/tailwind.config.js
similarity index 100%
rename from new-frontend/tailwind.config.js
rename to tailwind.config.js
diff --git a/new-frontend/tsconfig.app.json b/tsconfig.app.json
similarity index 100%
rename from new-frontend/tsconfig.app.json
rename to tsconfig.app.json
diff --git a/new-frontend/tsconfig.json b/tsconfig.json
similarity index 100%
rename from new-frontend/tsconfig.json
rename to tsconfig.json
diff --git a/new-frontend/tsconfig.node.json b/tsconfig.node.json
similarity index 100%
rename from new-frontend/tsconfig.node.json
rename to tsconfig.node.json
diff --git a/new-frontend/vite.config.ts b/vite.config.ts
similarity index 100%
rename from new-frontend/vite.config.ts
rename to vite.config.ts