From e761a8b558e145f72ba7e08cc16c3284d5b01bf3 Mon Sep 17 00:00:00 2001 From: Faisal Date: Tue, 4 Nov 2025 16:43:45 -0500 Subject: [PATCH 1/2] deleted excercises folder and moved new-frontend to the root of the project. Updated README --- new-frontend/.eslintcache => .eslintcache | 0 .gitignore | 8 +- {new-frontend/.husky => .husky}/pre-commit | 0 new-frontend/.lintstagedrc => .lintstagedrc | 0 .../.prettierignore => .prettierignore | 0 new-frontend/.prettierrc => .prettierrc | 0 .vite/deps/_metadata.json | 8 + .vite/deps/package.json | 3 + README.md | 93 +- .../components.json => components.json | 0 exercises/todo-list/.gitignore | 24 - exercises/todo-list/README.md | 50 - exercises/todo-list/components.json | 21 - exercises/todo-list/eslint.config.js | 28 - exercises/todo-list/index.html | 16 - exercises/todo-list/package.json | 43 - exercises/todo-list/pnpm-lock.yaml | 2938 ----------------- exercises/todo-list/postcss.config.js | 6 - exercises/todo-list/public/vite.svg | 1 - exercises/todo-list/src/App.tsx | 14 - exercises/todo-list/src/api/api.ts | 34 - exercises/todo-list/src/api/todos.ts | 44 - exercises/todo-list/src/api/use-todos.ts | 28 - .../src/components/general/TodoItem.tsx | 26 - .../todo-list/src/components/ui/button.tsx | 57 - .../todo-list/src/components/ui/checkbox.tsx | 28 - .../todo-list/src/components/ui/input.tsx | 22 - exercises/todo-list/src/index.css | 9 - exercises/todo-list/src/lib/utils.ts | 6 - exercises/todo-list/src/main.tsx | 15 - .../src/providers/react-query-provider.tsx | 27 - exercises/todo-list/tailwind.config.js | 20 - exercises/todo-list/tsconfig.app.json | 31 - exercises/todo-list/tsconfig.json | 13 - exercises/todo-list/tsconfig.node.json | 28 - exercises/todo-list/vite.config.ts | 13 - new-frontend/index.html => index.html | 0 new-frontend/.gitignore | 27 - new-frontend/README.md | 84 - new-frontend/src/assets/react.svg | 1 - new-frontend/src/vite-env.d.ts | 1 - new-frontend/package.json => package.json | 0 ...pnpm-workspace.yaml => pnpm-workspace.yaml | 0 .../postcss.config.js => postcss.config.js | 0 {new-frontend/public => public}/_redirects | 0 .../public => public}/icons/logo.png | Bin .../icons/welcomecollective.svg | 0 {new-frontend/src => src}/App.tsx | 0 .../assets/category_icons/BabyBodysuit.svg | 0 .../assets/category_icons/Balaclava.svg | 0 .../assets/category_icons/Belt.svg | 0 .../src => src}/assets/category_icons/Box.svg | 0 .../src => src}/assets/category_icons/Bra.svg | 0 .../assets/category_icons/Clothes Hanger.svg | 0 .../assets/category_icons/Dress.svg | 0 .../assets/category_icons/Folder.svg | 0 .../assets/category_icons/Necklace.svg | 0 .../assets/category_icons/Overall.svg | 0 .../assets/category_icons/Shirt.svg | 0 .../assets/category_icons/Shoes.svg | 0 .../assets/category_icons/Shorts.svg | 0 .../assets/category_icons/Skirt.svg | 0 .../assets/category_icons/Socks.svg | 0 .../assets/category_icons/Strappy top.svg | 0 .../assets/category_icons/Sweater.svg | 0 .../src => src}/assets/category_icons/Tie.svg | 0 .../assets/category_icons/Trousers.svg | 0 .../assets/category_icons/Underwear.svg | 0 .../assets/category_icons/Winter Gloves.svg | 0 .../assets/category_icons/Winter Hat.svg | 0 .../assets/category_icons/Winter Jacket.svg | 0 .../assets/category_icons/Winter Scarf.svg | 0 .../todo-list/src => src}/assets/react.svg | 0 .../components/category-icon/index.tsx | 0 .../components/icon-selector/index.tsx | 0 .../src => src}/components/layout/index.tsx | 0 .../src => src}/components/loading/index.tsx | 0 .../components/search-bar/index.tsx | 0 .../tree-select/components/search-input.tsx | 0 .../tree-select/components/tree-item.tsx | 0 .../components/tree-select/index.tsx | 0 .../components/ui/alert-dialog.tsx | 0 .../src => src}/components/ui/alert.tsx | 0 .../src => src}/components/ui/avatar.tsx | 0 .../src => src}/components/ui/badge.tsx | 0 .../src => src}/components/ui/button.tsx | 0 .../src => src}/components/ui/calendar.tsx | 0 .../src => src}/components/ui/card.tsx | 0 .../src => src}/components/ui/checkbox.tsx | 0 .../src => src}/components/ui/command.tsx | 0 .../src => src}/components/ui/dialog.tsx | 0 .../components/ui/dropdown-menu.tsx | 0 .../src => src}/components/ui/form.tsx | 0 .../src => src}/components/ui/input.tsx | 0 .../src => src}/components/ui/label.tsx | 0 .../src => src}/components/ui/popover.tsx | 0 .../src => src}/components/ui/scroll-area.tsx | 0 .../src => src}/components/ui/select.tsx | 0 .../src => src}/components/ui/sheet.tsx | 0 .../src => src}/components/ui/sonner.tsx | 0 .../src => src}/components/ui/table.tsx | 0 .../src => src}/components/ui/toast.tsx | 0 .../src => src}/components/ui/toaster.tsx | 0 .../src => src}/contexts/auth-context.tsx | 0 .../add-box/hooks/useAddBoxQueries.ts | 0 .../features/add-box/hooks/useCreateBox.ts | 0 .../src => src}/features/add-box/index.tsx | 0 .../src => src}/features/add-box/utils.ts | 0 .../components/AdminOverview.tsx | 0 .../admin-dashboard/components/BoxDetails.tsx | 0 .../components/ContentCard.tsx | 0 .../components/SearchFilters.tsx | 0 .../components/admin-header.tsx | 0 .../components/sidebar-nav-item.tsx | 0 .../admin-dashboard/components/sidebar.tsx | 0 .../admin-dashboard/constants/navItems.ts | 0 .../admin-dashboard/hooks/useBoxDetails.ts | 0 .../admin-dashboard/hooks/useBoxView.ts | 0 .../admin-dashboard/hooks/useInventory.ts | 0 .../features/admin-dashboard/index.tsx | 0 .../components/activity-log-table.tsx | 0 .../activity-log/components/searchbar.tsx | 0 .../activity-log/hooks/use-activity-logs.ts | 0 .../tabs/activity-log/index.tsx | 0 .../tabs/activity-log/repomix-output.xml | 0 .../tabs/box-lookup/components/BoxesTable.tsx | 0 .../box-lookup/components/DonateDialog.tsx | 0 .../tabs/box-lookup/components/MoveDialog.tsx | 0 .../admin-dashboard/tabs/box-lookup/index.tsx | 0 .../admin-dashboard/tabs/box-lookup/types.ts | 0 .../admin-dashboard/tabs/box-lookup/utils.ts | 0 .../CategoryManagement.tsx | 0 .../components/category-form.tsx | 0 .../components/category-table.tsx | 0 .../hooks/use-categories.ts | 0 .../tabs/category-management/index.tsx | 0 .../tabs/category-management/utils.ts | 0 .../tabs/create-boxes/index.tsx | 0 .../admin-dashboard/tabs/donations/index.tsx | 0 .../tabs/inventory-management/index.tsx | 0 .../components/BoxDetailsSlideOver.tsx | 0 .../admin-dashboard/tabs/inventory/index.tsx | 0 .../components/create-location-form.tsx | 0 .../components/location-table.tsx | 0 .../hooks/use-location-columns.tsx | 0 .../hooks/use-locations.ts | 0 .../tabs/location-management/index.tsx | 0 .../tabs/location-management/utils.ts | 0 .../tabs/size-management/SizeManagement.tsx | 0 .../size-management/components/size-form.tsx | 0 .../size-management/components/size-table.tsx | 0 .../tabs/size-management/hooks/use-sizes.ts | 0 .../tabs/size-management/index.tsx | 0 .../user-management/components/search-bar.tsx | 0 .../user-management/components/user-form.tsx | 0 .../user-management/components/user-table.tsx | 0 .../tabs/user-management/hooks/use-users.ts | 0 .../tabs/user-management/index.tsx | 0 .../tabs/user-management/types.ts | 0 .../features/admin-dashboard/types.ts | 0 .../src => src}/features/auth/login/index.tsx | 0 .../features/auth/unauthorized/index.tsx | 0 .../features/search-box-by-id/index.tsx | 0 .../features/search-for-item/index.tsx | 0 .../src => src}/features/user-info/index.tsx | 0 .../components/dashboard-tile.tsx | 0 .../features/volunteer-dashboard/index.tsx | 0 .../hooks/use-create-activity-log.ts | 0 {new-frontend/src => src}/hooks/use-toast.ts | 0 {new-frontend/src => src}/index.css | 0 {new-frontend/src => src}/lib/api.ts | 0 .../src => src}/lib/api/activity-log.ts | 0 {new-frontend/src => src}/lib/api/boxes.ts | 0 .../src => src}/lib/api/categories.ts | 0 {new-frontend/src => src}/lib/api/icon.ts | 0 {new-frontend/src => src}/lib/api/index.ts | 0 .../src => src}/lib/api/locations.ts | 0 .../src => src}/lib/api/queryKeys.ts | 0 {new-frontend/src => src}/lib/api/sizes.ts | 2 +- {new-frontend/src => src}/lib/api/users.ts | 0 {new-frontend/src => src}/lib/crypto.ts | 0 .../src => src}/lib/dummyDatabase.ts | 0 {new-frontend/src => src}/lib/iconLoader.ts | 0 .../src => src}/lib/supabaseClient.ts | 0 {new-frontend/src => src}/lib/utils.ts | 0 {new-frontend/src => src}/main.tsx | 0 .../src => src}/pages/api/boxes/[id].ts | 0 .../providers/react-query-provider.tsx | 0 .../src => src}/providers/router-provider.tsx | 0 .../src => src}/types/activity-log.ts | 0 {new-frontend/src => src}/types/box.ts | 0 {new-frontend/src => src}/types/boxContent.ts | 0 {new-frontend/src => src}/types/category.ts | 0 {new-frontend/src => src}/types/enums.ts | 0 {new-frontend/src => src}/types/location.ts | 0 {new-frontend/src => src}/types/size.ts | 0 {new-frontend/src => src}/types/sizes.ts | 0 {new-frontend/src => src}/types/supabase.ts | 0 {new-frontend/src => src}/types/user.ts | 0 .../todo-list/src => src}/vite-env.d.ts | 0 .../supabase => supabase}/.gitignore | 0 .../.vscode/settings.json | 0 .../supabase => supabase}/config.toml | 0 .../functions/create-user/index.ts | 0 .../20241023213513_remote_schema.sql | 0 .../20241023213643_remote_schema.sql | 0 {new-frontend/supabase => supabase}/seed.sql | 0 .../tailwind.config.js => tailwind.config.js | 0 .../tsconfig.app.json => tsconfig.app.json | 0 new-frontend/tsconfig.json => tsconfig.json | 0 .../tsconfig.node.json => tsconfig.node.json | 0 new-frontend/vite.config.ts => vite.config.ts | 0 212 files changed, 89 insertions(+), 3680 deletions(-) rename new-frontend/.eslintcache => .eslintcache (100%) rename {new-frontend/.husky => .husky}/pre-commit (100%) rename new-frontend/.lintstagedrc => .lintstagedrc (100%) rename new-frontend/.prettierignore => .prettierignore (100%) rename new-frontend/.prettierrc => .prettierrc (100%) create mode 100644 .vite/deps/_metadata.json create mode 100644 .vite/deps/package.json rename new-frontend/components.json => components.json (100%) delete mode 100644 exercises/todo-list/.gitignore delete mode 100644 exercises/todo-list/README.md delete mode 100644 exercises/todo-list/components.json delete mode 100644 exercises/todo-list/eslint.config.js delete mode 100644 exercises/todo-list/index.html delete mode 100644 exercises/todo-list/package.json delete mode 100644 exercises/todo-list/pnpm-lock.yaml delete mode 100644 exercises/todo-list/postcss.config.js delete mode 100644 exercises/todo-list/public/vite.svg delete mode 100644 exercises/todo-list/src/App.tsx delete mode 100644 exercises/todo-list/src/api/api.ts delete mode 100644 exercises/todo-list/src/api/todos.ts delete mode 100644 exercises/todo-list/src/api/use-todos.ts delete mode 100644 exercises/todo-list/src/components/general/TodoItem.tsx delete mode 100644 exercises/todo-list/src/components/ui/button.tsx delete mode 100644 exercises/todo-list/src/components/ui/checkbox.tsx delete mode 100644 exercises/todo-list/src/components/ui/input.tsx delete mode 100644 exercises/todo-list/src/index.css delete mode 100644 exercises/todo-list/src/lib/utils.ts delete mode 100644 exercises/todo-list/src/main.tsx delete mode 100644 exercises/todo-list/src/providers/react-query-provider.tsx delete mode 100644 exercises/todo-list/tailwind.config.js delete mode 100644 exercises/todo-list/tsconfig.app.json delete mode 100644 exercises/todo-list/tsconfig.json delete mode 100644 exercises/todo-list/tsconfig.node.json delete mode 100644 exercises/todo-list/vite.config.ts rename new-frontend/index.html => index.html (100%) delete mode 100644 new-frontend/.gitignore delete mode 100644 new-frontend/README.md delete mode 100644 new-frontend/src/assets/react.svg delete mode 100644 new-frontend/src/vite-env.d.ts rename new-frontend/package.json => package.json (100%) rename new-frontend/pnpm-workspace.yaml => pnpm-workspace.yaml (100%) rename new-frontend/postcss.config.js => postcss.config.js (100%) rename {new-frontend/public => public}/_redirects (100%) rename {new-frontend/public => public}/icons/logo.png (100%) rename {new-frontend/public => public}/icons/welcomecollective.svg (100%) rename {new-frontend/src => src}/App.tsx (100%) rename {new-frontend/src => src}/assets/category_icons/BabyBodysuit.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Balaclava.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Belt.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Box.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Bra.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Clothes Hanger.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Dress.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Folder.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Necklace.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Overall.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Shirt.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Shoes.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Shorts.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Skirt.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Socks.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Strappy top.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Sweater.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Tie.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Trousers.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Underwear.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Winter Gloves.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Winter Hat.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Winter Jacket.svg (100%) rename {new-frontend/src => src}/assets/category_icons/Winter Scarf.svg (100%) rename {exercises/todo-list/src => src}/assets/react.svg (100%) rename {new-frontend/src => src}/components/category-icon/index.tsx (100%) rename {new-frontend/src => src}/components/icon-selector/index.tsx (100%) rename {new-frontend/src => src}/components/layout/index.tsx (100%) rename {new-frontend/src => src}/components/loading/index.tsx (100%) rename {new-frontend/src => src}/components/search-bar/index.tsx (100%) rename {new-frontend/src => src}/components/tree-select/components/search-input.tsx (100%) rename {new-frontend/src => src}/components/tree-select/components/tree-item.tsx (100%) rename {new-frontend/src => src}/components/tree-select/index.tsx (100%) rename {new-frontend/src => src}/components/ui/alert-dialog.tsx (100%) rename {new-frontend/src => src}/components/ui/alert.tsx (100%) rename {new-frontend/src => src}/components/ui/avatar.tsx (100%) rename {new-frontend/src => src}/components/ui/badge.tsx (100%) rename {new-frontend/src => src}/components/ui/button.tsx (100%) rename {new-frontend/src => src}/components/ui/calendar.tsx (100%) rename {new-frontend/src => src}/components/ui/card.tsx (100%) rename {new-frontend/src => src}/components/ui/checkbox.tsx (100%) rename {new-frontend/src => src}/components/ui/command.tsx (100%) rename {new-frontend/src => src}/components/ui/dialog.tsx (100%) rename {new-frontend/src => src}/components/ui/dropdown-menu.tsx (100%) rename {new-frontend/src => src}/components/ui/form.tsx (100%) rename {new-frontend/src => src}/components/ui/input.tsx (100%) rename {new-frontend/src => src}/components/ui/label.tsx (100%) rename {new-frontend/src => src}/components/ui/popover.tsx (100%) rename {new-frontend/src => src}/components/ui/scroll-area.tsx (100%) rename {new-frontend/src => src}/components/ui/select.tsx (100%) rename {new-frontend/src => src}/components/ui/sheet.tsx (100%) rename {new-frontend/src => src}/components/ui/sonner.tsx (100%) rename {new-frontend/src => src}/components/ui/table.tsx (100%) rename {new-frontend/src => src}/components/ui/toast.tsx (100%) rename {new-frontend/src => src}/components/ui/toaster.tsx (100%) rename {new-frontend/src => src}/contexts/auth-context.tsx (100%) rename {new-frontend/src => src}/features/add-box/hooks/useAddBoxQueries.ts (100%) rename {new-frontend/src => src}/features/add-box/hooks/useCreateBox.ts (100%) rename {new-frontend/src => src}/features/add-box/index.tsx (100%) rename {new-frontend/src => src}/features/add-box/utils.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/AdminOverview.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/BoxDetails.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/ContentCard.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/SearchFilters.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/admin-header.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/sidebar-nav-item.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/components/sidebar.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/constants/navItems.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/hooks/useBoxDetails.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/hooks/useBoxView.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/hooks/useInventory.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/activity-log/components/activity-log-table.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/activity-log/components/searchbar.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/activity-log/hooks/use-activity-logs.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/activity-log/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/activity-log/repomix-output.xml (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/box-lookup/components/BoxesTable.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/box-lookup/components/DonateDialog.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/box-lookup/components/MoveDialog.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/box-lookup/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/box-lookup/types.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/box-lookup/utils.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/category-management/CategoryManagement.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/category-management/components/category-form.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/category-management/components/category-table.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/category-management/hooks/use-categories.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/category-management/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/category-management/utils.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/create-boxes/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/donations/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/inventory-management/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/inventory/components/BoxDetailsSlideOver.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/inventory/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/location-management/components/create-location-form.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/location-management/components/location-table.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/location-management/hooks/use-location-columns.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/location-management/hooks/use-locations.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/location-management/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/location-management/utils.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/size-management/SizeManagement.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/size-management/components/size-form.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/size-management/components/size-table.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/size-management/hooks/use-sizes.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/size-management/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/user-management/components/search-bar.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/user-management/components/user-form.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/user-management/components/user-table.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/user-management/hooks/use-users.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/user-management/index.tsx (100%) rename {new-frontend/src => src}/features/admin-dashboard/tabs/user-management/types.ts (100%) rename {new-frontend/src => src}/features/admin-dashboard/types.ts (100%) rename {new-frontend/src => src}/features/auth/login/index.tsx (100%) rename {new-frontend/src => src}/features/auth/unauthorized/index.tsx (100%) rename {new-frontend/src => src}/features/search-box-by-id/index.tsx (100%) rename {new-frontend/src => src}/features/search-for-item/index.tsx (100%) rename {new-frontend/src => src}/features/user-info/index.tsx (100%) rename {new-frontend/src => src}/features/volunteer-dashboard/components/dashboard-tile.tsx (100%) rename {new-frontend/src => src}/features/volunteer-dashboard/index.tsx (100%) rename {new-frontend/src => src}/hooks/use-create-activity-log.ts (100%) rename {new-frontend/src => src}/hooks/use-toast.ts (100%) rename {new-frontend/src => src}/index.css (100%) rename {new-frontend/src => src}/lib/api.ts (100%) rename {new-frontend/src => src}/lib/api/activity-log.ts (100%) rename {new-frontend/src => src}/lib/api/boxes.ts (100%) rename {new-frontend/src => src}/lib/api/categories.ts (100%) rename {new-frontend/src => src}/lib/api/icon.ts (100%) rename {new-frontend/src => src}/lib/api/index.ts (100%) rename {new-frontend/src => src}/lib/api/locations.ts (100%) rename {new-frontend/src => src}/lib/api/queryKeys.ts (100%) rename {new-frontend/src => src}/lib/api/sizes.ts (98%) rename {new-frontend/src => src}/lib/api/users.ts (100%) rename {new-frontend/src => src}/lib/crypto.ts (100%) rename {new-frontend/src => src}/lib/dummyDatabase.ts (100%) rename {new-frontend/src => src}/lib/iconLoader.ts (100%) rename {new-frontend/src => src}/lib/supabaseClient.ts (100%) rename {new-frontend/src => src}/lib/utils.ts (100%) rename {new-frontend/src => src}/main.tsx (100%) rename {new-frontend/src => src}/pages/api/boxes/[id].ts (100%) rename {new-frontend/src => src}/providers/react-query-provider.tsx (100%) rename {new-frontend/src => src}/providers/router-provider.tsx (100%) rename {new-frontend/src => src}/types/activity-log.ts (100%) rename {new-frontend/src => src}/types/box.ts (100%) rename {new-frontend/src => src}/types/boxContent.ts (100%) rename {new-frontend/src => src}/types/category.ts (100%) rename {new-frontend/src => src}/types/enums.ts (100%) rename {new-frontend/src => src}/types/location.ts (100%) rename {new-frontend/src => src}/types/size.ts (100%) rename {new-frontend/src => src}/types/sizes.ts (100%) rename {new-frontend/src => src}/types/supabase.ts (100%) rename {new-frontend/src => src}/types/user.ts (100%) rename {exercises/todo-list/src => src}/vite-env.d.ts (100%) rename {new-frontend/supabase => supabase}/.gitignore (100%) rename {new-frontend/supabase => supabase}/.vscode/settings.json (100%) rename {new-frontend/supabase => supabase}/config.toml (100%) rename {new-frontend/supabase => supabase}/functions/create-user/index.ts (100%) rename {new-frontend/supabase => supabase}/migrations/20241023213513_remote_schema.sql (100%) rename {new-frontend/supabase => supabase}/migrations/20241023213643_remote_schema.sql (100%) rename {new-frontend/supabase => supabase}/seed.sql (100%) rename new-frontend/tailwind.config.js => tailwind.config.js (100%) rename new-frontend/tsconfig.app.json => tsconfig.app.json (100%) rename new-frontend/tsconfig.json => tsconfig.json (100%) rename new-frontend/tsconfig.node.json => tsconfig.node.json (100%) rename new-frontend/vite.config.ts => vite.config.ts (100%) 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/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/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/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 From 86854d51b8e586577396e20fce09813f33d06e8a Mon Sep 17 00:00:00 2001 From: Faisal Date: Tue, 4 Nov 2025 17:02:33 -0500 Subject: [PATCH 2/2] size.ts file --- src/lib/utils/size.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/lib/utils/size.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 +}; +