diff --git a/.env b/.env
index 1409b98..e69de29 100644
--- a/.env
+++ b/.env
@@ -1,2 +0,0 @@
-NEXTAUTH_SECRET=Pn9CJbdUk6C9J8+lY6SlmFHkw4NItMpoHJ6ylIwEqrk=
-NEXT_PUBLIC_API_URL=https://mangahub.azurewebsites.net
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
index 66ce2d9..6afe64c 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -5,7 +5,6 @@
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended",
- "next/core-web-vitals",
"plugin:prettier/recommended"
],
"ignorePatterns": ["dist", ".eslintrc.cjs"],
@@ -18,6 +17,7 @@
"prettier"
],
"rules": {
+ "no-undef": "warn",
"react/react-in-jsx-scope": 0,
"react/display-name": 0,
"@typescript-eslint/no-var-requires": "off",
@@ -50,7 +50,7 @@
],
"react/function-component-definition": [
2,
- { "namedComponents": "function-declaration" }
+ { "namedComponents": "arrow-function" }
],
"react/jsx-one-expression-per-line": "off"
}
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
deleted file mode 100644
index 0a0031a..0000000
--- a/.github/workflows/deploy.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-# Simple workflow for deploying static content to GitHub Pages
-name: Deploy static content to Pages
-
-on:
- # Runs on pushes targeting the default branch
- push:
- branches: ['main']
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
-
-# Allow one concurrent deployment
-concurrency:
- group: 'pages'
- cancel-in-progress: true
-
-jobs:
- # Single deploy job since we're just deploying
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- - name: Set up Node
- uses: actions/setup-node@v3
- with:
- node-version: 18
- cache: 'npm'
- - name: Install dependencies
- run: npm install
- - name: Build
- run: npm run build
- - name: Setup Pages
- uses: actions/configure-pages@v3
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v1
- with:
- # Upload dist repository
- path: './dist'
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v1
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 3a8a177..d8db839 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,7 +7,6 @@ yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
-.next
node_modules
dist
dist-ssr
diff --git a/.prettierrc b/.prettierrc
index bb62995..2db266a 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -4,6 +4,5 @@
"semi": true,
"singleQuote": true,
"printWidth": 80,
- "endOfLine": "lf",
- "plugins": ["prettier-plugin-tailwindcss"]
+ "endOfLine": "lf"
}
diff --git a/components.json b/components.json
deleted file mode 100644
index 94d1ff9..0000000
--- a/components.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "$schema": "https://ui.shadcn.com/schema.json",
- "style": "default",
- "rsc": true,
- "tsx": true,
- "tailwind": {
- "config": "tailwind.config.js",
- "css": "./src/app/globals.css",
- "baseColor": "slate",
- "cssVariables": true
- },
- "aliases": {
- "components": "@/shared/components",
- "utils": "@/shared/utils/cn"
- }
-}
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..7a09b03
--- /dev/null
+++ b/index.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+ Manga Hub
+
+
+
+
+
+
diff --git a/lint-staged.config.js b/lint-staged.config.js
index 3b6359d..2591315 100644
--- a/lint-staged.config.js
+++ b/lint-staged.config.js
@@ -1,20 +1,14 @@
-module.exports = {
+export default {
// Type check TypeScript files
'**/*.(ts|tsx)': () => 'yarn tsc --noEmit',
// Lint then format TypeScript and JavaScript files
'**/*.(ts|tsx|js)': (filenames) => [
- `yarn eslint --fix ${filenames
- .filter((filePath) => !filePath.includes('[', '('))
- .join(' ')}`,
- `yarn prettier --write ${filenames
- .filter((filePath) => !filePath.includes('[', '('))
- .join(' ')}`,
+ `yarn eslint --fix ${filenames.join(' ')}`,
+ `yarn prettier --write ${filenames.join(' ')}`,
],
// Format MarkDown and JSON
'**/*.(md|json)': (filenames) =>
- `yarn prettier --write ${filenames
- .filter((filePath) => !filePath.includes('[...nextauth]'))
- .join(' ')}`,
+ `yarn prettier --write ${filenames.join(' ')}`,
};
diff --git a/next-env.d.ts b/next-env.d.ts
deleted file mode 100644
index 4f11a03..0000000
--- a/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.js b/next.config.js
deleted file mode 100644
index b58adfa..0000000
--- a/next.config.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/** @type {import('next').NextConfig} */
-module.exports = {
- reactStrictMode: true,
- swcMinify: true,
- compiler: {
- styledComponents: true,
- },
- webpack: (config) => {
- config.resolve.alias.canvas = false;
-
- return config;
- },
-};
diff --git a/package.json b/package.json
index 205207c..54ddc6e 100644
--- a/package.json
+++ b/package.json
@@ -1,40 +1,26 @@
{
"name": "mangahub",
"private": true,
- "version": "0.0.0",
- "type": "commonjs",
+ "version": "0.0.1",
+ "type": "module",
"scripts": {
- "dev": "clear && next dev",
- "build": "next build",
- "start": "next start",
- "lint": "next lint --fix"
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview",
+ "lint": "eslint --ext .js,.jsx,.ts,.tsx",
+ "lint:fix": "eslint --ext .js,.jsx,.ts,.tsx --fix",
+ "format": "prettier \"**/*.{js,jsx,ts,tsx,css,scss}\" --write"
},
"dependencies": {
"@hookform/resolvers": "^3.3.2",
- "@radix-ui/react-checkbox": "^1.0.4",
- "@radix-ui/react-dropdown-menu": "^2.0.6",
- "@radix-ui/react-label": "^2.0.2",
- "@radix-ui/react-select": "^2.0.0",
- "@radix-ui/react-separator": "^1.0.3",
- "@radix-ui/react-slot": "^1.0.2",
- "@radix-ui/react-toast": "^1.1.5",
- "@tanstack/react-table": "^8.10.7",
"axios": "^1.5.1",
- "class-variance-authority": "^0.7.0",
- "clsx": "^2.0.0",
- "eslint-config-prettier": "^9.0.0",
- "jwt-decode": "^4.0.0",
"lucide-react": "^0.289.0",
- "next": "^13.5.6",
- "next-auth": "^4.24.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
+ "react-helmet": "^6.1.0",
"react-hook-form": "^7.47.0",
- "react-pdf": "^7.5.1",
"react-router-dom": "^6.16.0",
- "styled-components": "^6.1.1",
- "tailwind-merge": "^1.14.0",
- "tailwindcss-animate": "^1.0.7",
+ "styled-components": "^6.1.5",
"uuid": "^9.0.1",
"yup": "^1.3.2"
},
@@ -44,21 +30,19 @@
"@types/react-dom": "^18.2.7",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
- "autoprefixer": "^10.4.16",
+ "@vitejs/plugin-react": "^4.2.1",
"eslint": "^8.45.0",
- "eslint-config-next": "^13.5.6",
+ "eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.3",
+ "eslint-plugin-react-refresh": "^0.4.5",
"husky": "^8.0.3",
"lint-staged": "^15.0.2",
- "postcss": "^8.4.31",
"prettier": "3.0.3",
- "prettier-plugin-tailwindcss": "^0.5.6",
- "shadcn-ui": "^0.4.1",
- "tailwindcss": "^3.3.5",
- "typescript": "^5.2.2"
+ "typescript": "^5.2.2",
+ "vite": "^5.0.10",
+ "vite-tsconfig-paths": "^4.2.2"
}
}
diff --git a/postcss.config.js b/postcss.config.js
deleted file mode 100644
index 12a703d..0000000
--- a/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-};
diff --git a/public/bg.jpg b/public/bg.jpg
deleted file mode 100644
index 2bfdb17..0000000
Binary files a/public/bg.jpg and /dev/null differ
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..d525b47
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,42 @@
+import { BrowserRouter, Route, Routes } from 'react-router-dom';
+
+import { ROUTE } from './constants';
+import {
+ ChangePasswordContainer,
+ ForgotPasswordContainer,
+ SignInContainer,
+ SignUpContainer,
+} from './modules/auth';
+import { HomeContainer } from './modules/home';
+import { LayoutContainer } from './modules/layout';
+import { NotFoundContainer } from './modules/notFound';
+
+import GlobalStyles from '@/globals';
+
+const App = () => {
+ return (
+ <>
+
+
+
+ }>
+ } />
+ } />
+ } />
+ }
+ />
+ }
+ />
+ } />
+
+
+
+ >
+ );
+};
+
+export default App;
diff --git a/src/app/(auth)/change-password/page.tsx b/src/app/(auth)/change-password/page.tsx
deleted file mode 100644
index 8d243bf..0000000
--- a/src/app/(auth)/change-password/page.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter, useSearchParams } from 'next/navigation';
-import { useEffect } from 'react';
-import { Resolver, SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { ChangePasswordDTO, ChangePasswordForm } from './types';
-
-import { Input } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import { PasswordRegex } from '@/shared/constants/validationConstants';
-import { axios } from '@/shared/utils/axios';
-
-const validationSchema = yup
- .object({
- password: yup
- .string()
- .required('No password provided.')
- .min(8, 'Password minimal length is 8')
- .matches(
- PasswordRegex,
- 'Password may contain only latin characters, numbers and special characters.',
- ),
- confirmPassword: yup
- .string()
- .required('No password provided.')
- .min(8, 'Password minimal length is 8')
- .matches(
- PasswordRegex,
- 'Password may contain only latin characters, numbers and special characters.',
- ),
- })
- .required();
-
-function ChangePasswordPage() {
- const { toast } = useToast();
- const router = useRouter();
- const searchParams = useSearchParams();
-
- const token = searchParams.get('token');
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- } = useForm({
- resolver: yupResolver(validationSchema) as Resolver<
- ChangePasswordForm,
- unknown
- >,
- });
-
- useEffect(() => {
- (async () => {
- try {
- await axios.get('User/request-reset-password', {
- params: { token },
- });
- } catch (e) {
- console.error(e);
-
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- description: 'Your token is invalid, please try again from the start',
- });
-
- router.push(ROUTE.HOME);
- }
- })();
- }, [token, router, toast]);
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axios.post(
- 'User/reset-password',
- {
- ...data,
- token,
- },
- );
-
- toast({
- title: 'Success',
- description: 'Your password has been changed successfully',
- });
-
- router.push(ROUTE.HOME);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- // description: error.errors, TODO doesn't work
- });
- }
- };
- return (
-
-
Change Password Form
-
-
- );
-}
-
-export default ChangePasswordPage;
diff --git a/src/app/(auth)/change-password/types.ts b/src/app/(auth)/change-password/types.ts
deleted file mode 100644
index 7016240..0000000
--- a/src/app/(auth)/change-password/types.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export type ChangePasswordDTO = {
- token: string;
- password: string;
- confirmPassword: string;
-};
-
-export type ChangePasswordForm = {
- password: string;
- confirmPassword: string;
-};
diff --git a/src/app/(auth)/forgot-password/page.tsx b/src/app/(auth)/forgot-password/page.tsx
deleted file mode 100644
index 5860d08..0000000
--- a/src/app/(auth)/forgot-password/page.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter } from 'next/navigation';
-import { Resolver, SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { ForgotPasswordDTO } from './types';
-
-import { Input } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import { axios } from '@/shared/utils/axios';
-
-const validationSchema = yup
- .object({
- email: yup
- .string()
- .required('Email required')
- .email('Incorrect email')
- .min(5, 'Email minimum length is 5'),
- })
- .required();
-
-function ForgotPasswordPage() {
- const { toast } = useToast();
- const router = useRouter();
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- } = useForm({
- resolver: yupResolver(validationSchema) as Resolver<
- ForgotPasswordDTO,
- unknown
- >,
- });
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axios.post('User/forgot-password', data);
-
- toast({
- title: 'Success',
- description: 'Check your email for changing password',
- });
-
- router.push(ROUTE.HOME);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- // description: error.errors, TODO doesn't work
- });
- }
- };
- return (
-
-
Change Password Form
-
-
- );
-}
-
-export default ForgotPasswordPage;
diff --git a/src/app/(auth)/forgot-password/types.ts b/src/app/(auth)/forgot-password/types.ts
deleted file mode 100644
index c4883ee..0000000
--- a/src/app/(auth)/forgot-password/types.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export type ForgotPasswordDTO = {
- email: string;
-};
diff --git a/src/app/(auth)/layout.tsx b/src/app/(auth)/layout.tsx
deleted file mode 100644
index 70a1dda..0000000
--- a/src/app/(auth)/layout.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import '../globals.css';
-
-process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
-
-import { ReactNode } from 'react';
-
-import { Providers } from '@/shared/components';
-import { Toaster } from '@/shared/components/ui/toaster';
-
-interface RootLayoutProps {
- children: ReactNode;
-}
-
-export default function RootLayout({ children }: RootLayoutProps) {
- return (
-
-
-
-
- {children}
-
-
-
- );
-}
diff --git a/src/app/(auth)/loading.tsx b/src/app/(auth)/loading.tsx
deleted file mode 100644
index 8964cdb..0000000
--- a/src/app/(auth)/loading.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import { FullPageLoader } from '@/shared/components/lib';
-
-export default function Loading() {
- return ;
-}
diff --git a/src/app/(auth)/sign-in/page.tsx b/src/app/(auth)/sign-in/page.tsx
deleted file mode 100644
index 0543f77..0000000
--- a/src/app/(auth)/sign-in/page.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import dynamic from 'next/dynamic';
-
-const SignInContainer = dynamic(() => import('@/containers/sign-in'), {
- ssr: false,
-});
-
-export default function SignInPage() {
- return ;
-}
diff --git a/src/app/(auth)/sign-up/page.tsx b/src/app/(auth)/sign-up/page.tsx
deleted file mode 100644
index a8aa4d9..0000000
--- a/src/app/(auth)/sign-up/page.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import dynamic from 'next/dynamic';
-
-const SignUpContainer = dynamic(() => import('@/containers/sign-up'), {
- ssr: false,
-});
-
-export default function SignUpPage() {
- return ;
-}
diff --git a/src/app/(main)/admin/page.tsx b/src/app/(main)/admin/page.tsx
deleted file mode 100644
index d69aabd..0000000
--- a/src/app/(main)/admin/page.tsx
+++ /dev/null
@@ -1,140 +0,0 @@
-'use client';
-
-import { useRouter } from 'next/navigation';
-import { useSession } from 'next-auth/react';
-import { useCallback, useEffect, useState } from 'react';
-
-import { columns } from './types/columns';
-
-import { DataTable as _DataTable } from '@/shared/components';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import { User } from '@/shared/models/user';
-
-function AdminPage() {
- const router = useRouter();
- const session = useSession();
- const axiosAuth = useAxiosAuth();
- const { toast } = useToast();
-
- const [users, setUsers] = useState([]);
- const [page, setPage] = useState(1);
-
- const fetchUsers = useCallback(
- async (page: number) => {
- try {
- const res = await axiosAuth.get('User/get-all', {
- params: { PageSize: 5, PageCount: page },
- });
-
- const users = res.data.map((user) => ({
- ...user,
- // birthDate: new Date(user.birthDate),
- // registrationDate: new Date(user.registrationDate),
- }));
-
- setUsers(users);
-
- toast({
- title: 'Success',
- description: `Result length - ${res.data.length}`,
- });
- } catch (e) {
- console.error(e);
-
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- description: 'Some error occurred',
- });
- }
- },
- [axiosAuth, toast],
- );
-
- useEffect(() => {
- if (session.data) {
- fetchUsers(page);
- }
- }, [session, page, fetchUsers]);
-
- const onClickNextPage = () => {
- if (users.length != 0) {
- setPage((prevPage) => prevPage + 1);
- }
- };
-
- const onClickPreviousPage = () => {
- if (page != 1) {
- setPage((prevPage) => prevPage - 1);
- }
- };
-
- const DataTable = (
-
- <_DataTable columns={columns} data={users} />
-
-
-
-
-
Current page {page}
-
- );
-
- const fetchWeather = async () => {
- try {
- const res = await axiosAuth.get('/WeatherForecast/');
-
- toast({
- title: 'Success',
- description: `Result length - ${res.data.length}`,
- });
- } catch (e) {
- console.error(e);
-
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- description: 'Some error occurred',
- });
- }
- };
-
- return (
-
-
Admin page
-
-
-
-
{users && DataTable}
-
- );
-}
-
-export default AdminPage;
diff --git a/src/app/(main)/admin/set-admin/page.tsx b/src/app/(main)/admin/set-admin/page.tsx
deleted file mode 100644
index 76786e5..0000000
--- a/src/app/(main)/admin/set-admin/page.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { Resolver, SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { SetAdminDTO } from './types';
-
-import { Checkbox, Input } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-
-const validationSchema = yup
- .object({
- userId: yup
- .number()
- .required('Id required')
- .min(0, `Id can't be less then 0`),
- isAdmin: yup.boolean().required('Show Confidential Information required'),
- })
- .required();
-
-function SetAdminPage() {
- const { toast } = useToast();
- const axiosAuth = useAxiosAuth();
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- } = useForm({
- resolver: yupResolver(validationSchema) as Resolver,
- });
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axiosAuth.post('User/set-isadmin-value', data);
-
- toast({
- title: 'Success',
- description: `User's admin option of user with id ${data.userId} has been set to ${data.isAdmin}`,
- });
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- });
- }
- };
- return (
-
-
Change Password Form
-
-
- );
-}
-
-export default SetAdminPage;
diff --git a/src/app/(main)/admin/set-admin/types.ts b/src/app/(main)/admin/set-admin/types.ts
deleted file mode 100644
index 48b00dc..0000000
--- a/src/app/(main)/admin/set-admin/types.ts
+++ /dev/null
@@ -1 +0,0 @@
-export type SetAdminDTO = { userId: number; isAdmin: boolean };
diff --git a/src/app/(main)/admin/types/columns.tsx b/src/app/(main)/admin/types/columns.tsx
deleted file mode 100644
index 49c6e4b..0000000
--- a/src/app/(main)/admin/types/columns.tsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import { ColumnDef } from '@tanstack/react-table';
-import { MoreHorizontal } from 'lucide-react';
-
-import { Button } from '@/shared/components/ui/button';
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuTrigger,
-} from '@/shared/components/ui/dropdown-menu';
-import { User } from '@/shared/models/user';
-
-export const columns: ColumnDef[] = [
- {
- accessorKey: 'userId',
- header: 'Id',
- },
- {
- accessorKey: 'login',
- header: 'Login',
- },
- {
- accessorKey: 'showConfidentialInformation',
- header: 'Show Confidential Information',
- },
- {
- accessorKey: 'birthDate',
- header: 'Birth Date',
- },
- {
- accessorKey: 'email',
- header: 'Email',
- },
- {
- accessorKey: 'registrationDate',
- header: 'Registration date',
- },
- {
- accessorKey: 'isAdmin',
- header: 'Is admin',
- },
- {
- id: 'actions',
- cell: ({ row }) => {
- const user = row.original;
-
- return (
-
-
-
-
-
-
- navigator.clipboard.writeText(user.userId.toString())
- }
- >
- Copy User ID
-
-
-
- );
- },
- },
-];
diff --git a/src/app/(main)/chapter/add/page.tsx b/src/app/(main)/chapter/add/page.tsx
deleted file mode 100644
index 9160fc4..0000000
--- a/src/app/(main)/chapter/add/page.tsx
+++ /dev/null
@@ -1,95 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter, useSearchParams } from 'next/navigation';
-import { SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { FormValues } from './types';
-
-import { Input } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-
-const validationSchema: yup.ObjectSchema = yup.object({
- title: yup
- .string()
- .required('No title provided.')
- .min(10, 'Title too short.')
- .max(124, 'Title too long.'),
- chapterNumber: yup.number().required('No chapter number provided.'),
- createdOn: yup.date().required('No release date provided.'),
-});
-
-function Page() {
- const { toast } = useToast();
- const axiosAuth = useAxiosAuth();
- const router = useRouter();
- const searchParams = useSearchParams();
- const {
- register,
- handleSubmit,
- formState: { errors },
- } = useForm({
- resolver: yupResolver(validationSchema),
- });
-
- const mangaId = searchParams.get('mangaId');
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axiosAuth.post('Chapters', {
- ...data,
- mangaId,
- scans: '',
- });
-
- toast({
- title: 'Success',
- description: `Chapter "${data.title}" was successfully created!`,
- });
-
- router.push(`/manga/${mangaId}`);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- });
- }
- };
-
- return (
-
- );
-}
-
-export default Page;
diff --git a/src/app/(main)/chapter/add/types.ts b/src/app/(main)/chapter/add/types.ts
deleted file mode 100644
index 9457d10..0000000
--- a/src/app/(main)/chapter/add/types.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export type FormValues = {
- title: string;
- chapterNumber: number;
- createdOn: Date;
-};
-
-export type CreateChapterDto = {
- title: string;
- chapterNumber: number;
- createdOn: Date;
-};
diff --git a/src/app/(main)/chapter/edit/page.tsx b/src/app/(main)/chapter/edit/page.tsx
deleted file mode 100644
index 74cbe3c..0000000
--- a/src/app/(main)/chapter/edit/page.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter, useSearchParams } from 'next/navigation';
-import { useEffect, useState } from 'react';
-import { SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { FormValues } from './types';
-
-import { Input } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import Chapter from '@/shared/models/chapter';
-
-const validationSchema: yup.ObjectSchema = yup.object({
- title: yup
- .string()
- .required('No title provided.')
- .min(10, 'Title too short.')
- .max(124, 'Title too long.'),
- chapterNumber: yup.number().required('No chapter number provided.'),
- createdOn: yup.string().required('No release date provided.'),
-});
-
-function Page() {
- const [chapter, setChapter] = useState(null);
-
- const router = useRouter();
- const queryParams = useSearchParams();
-
- const axiosAuth = useAxiosAuth();
- const { toast } = useToast();
- const {
- register,
- handleSubmit,
- setValue,
- formState: { errors },
- } = useForm({
- resolver: yupResolver(validationSchema),
- });
-
- const mangaId = queryParams.get('mangaId');
- const chapterId = queryParams.get('chapterId');
-
- const fetchChapter = async () => {
- const res = await axiosAuth.get(`Chapters`, {
- params: { chapterId },
- });
-
- setChapter(res.data);
- setValue('title', res.data.title);
- setValue('chapterNumber', res.data.chapterNumber);
- setValue(
- 'createdOn',
- new Date(res.data.createdOn).toISOString().slice(0, 10),
- );
- };
-
- useEffect(() => {
- fetchChapter();
- }, []);
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axiosAuth.post('Chapters', {
- ...chapter,
- ...data,
- chapterId,
- mangaId,
- });
-
- toast({
- title: 'Success',
- description: `Chapter "${data.title}" was successfully created!`,
- });
-
- router.push(`/manga/${mangaId}`);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- });
- }
- };
-
- if (!chapter) {
- return Loading...
;
- }
-
- return (
-
- );
-}
-
-export default Page;
diff --git a/src/app/(main)/chapter/edit/types.ts b/src/app/(main)/chapter/edit/types.ts
deleted file mode 100644
index 2bc54ff..0000000
--- a/src/app/(main)/chapter/edit/types.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export type FormValues = {
- title: string;
- chapterNumber: number;
- createdOn: string;
-};
-
-export type CreateChapterDto = {
- title: string;
- chapterNumber: number;
- createdOn: Date;
-};
diff --git a/src/app/(main)/layout.tsx b/src/app/(main)/layout.tsx
deleted file mode 100644
index f18c691..0000000
--- a/src/app/(main)/layout.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import '../globals.css';
-
-import dynamic from 'next/dynamic';
-import { ReactNode } from 'react';
-
-const Sidebar = dynamic(
- () => import('@/shared/components/lib/Sidebar/Sidebar'),
- {
- ssr: false,
- },
-);
-import { Header, Providers } from '@/shared/components';
-import { Toaster } from '@/shared/components/ui/toaster';
-
-process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
-
-interface RootLayoutProps {
- children: ReactNode;
-}
-
-export default function RootLayout({ children }: RootLayoutProps) {
- return (
-
-
-
-
-
-
- {children}
-
-
-
- );
-}
diff --git a/src/app/(main)/loading.tsx b/src/app/(main)/loading.tsx
deleted file mode 100644
index 8964cdb..0000000
--- a/src/app/(main)/loading.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import { FullPageLoader } from '@/shared/components/lib';
-
-export default function Loading() {
- return ;
-}
diff --git a/src/app/(main)/manga/[mangaId]/[chapterId]/MangaPDF.tsx b/src/app/(main)/manga/[mangaId]/[chapterId]/MangaPDF.tsx
deleted file mode 100644
index 82a9753..0000000
--- a/src/app/(main)/manga/[mangaId]/[chapterId]/MangaPDF.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-'use client';
-
-import { useState } from 'react';
-import { Document, Page, pdfjs } from 'react-pdf';
-
-import bytesToFile from '@/shared/utils/bytesToFile';
-
-import 'react-pdf/dist/esm/Page/AnnotationLayer.css';
-import 'react-pdf/dist/esm/Page/TextLayer.css';
-
-pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;
-
-type MangaPDFProps = {
- chapter: string;
-};
-
-function MangaPDF({ chapter }: MangaPDFProps) {
- const [numPages, setNumPages] = useState();
-
- function onDocumentLoadSuccess({ numPages }: { numPages: number }): void {
- setNumPages(numPages);
- }
-
- return (
-
- {Array.from(new Array(numPages), (_, index) => (
-
- ))}
-
- );
-}
-
-export default MangaPDF;
diff --git a/src/app/(main)/manga/[mangaId]/[chapterId]/page.tsx b/src/app/(main)/manga/[mangaId]/[chapterId]/page.tsx
deleted file mode 100644
index 21f2daa..0000000
--- a/src/app/(main)/manga/[mangaId]/[chapterId]/page.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-'use client';
-
-import { useEffect, useState } from 'react';
-
-import MangaPDF from './MangaPDF';
-
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import Chapter from '@/shared/models/chapter';
-
-type PageProps = {
- params: {
- mangaId: string;
- chapterId: string;
- };
-};
-
-function ChapterPage({ params: { chapterId } }: PageProps) {
- const [chapter, setChapter] = useState(null);
-
- const axiosAuth = useAxiosAuth();
-
- const fetchChapter = async () => {
- const res = await axiosAuth.get(`Chapters`, {
- params: { chapterId },
- });
-
- return res.data;
- };
-
- useEffect(() => {
- fetchChapter()
- .then((chapter) => {
- setChapter(chapter);
- })
- .catch((error) => {
- console.log(error);
- });
- }, [chapterId]);
-
- return (
-
-
Chapter info
-
Chapter title {chapter?.title}
-
Scans available {chapter?.scans ? 'yes' : 'no'}
- {chapter?.scans &&
}
-
- );
-}
-
-export default ChapterPage;
diff --git a/src/app/(main)/manga/[mangaId]/components/ChapterCard.tsx b/src/app/(main)/manga/[mangaId]/components/ChapterCard.tsx
deleted file mode 100644
index 348c743..0000000
--- a/src/app/(main)/manga/[mangaId]/components/ChapterCard.tsx
+++ /dev/null
@@ -1,137 +0,0 @@
-import { LucideUpload, Edit, X } from 'lucide-react';
-import { useRouter } from 'next/navigation';
-import { useSession } from 'next-auth/react';
-import { useRef } from 'react';
-
-import { ChapterDTO } from '../types';
-
-import { Button } from '@/shared/components/ui/button';
-import { Card } from '@/shared/components/ui/card';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-
-type ChapterCardProps = {
- chapter: ChapterDTO;
- index: number;
- mangaId: string;
- refetchData: () => void;
-};
-
-function ChapterCard({
- chapter,
- index,
- mangaId,
- refetchData,
-}: ChapterCardProps) {
- const fileInputRef = useRef(null);
- const axiosAuth = useAxiosAuth();
- const { toast } = useToast();
- const router = useRouter();
-
- const { data: session } = useSession();
-
- const handleEdit = async () => {
- router.push(
- `${ROUTE.EDIT_CHAPTER}?chapterId=${chapter.chapterId}&mangaId=${mangaId}`,
- );
- };
-
- const handleDelete = async () => {
- try {
- await axiosAuth.delete('/Chapters', {
- params: { chapterId: chapter.chapterId },
- });
-
- toast({
- title: 'Success',
- description: 'Chapter has been deleted',
- });
-
- refetchData();
- } catch (error) {
- toast({
- title: 'Error',
- variant: 'destructive',
- description: 'Something went wrong.',
- });
- }
- };
-
- const handleImageChange = async (
- event: React.ChangeEvent,
- ) => {
- const file = event.target.files?.[0];
-
- if (!file) return;
-
- const formData = new FormData();
- formData.append('ChapterId', chapter.chapterId);
- formData.append('ChapterFile', file);
-
- try {
- await axiosAuth.post('/Chapters/upload', formData, {
- headers: {
- 'Content-Type': 'multipart/form-data',
- },
- });
-
- toast({
- title: 'Success',
- description: 'Chapter scans has been uploaded',
- });
- } catch (error) {
- toast({
- title: 'Error',
- variant: 'destructive',
- description: 'Something went wrong.',
- });
- }
- };
-
- return (
-
-
{
- router.push(`${ROUTE.MANGA}/${mangaId}/${chapter.chapterId}`);
- }}
- >
-
- {index + 1}: {chapter.title}
-
-
- {session?.user?.accessToken ? (
- <>
-
-
-
-
- >
- ) : null}
-
- );
-}
-
-export default ChapterCard;
diff --git a/src/app/(main)/manga/[mangaId]/components/Chapters.tsx b/src/app/(main)/manga/[mangaId]/components/Chapters.tsx
deleted file mode 100644
index 1c286f4..0000000
--- a/src/app/(main)/manga/[mangaId]/components/Chapters.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import { BookPlusIcon } from 'lucide-react';
-import { useRouter } from 'next/navigation';
-import { useSession } from 'next-auth/react';
-import { useEffect, useState } from 'react';
-
-import ChapterCard from './ChapterCard';
-import { ChapterDTO } from '../types';
-
-import { BeatLoader } from '@/shared/components/lib';
-import { Button } from '@/shared/components/ui/button';
-import { axios } from '@/shared/utils/axios';
-
-type ChaptersProps = {
- mangaId: string;
-};
-
-function Chapters({ mangaId }: ChaptersProps) {
- const [chapters, setChapters] = useState([]);
-
- const router = useRouter();
- const { data: session } = useSession();
-
- const fetchChapters = async () => {
- const res = await axios.get(`Chapters/get-manga-chapters`, {
- params: { mangaId },
- });
-
- setChapters(res.data);
- };
-
- useEffect(() => {
- fetchChapters();
- }, []);
-
- return (
-
-
Chapters
-
- {session?.user?.accessToken ? (
-
- ) : null}
-
-
- {chapters?.length !== 0 ? (
- chapters?.map((chapter, index) => (
-
- ))
- ) : (
-
-
-
- )}
-
-
- );
-}
-
-export default Chapters;
diff --git a/src/app/(main)/manga/[mangaId]/components/CommentCard.tsx b/src/app/(main)/manga/[mangaId]/components/CommentCard.tsx
deleted file mode 100644
index 47d6ce7..0000000
--- a/src/app/(main)/manga/[mangaId]/components/CommentCard.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Edit, X } from 'lucide-react';
-import { useSession } from 'next-auth/react';
-
-import { Button } from '@/shared/components/ui/button';
-import { Card } from '@/shared/components/ui/card';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import Comment from '@/shared/models/comment';
-
-type CommentCardProps = {
- comment: Comment;
- onDelete?: () => void;
- onUpdate?: (comment: Comment) => void;
-};
-
-function CommentCard({ comment, onDelete, onUpdate }: CommentCardProps) {
- const axiosAuth = useAxiosAuth();
- const { toast } = useToast();
- const { data: session } = useSession();
-
- const handleEdit = async () => {
- onUpdate(comment);
- };
-
- const handleDelete = async () => {
- try {
- await axiosAuth.delete(`/Comments/${comment.id}`);
-
- toast({
- title: 'Success',
- description: 'Comment has been deleted',
- });
-
- onDelete();
- } catch (error) {
- toast({
- title: 'Error',
- variant: 'destructive',
- description: 'Something went wrong.',
- });
- }
- };
-
- return (
-
-
-
-
- {comment.login}{' '}
- {comment.userId == session?.user?.id ? (
- (You)
- ) : null}
-
-
{comment.body}
-
- {new Date(comment.createdDate).toLocaleString()}
-
-
- {comment.userId == session?.user?.id ? (
-
-
-
-
- ) : null}
-
-
- );
-}
-
-export default CommentCard;
diff --git a/src/app/(main)/manga/[mangaId]/components/CommentForm.tsx b/src/app/(main)/manga/[mangaId]/components/CommentForm.tsx
deleted file mode 100644
index 0bf8c1a..0000000
--- a/src/app/(main)/manga/[mangaId]/components/CommentForm.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import { yupResolver } from '@hookform/resolvers/yup';
-import React from 'react';
-import { useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { Button } from '@/shared/components/ui/button';
-import { Textarea } from '@/shared/components/ui/textarea';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-
-const schema = yup.object().shape({
- comment: yup.string().required('Comment is required'),
-});
-
-type CommentFormProps = {
- mangaId: string;
- refetchData?: () => void;
-};
-
-function CommentForm({ mangaId, refetchData }: CommentFormProps) {
- const axiosAuth = useAxiosAuth();
- const { toast } = useToast();
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- setValue,
- } = useForm({
- resolver: yupResolver(schema),
- });
-
- const onSubmit = async (data: { comment: string }) => {
- try {
- await axiosAuth.post('/Comments', {
- body: data.comment,
- mangaId,
- });
-
- toast({
- title: 'Success',
- description: 'Comment has been added',
- });
-
- setValue('comment', '');
- refetchData();
- } catch (error) {
- console.error(error);
-
- toast({
- title: 'Error',
- variant: 'destructive',
- description: 'Something went wrong.',
- });
- }
- };
-
- return (
-
- );
-}
-
-export default CommentForm;
diff --git a/src/app/(main)/manga/[mangaId]/components/Comments.tsx b/src/app/(main)/manga/[mangaId]/components/Comments.tsx
deleted file mode 100644
index a25ce9d..0000000
--- a/src/app/(main)/manga/[mangaId]/components/Comments.tsx
+++ /dev/null
@@ -1,139 +0,0 @@
-import { LucideArrowBigDownDash } from 'lucide-react';
-import { useSession } from 'next-auth/react';
-import { useEffect, useState } from 'react';
-
-import CommentCard from './CommentCard';
-import CommentForm from './CommentForm';
-import MessageDialog from './CommentsEditDialog';
-
-import { BeatLoader } from '@/shared/components/lib';
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import Comment from '@/shared/models/comment';
-import { axios } from '@/shared/utils/axios';
-
-type CommentsProps = {
- mangaId: string;
-};
-
-const PAGE_SIZE = 10;
-
-function Comments({ mangaId }: CommentsProps) {
- const [comments, setComments] = useState([]);
- const [page, setPage] = useState(1);
- const [isDialogOpen, setDialogOpen] = useState(false);
- const [commentForEdit, setCommentForEdit] = useState();
-
- const { data: session } = useSession();
- const axiosAuth = useAxiosAuth();
- const { toast } = useToast();
-
- useEffect(() => {
- fetchComments().then((data) => setComments(data));
- }, []);
-
- const fetchComments = async (
- pageNumber?: number,
- clearPreviousComments = false,
- ) => {
- if (clearPreviousComments) {
- setComments([]);
- setPage(1);
- }
-
- const res = await axios.get(`Comments`, {
- params: {
- MangaId: mangaId,
- 'PagingModel.PageSize': PAGE_SIZE,
- 'PagingModel.PageCount': pageNumber ?? 1,
- },
- });
-
- return res.data;
- };
-
- const handleLoadNewPage = async () => {
- setPage(page + 1);
-
- const res = await fetchComments(page + 1);
-
- setComments([...(comments ?? []), ...res]);
- };
-
- const resetCommentsAndFetch = () => {
- fetchComments(1, true).then((data) => setComments(data));
- };
-
- const handleDialogClose = () => {
- setDialogOpen(false);
- };
-
- const handleDialogSubmit = async (id: string, message: string) => {
- try {
- await axiosAuth.post('/Comments/update', { id, body: message });
-
- handleDialogClose();
- resetCommentsAndFetch();
- toast({ title: 'Success', description: 'Comment has been updated' });
- } catch (error) {
- toast({
- title: 'Error',
- variant: 'destructive',
- description: 'Something went wrong.',
- });
- }
-
- setDialogOpen(false);
- };
-
- const handleCommentUpdate = (comment: Comment) => {
- setCommentForEdit(comment);
- setDialogOpen(true);
- };
-
- return (
-
- {commentForEdit && (
-
- )}
-
Comments
- {session?.user?.accessToken && (
-
- )}
-
- {comments?.length !== 0 ? (
- <>
- {comments?.map((comment, index) => (
-
- ))}
-
- >
- ) : (
-
-
-
- )}
-
-
- );
-}
-
-export default Comments;
diff --git a/src/app/(main)/manga/[mangaId]/components/CommentsEditDialog.tsx b/src/app/(main)/manga/[mangaId]/components/CommentsEditDialog.tsx
deleted file mode 100644
index e354ac7..0000000
--- a/src/app/(main)/manga/[mangaId]/components/CommentsEditDialog.tsx
+++ /dev/null
@@ -1,95 +0,0 @@
-import React, { useEffect, useState } from 'react';
-
-import { Button } from '@/shared/components/ui/button';
-import { useToast } from '@/shared/components/ui/use-toast';
-import Comment from '@/shared/models/comment';
-
-interface DialogProps {
- isOpen: boolean;
- commentForEdit: Comment;
- onClose: () => void;
- onSubmit: (id: string, message: string) => void;
-}
-
-function MessageDialog({
- isOpen,
- commentForEdit,
- onClose,
- onSubmit,
-}: DialogProps) {
- const [message, setMessage] = useState('');
-
- const { toast } = useToast();
-
- useEffect(() => {
- setMessage(commentForEdit.body);
- }, [commentForEdit]);
-
- const handleInputChange = (event: React.ChangeEvent) => {
- setMessage(event.target.value);
- };
-
- const handleSubmit = (event: React.FormEvent) => {
- event.preventDefault();
-
- if (!message) {
- toast({
- title: 'Error',
- variant: 'destructive',
- description: 'Message cannot be empty.',
- });
-
- return;
- }
-
- setMessage('');
- onSubmit(commentForEdit.id, message);
- };
-
- const handleClose = () => {
- setMessage('');
- onClose();
- };
-
- return (
-
- );
-}
-
-export default MessageDialog;
diff --git a/src/app/(main)/manga/[mangaId]/edit/page.tsx b/src/app/(main)/manga/[mangaId]/edit/page.tsx
deleted file mode 100644
index 4de9517..0000000
--- a/src/app/(main)/manga/[mangaId]/edit/page.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter } from 'next/navigation';
-import { SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { FormValues } from './types';
-
-import { Input, Select, Textarea } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import {
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@/shared/components/ui/select';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import { Genre } from '@/shared/models/genre';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-const validationSchema: yup.ObjectSchema = yup.object({
- title: yup
- .string()
- .required('No title provided.')
- .min(10, 'Title too short.'),
- genre: yup.string().required('No genre provided.'),
- description: yup
- .string()
- .required('No description provided.')
- .min(15, 'Description must be at least 15 characters long.'),
- releasedOn: yup.date().required('No release date provided.'),
-});
-
-function AddMangaPage() {
- const { toast } = useToast();
- const axiosAuth = useAxiosAuth();
- const router = useRouter();
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- setValue,
- getValues,
- } = useForm({
- resolver: yupResolver(validationSchema),
- });
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axiosAuth.post('Mangas', {
- ...data,
- genres: {},
- coverImage: '',
- genre: Genre[data.genre],
- });
-
- toast({
- title: 'Success',
- description: `Manga "${data.title}" was successfully created!`,
- });
-
- router.push(ROUTE.MANGA);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- });
- }
- };
-
- return (
-
- );
-}
-
-export default AddMangaPage;
diff --git a/src/app/(main)/manga/[mangaId]/edit/types.ts b/src/app/(main)/manga/[mangaId]/edit/types.ts
deleted file mode 100644
index 3921ccf..0000000
--- a/src/app/(main)/manga/[mangaId]/edit/types.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { GenreType } from '@/shared/models/genre';
-
-export type FormValues = {
- title: string;
- genre: string;
- description: string;
- releasedOn: Date;
- // coverImage: File;
-};
-
-export type CreateMangaDto = {
- title: string;
- genre: GenreType;
- description: string;
- releasedOn: Date;
- // coverImage: Int8Array;
-};
diff --git a/src/app/(main)/manga/[mangaId]/page.tsx b/src/app/(main)/manga/[mangaId]/page.tsx
deleted file mode 100644
index f4cfead..0000000
--- a/src/app/(main)/manga/[mangaId]/page.tsx
+++ /dev/null
@@ -1,184 +0,0 @@
-'use client';
-
-import { SwitchCameraIcon } from 'lucide-react';
-import Image from 'next/image';
-import { useRouter } from 'next/navigation';
-import { useSession } from 'next-auth/react';
-import React, { useEffect, useRef, useState } from 'react';
-
-import Chapters from './components/Chapters';
-import Comments from './components/Comments';
-
-import { FullPageLoader } from '@/shared/components/lib';
-import { Button } from '@/shared/components/ui/button';
-import { ROUTE } from '@/shared/constants/routes';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import { getGenreName } from '@/shared/models/genre';
-import Manga from '@/shared/models/manga';
-import { axios } from '@/shared/utils/axios';
-import bytesToFile from '@/shared/utils/bytesToFile';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-type PageProps = {
- params: {
- mangaId: string;
- };
-};
-
-function Page({ params: { mangaId } }: PageProps) {
- const axiosAuth = useAxiosAuth();
- const router = useRouter();
-
- const [manga, setManga] = useState(null);
-
- const { data: session } = useSession();
-
- const fileInputRef = useRef(null);
-
- const fetchManga = async () => {
- const res = await axios.get(`Mangas`, {
- params: {
- mangaId,
- },
- });
-
- setManga(res.data);
- };
-
- const refetchData = () => {
- fetchManga();
- };
-
- const handleDelete = async () => {
- try {
- await axiosAuth.delete(`/Mangas`, { params: { mangaId } });
-
- router.push(ROUTE.MANGA);
- } catch (error) {
- console.error(error);
- }
- };
-
- useEffect(() => {
- refetchData();
- }, [mangaId]);
-
- const handleImageChange = async (
- event: React.ChangeEvent,
- ) => {
- const file = event.target.files?.[0];
-
- if (!file) return;
-
- const formData = new FormData();
- formData.append('CoverImage', file);
- formData.append('MangaId', mangaId);
-
- try {
- const response = await axiosAuth.post(
- '/Mangas/upload-cover-image',
- formData,
- {
- headers: {
- 'Content-Type': 'multipart/form-data',
- },
- },
- );
-
- if (response.status === 200) {
- setManga(null);
- fetchManga();
- }
- } catch (error) {
- console.error(error);
- }
- };
-
- if (!manga) {
- return (
-
-
-
- );
- }
-
- return (
-
-
-
-
-
{manga.title}
-
- Genre: {capitalizedWords(getGenreName(manga.genre))}
-
-
Description: {manga.description}
-
- Released on: {new Date(manga.releasedOn).toLocaleDateString()}
-
-
Rating: {manga.rating} / 5
-
-
- {session?.user?.accessToken && (
-
- )}
-
-
- {session?.user?.accessToken && (
-
- )}
-
-
-
-
-
-
-
-
- {session?.user?.accessToken && (
-
-
-
-
- )}
-
-
-
-
-
-
- );
-}
-
-export default Page;
diff --git a/src/app/(main)/manga/[mangaId]/types.ts b/src/app/(main)/manga/[mangaId]/types.ts
deleted file mode 100644
index a7390b5..0000000
--- a/src/app/(main)/manga/[mangaId]/types.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export type ChapterDTO = {
- chapterId: string;
- title: string;
-};
diff --git a/src/app/(main)/manga/add/page.tsx b/src/app/(main)/manga/add/page.tsx
deleted file mode 100644
index 4de9517..0000000
--- a/src/app/(main)/manga/add/page.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter } from 'next/navigation';
-import { SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { FormValues } from './types';
-
-import { Input, Select, Textarea } from '@/shared/components/FormComponents';
-import { Button } from '@/shared/components/ui/button';
-import {
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@/shared/components/ui/select';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import { Genre } from '@/shared/models/genre';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-const validationSchema: yup.ObjectSchema = yup.object({
- title: yup
- .string()
- .required('No title provided.')
- .min(10, 'Title too short.'),
- genre: yup.string().required('No genre provided.'),
- description: yup
- .string()
- .required('No description provided.')
- .min(15, 'Description must be at least 15 characters long.'),
- releasedOn: yup.date().required('No release date provided.'),
-});
-
-function AddMangaPage() {
- const { toast } = useToast();
- const axiosAuth = useAxiosAuth();
- const router = useRouter();
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- setValue,
- getValues,
- } = useForm({
- resolver: yupResolver(validationSchema),
- });
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axiosAuth.post('Mangas', {
- ...data,
- genres: {},
- coverImage: '',
- genre: Genre[data.genre],
- });
-
- toast({
- title: 'Success',
- description: `Manga "${data.title}" was successfully created!`,
- });
-
- router.push(ROUTE.MANGA);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- });
- }
- };
-
- return (
-
- );
-}
-
-export default AddMangaPage;
diff --git a/src/app/(main)/manga/add/types.ts b/src/app/(main)/manga/add/types.ts
deleted file mode 100644
index 3921ccf..0000000
--- a/src/app/(main)/manga/add/types.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { GenreType } from '@/shared/models/genre';
-
-export type FormValues = {
- title: string;
- genre: string;
- description: string;
- releasedOn: Date;
- // coverImage: File;
-};
-
-export type CreateMangaDto = {
- title: string;
- genre: GenreType;
- description: string;
- releasedOn: Date;
- // coverImage: Int8Array;
-};
diff --git a/src/app/(main)/manga/components/MangaCard.tsx b/src/app/(main)/manga/components/MangaCard.tsx
deleted file mode 100644
index d3c723f..0000000
--- a/src/app/(main)/manga/components/MangaCard.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-'use client';
-
-import Image from 'next/image';
-import { useRouter } from 'next/navigation';
-
-import { MangaDTO } from '../types';
-
-import { Card, CardDescription, CardTitle } from '@/shared/components/ui/card';
-import { Genre, GenreType } from '@/shared/models/genre';
-import bytesToFile from '@/shared/utils/bytesToFile';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-type MangaCardProps = {
- data: MangaDTO;
-};
-
-function truncateTitle(title: string, length: number) {
- return title.length > length ? title.substring(0, length) + '...' : title;
-}
-
-function MangaCard({ data }: MangaCardProps) {
- const router = useRouter();
-
- function getGenreName(value: GenreType): string | undefined {
- for (const prop in Genre) {
- if (Genre[prop as keyof typeof Genre] == value) {
- return prop;
- }
- }
-
- return undefined;
- }
-
- return (
- {
- router.push(`manga/${data.mangaId}`);
- }}
- className="flex h-[200px] w-[400px] cursor-pointer justify-between px-4"
- >
-
- {truncateTitle(data.title, 15)}
-
- Genre: {capitalizedWords(getGenreName(data.genre))}
-
- Rating: {data.rating} / 5
-
-
-
-
-
- );
-}
-
-export default MangaCard;
diff --git a/src/app/(main)/manga/components/MangaList.tsx b/src/app/(main)/manga/components/MangaList.tsx
deleted file mode 100644
index 74bd618..0000000
--- a/src/app/(main)/manga/components/MangaList.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-'use client';
-
-import MangaCard from './MangaCard';
-import { MangaDTO } from '../types';
-
-import { BeatLoader, FullPageLoader } from '@/shared/components/lib';
-
-type MangaListProps = {
- manga: MangaDTO[];
-};
-
-function MangaList({ manga }: MangaListProps) {
- if (!manga) {
- return (
-
-
-
- );
- }
-
- return (
- <>
- {manga?.length !== 0 ? (
- manga.map((manga) => )
- ) : (
-
-
-
- )}
- >
- );
-}
-
-export default MangaList;
diff --git a/src/app/(main)/manga/edit/page.tsx b/src/app/(main)/manga/edit/page.tsx
deleted file mode 100644
index 22d2fc8..0000000
--- a/src/app/(main)/manga/edit/page.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter, useSearchParams } from 'next/navigation';
-import { useEffect, useState } from 'react';
-import { SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import { FormValues } from './types';
-
-import { Input, Select, Textarea } from '@/shared/components/FormComponents';
-import { FullPageLoader } from '@/shared/components/lib';
-import { Button } from '@/shared/components/ui/button';
-import {
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@/shared/components/ui/select';
-import { useToast } from '@/shared/components/ui/use-toast';
-import useAxiosAuth from '@/shared/hooks/useAxiosAuth';
-import { Genre, getGenreName } from '@/shared/models/genre';
-import Manga from '@/shared/models/manga';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-const validationSchema: yup.ObjectSchema = yup.object({
- title: yup.string().required('No title provided.').min(4, 'Title too short.'),
- genre: yup.string(),
- description: yup
- .string()
- .required('No description provided.')
- .min(15, 'Description must be at least 15 characters long.'),
- releasedOn: yup.date().required('No release date provided.'),
-});
-
-function AddMangaPage() {
- const [manga, setManga] = useState(null);
- const { toast } = useToast();
- const axiosAuth = useAxiosAuth();
- const searchParams = useSearchParams();
- const router = useRouter();
- const {
- register,
- handleSubmit,
- formState: { errors },
- setValue,
- getValues,
- } = useForm({
- defaultValues: {
- title: manga?.title,
- genre: manga?.genre.toString(),
- description: manga?.description,
- releasedOn: manga?.releasedOn,
- },
- resolver: yupResolver(validationSchema),
- });
-
- const mangaId = searchParams.get('mangaId');
-
- const fetchManga = async (mangaId: string) => {
- const res = await axiosAuth.get(`Mangas`, {
- params: { mangaId },
- });
-
- return res.data;
- };
-
- useEffect(() => {
- fetchManga(mangaId).then((manga) => {
- setValue('title', manga?.title);
- // setValue('genre', getGenreName(manga?.genre));
- setValue('description', manga?.description);
- setManga(manga);
- });
- }, [mangaId]);
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axiosAuth.post('Mangas', {
- ...manga,
- ...data,
- mangaId,
- genres: {},
- genre: Genre[data.genre] ?? manga.genre,
- });
-
- toast({
- title: 'Success',
- description: `Manga "${data.title}" was successfully updated!`,
- });
- router.push(`/manga/${mangaId}`);
- } catch (error) {
- toast({
- title: 'Error occurred!',
- variant: 'destructive',
- });
- }
- };
-
- if (!manga) {
- return (
-
-
-
- );
- }
-
- return (
-
- );
-}
-
-export default AddMangaPage;
diff --git a/src/app/(main)/manga/edit/types.ts b/src/app/(main)/manga/edit/types.ts
deleted file mode 100644
index 3921ccf..0000000
--- a/src/app/(main)/manga/edit/types.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { GenreType } from '@/shared/models/genre';
-
-export type FormValues = {
- title: string;
- genre: string;
- description: string;
- releasedOn: Date;
- // coverImage: File;
-};
-
-export type CreateMangaDto = {
- title: string;
- genre: GenreType;
- description: string;
- releasedOn: Date;
- // coverImage: Int8Array;
-};
diff --git a/src/app/(main)/manga/page.tsx b/src/app/(main)/manga/page.tsx
deleted file mode 100644
index d71db61..0000000
--- a/src/app/(main)/manga/page.tsx
+++ /dev/null
@@ -1,160 +0,0 @@
-'use client';
-
-import { LucideArrowBigDownDash } from 'lucide-react';
-import { useEffect, useState } from 'react';
-import { SubmitHandler, useForm } from 'react-hook-form';
-
-import MangaList from './components/MangaList';
-import { MangaDTO, SearchParams } from './types';
-
-import { Input, Select } from '@/shared/components/FormComponents';
-import { FullPageLoader } from '@/shared/components/lib';
-import { Button } from '@/shared/components/ui/button';
-import { Card } from '@/shared/components/ui/card';
-import {
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@/shared/components/ui/select';
-import { Genre } from '@/shared/models/genre';
-import { axios } from '@/shared/utils/axios';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-const PAGE_SIZE = 6;
-
-function MangaPage() {
- const [manga, setManga] = useState();
- const [page, setPage] = useState(1);
-
- const {
- register,
- handleSubmit,
- formState: { errors },
- setValue,
- getValues,
- } = useForm();
-
- const fetchManga = async (
- title?: string,
- genre?: string,
- rating?: number,
- pageNumber?: number,
- ) => {
- const res = await axios.get('Mangas/get-all-filter', {
- params: {
- searchQuery: title,
- genre: Genre[genre],
- rating: rating > 0 ? rating : undefined,
- 'PagingModel.PageSize': PAGE_SIZE,
- 'PagingModel.PageCount': pageNumber ?? 1,
- },
- });
-
- return res.data;
- };
-
- useEffect(() => {
- fetchManga().then((data) => setManga(data));
- }, []);
-
- const onSubmit: SubmitHandler = async (data) => {
- const manga = await fetchManga(data.title, data.genre, data.rating, page);
-
- setManga(manga);
- };
-
- const handleClear = () => {
- setValue('title', '');
- setValue('genre', '');
- setValue('rating', 0);
-
- fetchManga().then((data) => setManga(data));
- };
-
- const handleLoadNewPage = async () => {
- setPage(page + 1);
-
- const res = await fetchManga(
- getValues('title'),
- getValues('genre'),
- getValues('rating'),
- page + 1,
- );
-
- setManga([...(manga ?? []), ...res]);
- };
-
- if (!manga) {
- return (
-
-
-
- );
- }
-
- return (
-
-
Manga List
-
-
-
-
-
-
-
-
- );
-}
-
-export default MangaPage;
diff --git a/src/app/(main)/manga/types.ts b/src/app/(main)/manga/types.ts
deleted file mode 100644
index 9ce2894..0000000
--- a/src/app/(main)/manga/types.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { GenreType } from '@/shared/models/genre';
-
-export type MangaDTO = {
- mangaId: string;
- title: string;
- genre: GenreType;
- coverImage?: string;
- rating: number;
-};
-
-export type SearchParams = {
- title: string;
- genre: string;
- rating: number;
-};
diff --git a/src/app/(main)/page.tsx b/src/app/(main)/page.tsx
deleted file mode 100644
index 267ebfd..0000000
--- a/src/app/(main)/page.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-export default function HomePage() {
- return (
-
-
-
Hello, Next.js!
-
-
- );
-}
diff --git a/src/app/(main)/profile/page.tsx b/src/app/(main)/profile/page.tsx
deleted file mode 100644
index e126979..0000000
--- a/src/app/(main)/profile/page.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-'use client';
-
-import { useSession } from 'next-auth/react';
-
-export default function Profile() {
- const { data: session } = useSession();
-
- return (
-
-
Profile information
-
-
{session?.user?.data.login}
- {/*
{session?.user?.data.email}
-
{session?.user?.data.phoneNumber}
-
{session?.user?.data.description}
-
{session?.user?.data.avatar}
*/}
-
- );
-}
diff --git a/src/app/api/auth/[...nextauth]/options.ts b/src/app/api/auth/[...nextauth]/options.ts
deleted file mode 100644
index eacc773..0000000
--- a/src/app/api/auth/[...nextauth]/options.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-/* eslint-disable @typescript-eslint/no-explicit-any */
-import { jwtDecode } from 'jwt-decode';
-import NextAuth, { AuthOptions } from 'next-auth';
-import CredentialsProvider from 'next-auth/providers/credentials';
-
-import { User } from '@/shared/models/user';
-import { Role } from '@/shared/types/auth';
-import { axiosAuth } from '@/shared/utils/axios';
-
-export const authOptions: AuthOptions = {
- secret: process.env.NEXTAUTH_SECRET,
- session: { strategy: 'jwt' },
- pages: {
- signIn: '/sign-in',
- },
- providers: [
- CredentialsProvider({
- name: 'Credentials',
- credentials: {
- login: { label: 'Login', type: 'text' },
- password: {
- label: 'Password',
- type: 'password',
- },
- },
- async authorize(credentials) {
- try {
- const res = await axiosAuth.post('Auth/login', {
- login: credentials.login,
- password: credentials.password,
- });
-
- const user = res.data;
-
- if (!user) {
- return null;
- }
-
- const decoded: any = jwtDecode(user.accessToken);
- let role: Role;
-
- // TODO fix
- for (const prop in decoded) {
- if (prop.includes('role')) {
- role = decoded[prop];
- }
- }
-
- const { data } = await axiosAuth.get(`User`, {
- headers: { Authorization: `Bearer ${res.data.accessToken}` },
- params: { userId: decoded.id },
- });
-
- return { ...user, role, id: decoded.id, data };
- } catch (e) {
- console.error(e);
- return null;
- }
- },
- }),
- ],
- callbacks: {
- async jwt({ token, user, trigger, session }) {
- if (trigger == 'update') {
- return { ...token, ...session.user };
- }
-
- return { ...token, ...user };
- },
- async session({ session, token }) {
- session.user = token as any;
-
- return session;
- },
- },
-};
-export default NextAuth(authOptions);
diff --git a/src/app/api/auth/[...nextauth]/route.ts b/src/app/api/auth/[...nextauth]/route.ts
deleted file mode 100644
index 7020836..0000000
--- a/src/app/api/auth/[...nextauth]/route.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import NextAuth from 'next-auth';
-
-import { authOptions } from './options';
-
-const handler = NextAuth(authOptions);
-
-export { handler as GET, handler as POST };
diff --git a/src/app/globals.css b/src/app/globals.css
deleted file mode 100644
index cbb323c..0000000
--- a/src/app/globals.css
+++ /dev/null
@@ -1,85 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap');
-
-@layer base {
- :root {
- --background: 0 0% 100%;
- --foreground: 240 10% 3.9%;
- --card: 0 0% 100%;
- --card-foreground: 240 10% 3.9%;
- --popover: 0 0% 100%;
- --popover-foreground: 240 10% 3.9%;
- --primary: 142.1 76.2% 36.3%;
- --primary-foreground: 355.7 100% 97.3%;
- --secondary: 240 4.8% 95.9%;
- --secondary-foreground: 240 5.9% 10%;
- --muted: 240 4.8% 95.9%;
- --muted-foreground: 240 3.8% 46.1%;
- --accent: 240 4.8% 95.9%;
- --accent-foreground: 240 5.9% 10%;
- --destructive: 0 84.2% 60.2%;
- --destructive-foreground: 0 0% 98%;
- --border: 240 5.9% 90%;
- --input: 240 5.9% 90%;
- --ring: 142.1 76.2% 36.3%;
- --radius: 0.5rem;
- }
-
- .dark {
- --background: 20 0.3% 9.1%;
- --background-secondary: 228, 7%, 14%;
- --foreground: 0 0% 95%;
- --card: 24 9.8% 10%;
- --card-foreground: 0 0% 95%;
- --popover: 0 0% 9%;
- --popover-foreground: 0 0% 95%;
- --primary: 142.1 70.6% 45.3%;
- --primary-foreground: 144.9 80.4% 10%;
- --secondary: 240 3.7% 15.9%;
- --secondary-foreground: 0 0% 98%;
- --muted: 0 0% 15%;
- --muted-foreground: 240 5% 64.9%;
- --accent: 12 6.5% 15.1%;
- --accent-foreground: 0 0% 98%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 0 85.7% 97.3%;
- --border: 240 3.7% 15.9%;
- --input: 240 3.7% 15.9%;
- --ring: 142.4 71.8% 29.2%;
- }
-}
-
-@layer base {
- * {
- @apply border-border;
- }
- body {
- @apply bg-background text-foreground;
- }
-}
-
-@layer components {
- .input {
- @apply w-16;
- }
-}
-
-* {
- font-family: 'Rubik', sans-serif;
-}
-
-::-webkit-scrollbar-track {
- background-color: rgba(255, 255, 255, 0.51);
- padding: 2px;
- backdrop-filter: blur(35px);
-}
-
-::-webkit-scrollbar-thumb {
- background: #27272a;
-}
-
-::-webkit-scrollbar {
- width: 2px;
-}
diff --git a/src/shared/components/ui/close-icon.tsx b/src/components/index.ts
similarity index 100%
rename from src/shared/components/ui/close-icon.tsx
rename to src/components/index.ts
diff --git a/src/constants/common.ts b/src/constants/common.ts
new file mode 100644
index 0000000..7f7f394
--- /dev/null
+++ b/src/constants/common.ts
@@ -0,0 +1,12 @@
+export enum ResponseStatusCode {
+ SUCCESS = 200,
+ CREATED = 201,
+ ACCEPTED = 202,
+ TEMPORARY_REDIRECT = 307,
+ BAD_REQUEST = 400,
+ NOT_AUTHORIZED = 401,
+ FORBIDDEN = 403,
+ NOT_FOUND = 404,
+ SOMETHING_WRONG = 418,
+ SERVER_ERROR = 500,
+}
diff --git a/src/constants/index.ts b/src/constants/index.ts
new file mode 100644
index 0000000..c243b90
--- /dev/null
+++ b/src/constants/index.ts
@@ -0,0 +1,3 @@
+export * from './common';
+export * from './routes';
+export * from './validationConstants';
diff --git a/src/shared/constants/routes.ts b/src/constants/routes.ts
similarity index 57%
rename from src/shared/constants/routes.ts
rename to src/constants/routes.ts
index 95b0517..fa01f0f 100644
--- a/src/shared/constants/routes.ts
+++ b/src/constants/routes.ts
@@ -20,3 +20,23 @@ export const enum ROUTE {
ADMIN = '/admin',
SET_ADMIN = `${ROUTE.ADMIN}/set-admin`,
}
+
+export const BasicRoutes = [
+ ROUTE.HOME,
+ ROUTE.SIGN_IN,
+ ROUTE.SIGN_UP,
+ ROUTE.CHANGE_PASSWORD,
+ ROUTE.FORGOT_PASSWORD,
+];
+
+export const UserRoutes = [
+ ROUTE.PROFILE,
+ ROUTE.MANGA,
+ ROUTE.ADD_MANGA,
+ ROUTE.EDIT_MANGA,
+ ROUTE.CHAPTER,
+ ROUTE.ADD_CHAPTER,
+ ROUTE.EDIT_CHAPTER,
+];
+
+export const AdminRoutes = [ROUTE.ADMIN, ROUTE.SET_ADMIN];
diff --git a/src/shared/constants/validationConstants.ts b/src/constants/validationConstants.ts
similarity index 100%
rename from src/shared/constants/validationConstants.ts
rename to src/constants/validationConstants.ts
diff --git a/src/containers/sign-in/index.tsx b/src/containers/sign-in/index.tsx
deleted file mode 100644
index 8fe7947..0000000
--- a/src/containers/sign-in/index.tsx
+++ /dev/null
@@ -1,163 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter, useSearchParams } from 'next/navigation';
-import { useSession } from 'next-auth/react';
-import { signIn } from 'next-auth/react';
-import { useEffect } from 'react';
-import { Resolver, SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import {
- CopyrightText,
- ForgotPasswordButton,
- Form,
- FormFooter,
- FormSection,
- HaveAccountText,
- Heading,
- PictureSection,
- Picture,
- SignPageWrapper,
- SignInButton,
- Subheading,
- SubmitButton,
- OrText,
- Control,
- BackButton,
- FormContentWrapper,
-} from './styles';
-
-import { SignInForm } from '@/containers/sign-in/types';
-import { GoogleSignButton } from '@/shared/components/lib';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import { PasswordRegex } from '@/shared/constants/validationConstants';
-
-const validationSchema = yup
- .object({
- login: yup.string().required('Login required').min(4),
- password: yup
- .string()
- .required('No password provided.')
- .min(4, 'Password minimal length is 4')
- .matches(
- PasswordRegex,
- 'Password may contain only latin characters, numbers and special characters.',
- ),
- })
- .required();
-
-export default function SignInContainer() {
- const router = useRouter();
- const { data: session } = useSession();
- const searchParams = useSearchParams();
- const { toast } = useToast();
-
- const {
- register: formRegister,
- handleSubmit,
- formState: { errors },
- } = useForm({
- resolver: yupResolver(validationSchema) as Resolver,
- });
-
- const onSubmit: SubmitHandler = async (data) => {
- await signIn('credentials', {
- login: data.login,
- password: data.password,
- redirect: true,
- });
-
- setTimeout(() => {
- if (!searchParams.get('error')) {
- router.replace(searchParams.get('callbackUrl') ?? ROUTE.HOME);
- }
- }, 50);
- };
-
- useEffect(() => {
- if (session?.user) {
- router.push(ROUTE.HOME);
- }
- }, [session, router]);
-
- useEffect(() => {
- if (searchParams.get('error')) {
- toast({
- title: 'Signin error',
- description: 'Some error has occurred whilst you were signing in',
- variant: 'destructive',
- });
- }
- }, [session, router]);
-
- return (
-
-
-
-
-
-
-
-
-
-
-
- {"Welcome back! Let's sign in to your account"}
-
- Join our vibrant community and explore exciting features
-
-
-
- © PZPI-21-5 PseudoTeam
-
-
-
- );
-}
diff --git a/src/containers/sign-in/styles.ts b/src/containers/sign-in/styles.ts
deleted file mode 100644
index a07c2aa..0000000
--- a/src/containers/sign-in/styles.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-'use client';
-import Link from 'next/link';
-import styled from 'styled-components';
-
-import { Control as AuthControl } from '@/shared/components/lib';
-
-export const SignPageWrapper = styled.div`
- display: grid;
- grid-template-columns: 2fr 1fr;
- height: 100vh;
-`;
-
-export const PictureSection = styled.div`
- position: relative;
- z-index: 0;
-
- &::after {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: black;
- opacity: 0.15;
- z-index: 2;
- }
-`;
-
-export const Picture = styled.img`
- height: 100%;
- width: 100%;
- object-fit: cover;
- object-position: 90%;
-`;
-
-export const FormSection = styled.div`
- position: relative;
- padding: 1.25rem;
- display: flex;
- flex-direction: column;
- background: #202125;
-`;
-
-export const FormContentWrapper = styled.div`
- margin-top: 8rem;
-`;
-
-export const Control = styled(AuthControl)`
- margin: 0 0 1rem;
-`;
-
-export const BackButton = styled(Link)`
- position: absolute;
- top: 1.5rem;
- left: 1.5rem;
- width: 3rem;
- height: 3rem;
- padding: 0;
- display: flex;
- justify-content: center;
- align-items: center;
- aspect-ratio: 1;
- background: rgb(43, 44, 48);
- border-radius: 6px;
- transition: 0.2s;
-
- &:hover {
- background-color: #34363c;
- }
-
- & > svg {
- }
-`;
-
-export const Heading = styled.h2`
- margin: 0 0 1rem;
- text-align: center;
- letter-spacing: 0.4px;
- line-height: normal;
- font-size: 1.75rem;
- font-weight: 800;
-`;
-
-export const Subheading = styled.h5`
- margin: 0 0 1rem;
- text-align: center;
- font-size: 0.9rem;
- font-weight: 400;
- line-height: normal;
- color: aliceblue;
- letter-spacing: 0.5px;
-`;
-
-export const SubmitButton = styled.button<{ bgtype: 'signin' | 'signup' }>`
- cursor: pointer;
- width: 100%;
- height: 3rem;
- margin: 0.75rem 0 0.5rem;
- padding: 0 16px;
- background: #0b63d9;
- color: #f7f7f7;
- border: 0;
- font-family: inherit;
- font-size: 1rem;
- font-weight: 600;
- text-align: center;
- letter-spacing: 1px;
- transition: all 0.375s;
- border-radius: 0.75rem;
- margin-bottom: 2rem;
-
- &:hover {
- ${({ bgtype }) =>
- `background ${bgtype === 'signup' ? '#964145' : '#084ba5'}`};
- }
-
- &:disabled {
- opacity: 0.25;
- }
-`;
-
-export const Form = styled.form`
- display: flex;
- flex-direction: column;
- padding: 0.5rem;
- backface-visibility: hidden;
-`;
-
-export const OrText = styled.p`
- display: flex;
- align-items: center;
- justify-content: center;
- margin: 0 0 1rem;
- padding: 0;
- position: relative;
-
- &::before,
- &::after {
- content: '';
- width: 50%;
- height: 1px;
- background-color: #2f3137;
- }
-
- &::before {
- margin-right: 10px;
- }
-
- &::after {
- margin-left: 10px;
- }
-`;
-
-export const ForgotPasswordButton = styled(Link)`
- all: unset;
- color: #674299;
- cursor: pointer;
-`;
-
-export const FormFooter = styled.div`
- display: flex;
- justify-content: space-between;
-`;
-
-export const HaveAccountText = styled.p`
- color: #fbfef9;
- font-weight: 500;
-`;
-
-export const SignInButton = styled(Link)`
- all: unset;
- color: #674299;
- cursor: pointer;
- padding-left: 0.5rem;
-`;
-
-export const CopyrightText = styled.p`
- position: absolute;
- right: 2rem;
- bottom: 1rem;
- opacity: 0.5;
- pointer-events: none;
- color: #a0a6b0;
- font-family: sans-serif !important;
-`;
diff --git a/src/containers/sign-in/types.ts b/src/containers/sign-in/types.ts
deleted file mode 100644
index 70eac52..0000000
--- a/src/containers/sign-in/types.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export type SignInForm = {
- login: string;
- password: string;
-};
diff --git a/src/containers/sign-up/index.tsx b/src/containers/sign-up/index.tsx
deleted file mode 100644
index 7e73985..0000000
--- a/src/containers/sign-up/index.tsx
+++ /dev/null
@@ -1,195 +0,0 @@
-'use client';
-
-import { yupResolver } from '@hookform/resolvers/yup';
-import { useRouter } from 'next/navigation';
-import { Resolver, SubmitHandler, useForm } from 'react-hook-form';
-import * as yup from 'yup';
-
-import {
- CopyrightText,
- Form,
- FormFooter,
- FormSection,
- HaveAccountText,
- Heading,
- PictureSection,
- Picture,
- SignPageWrapper,
- SignUpButton,
- Subheading,
- SubmitButton,
- OrText,
- Control,
- BackButton,
- FormContentWrapper,
-} from './styles';
-
-import { GoogleSignButton, ValidationControl } from '@/shared/components/lib';
-import { useToast } from '@/shared/components/ui/use-toast';
-import { ROUTE } from '@/shared/constants/routes';
-import { PasswordRegex } from '@/shared/constants/validationConstants';
-import { TRegisterFormValues } from '@/shared/types/auth';
-import { axios } from '@/shared/utils/axios';
-
-const validationSchema = yup
- .object({
- email: yup
- .string()
- .required('Email required')
- .email('Incorrect email')
- .min(5, 'Email minimum length is 5'),
- login: yup.string().required('Login required').min(4),
- password: yup
- .string()
- .required('No password provided.')
- .min(4, 'Password minimal length is 4')
- .matches(
- PasswordRegex,
- 'Password may contain only latin characters, numbers and special characters.',
- ),
- confirm_password: yup
- .string()
- .oneOf([yup.ref('password')], 'Passwords must match')
- .required('Confirm Password is required'),
- })
- .required();
-
-export default function SignIpContainer() {
- const { toast } = useToast();
- const router = useRouter();
-
- const {
- register: formRegister,
- handleSubmit,
- formState: { errors },
- // getValues,
- } = useForm({
- resolver: yupResolver(validationSchema) as Resolver<
- TRegisterFormValues,
- unknown
- >,
- });
-
- const onSubmit: SubmitHandler = async (data) => {
- try {
- await axios.post('User/register', {
- ...data,
- userId: 0,
- // birthDate: new Date(data.birthDate).toISOString(),
- description: 'TEST TEST TEST TEST TEST',
- firstName: 'TEST TEST',
- lastName: 'TEST TEST',
- avatar: '',
- phoneNumber: '555 555 5555',
- });
-
- toast({
- title: 'Success',
- description: 'Check your email for confirmation before login',
- });
-
- router.push(ROUTE.HOME);
- } catch (error) {
- toast({
- title: 'Error occurred',
- variant: 'destructive',
- // description: error.errors, TODO doesn't work
- });
- }
- };
-
- // props = loginOrEmail: string
- const handleLoginEmailCheck = async () => {
- // if (!loginOrEmail.trim()) return false;
- // const response = await AuthAPI.checkUserExists(loginOrEmail);
- // return response.data.checkStatus;
- return true;
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
- {"Let's create your account"}
-
- {"We'd love to have you Join to our lovely community"}
-
-
-
- © PZPI-21-5 PseudoTeam
-
-
-
- );
-}
diff --git a/src/containers/sign-up/styles.ts b/src/containers/sign-up/styles.ts
deleted file mode 100644
index 8475471..0000000
--- a/src/containers/sign-up/styles.ts
+++ /dev/null
@@ -1,187 +0,0 @@
-'use client';
-import Link from 'next/link';
-import styled from 'styled-components';
-
-import { Control as AuthControl } from '@/shared/components/lib';
-
-export const SignPageWrapper = styled.div`
- display: grid;
- grid-template-columns: 2fr 1fr;
- height: 100vh;
-`;
-
-export const PictureSection = styled.div`
- position: relative;
- z-index: 0;
-
- &::after {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: black;
- opacity: 0.15;
- z-index: 2;
- }
-`;
-
-export const Picture = styled.img`
- height: 100%;
- width: 100%;
- object-fit: cover;
- object-position: 90%;
-`;
-
-export const FormSection = styled.div`
- position: relative;
- padding-left: 1.25rem;
- padding-right: 1.25rem;
- display: flex;
- flex-direction: column;
- background: #202125;
-`;
-
-export const FormContentWrapper = styled.div`
- margin-top: 8rem;
-`;
-
-export const Control = styled(AuthControl)`
- margin: 0 0 1rem;
-`;
-
-export const BackButton = styled(Link)`
- position: absolute;
- top: 1.5rem;
- left: 1.5rem;
- width: 3rem;
- height: 3rem;
- padding: 0;
- display: flex;
- justify-content: center;
- align-items: center;
- aspect-ratio: 1;
- background: rgb(43, 44, 48);
- border-radius: 6px;
- transition: 0.2s;
-
- &:hover {
- background-color: #34363c;
- }
-
- & > svg {
- }
-`;
-
-export const Heading = styled.h2`
- margin: 0 0 1rem;
- text-align: center;
- letter-spacing: 0.4px;
- line-height: normal;
- font-size: 1.75rem;
- font-weight: 800;
-`;
-
-export const Subheading = styled.h5`
- margin: 0 0 1rem;
- text-align: center;
- font-size: 0.9rem;
- font-weight: 400;
- line-height: normal;
- color: aliceblue;
- letter-spacing: 0.5px;
-`;
-
-export const SubmitButton = styled.button<{ bgtype: 'signin' | 'signup' }>`
- cursor: pointer;
- width: 100%;
- height: 3rem;
- margin: 0.75rem 0 0.5rem;
- padding: 0 16px;
- background: #ff5566;
- color: #f7f7f7;
- border: 0;
- font-family: inherit;
- font-size: 1rem;
- font-weight: 600;
- text-align: center;
- letter-spacing: 1px;
- transition: all 0.375s;
- border-radius: 0.75rem;
- margin-bottom: 2rem;
-
- &:hover {
- ${({ bgtype }) =>
- `background ${bgtype === 'signup' ? '#964145' : '#084ba5'}`};
- }
-
- &:disabled {
- opacity: 0.25;
- }
-`;
-
-export const Form = styled.form`
- display: flex;
- flex-direction: column;
- padding: 0.5rem;
- backface-visibility: hidden;
-`;
-
-export const OrText = styled.p`
- display: flex;
- align-items: center;
- justify-content: center;
- margin: 0 0 1rem;
- padding: 0;
- position: relative;
-
- &::before,
- &::after {
- content: '';
- width: 50%;
- height: 1px;
- background-color: #2f3137;
- }
-
- &::before {
- margin-right: 10px;
- }
-
- &::after {
- margin-left: 10px;
- }
-`;
-
-export const ForgotPasswordButton = styled(Link)`
- all: unset;
- color: #674299;
- cursor: pointer;
-`;
-
-export const FormFooter = styled.div`
- display: flex;
- justify-content: space-between;
-`;
-
-export const HaveAccountText = styled.p`
- color: #fbfef9;
- font-weight: 500;
-`;
-
-export const SignUpButton = styled(Link)`
- all: unset;
- color: #674299;
- cursor: pointer;
- padding-left: 0.5rem;
-`;
-
-export const CopyrightText = styled.p`
- position: absolute;
- right: 2rem;
- bottom: 1rem;
- opacity: 0.5;
- pointer-events: none;
- color: #a0a6b0;
- font-family: sans-serif !important;
-`;
diff --git a/src/containers/sign-up/types.ts b/src/containers/sign-up/types.ts
deleted file mode 100644
index 7a45771..0000000
--- a/src/containers/sign-up/types.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export type SignUpDTO = {
- email: string;
- login: string;
- password: string;
- confirm_password: string;
- // firstName: string;
- // lastName: string;
- // description: string;
- // phoneNumber: string;
- // showConfidentialInformation: boolean;
- // birthDate: Date;
-};
diff --git a/src/globals.tsx b/src/globals.tsx
new file mode 100644
index 0000000..38a1d5f
--- /dev/null
+++ b/src/globals.tsx
@@ -0,0 +1,24 @@
+import { createGlobalStyle } from 'styled-components';
+
+const GlobalStyles = createGlobalStyle`
+ body {
+ margin: 0;
+ padding: 0;
+ }
+
+ *,
+ *::before,
+ *::after {
+ box-sizing: border-box;
+ }
+
+ body * {
+ font-family: 'Rubik', sans-serif !important;
+ }
+
+ body a {
+ all: unset;
+ }
+`;
+
+export default GlobalStyles;
diff --git a/src/shared/hooks/index.ts b/src/hooks/index.ts
similarity index 90%
rename from src/shared/hooks/index.ts
rename to src/hooks/index.ts
index 0bb105d..d9b2198 100644
--- a/src/shared/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -1,8 +1,9 @@
-export { default as useMediaQuery } from './useMediaQuery';
-export { default as useThrottle } from './useThrottle';
-export { default as useEvent } from './useEvent';
-export { default as useOutsideDetect } from './useOutsideDetect';
-export { default as useCursorLeave } from './useCursorLeave';
export { default as useBackdrop } from './useBackdrop';
+export { default as useCursorLeave } from './useCursorLeave';
export { default as useDebounce } from './useDebounce';
export { default as useDisableScroll } from './useDisableScroll';
+export { default as useEvent } from './useEvent';
+export { default as useMediaQuery } from './useMediaQuery';
+export { default as useOutsideDetect } from './useOutsideDetect';
+export { default as useScroll } from './useScroll';
+export { default as useThrottle } from './useThrottle';
diff --git a/src/shared/hooks/useBackdrop.ts b/src/hooks/useBackdrop.ts
similarity index 100%
rename from src/shared/hooks/useBackdrop.ts
rename to src/hooks/useBackdrop.ts
diff --git a/src/shared/hooks/useCursorLeave.ts b/src/hooks/useCursorLeave.ts
similarity index 100%
rename from src/shared/hooks/useCursorLeave.ts
rename to src/hooks/useCursorLeave.ts
diff --git a/src/shared/hooks/useDebounce.ts b/src/hooks/useDebounce.ts
similarity index 100%
rename from src/shared/hooks/useDebounce.ts
rename to src/hooks/useDebounce.ts
diff --git a/src/shared/hooks/useDisableScroll.ts b/src/hooks/useDisableScroll.ts
similarity index 100%
rename from src/shared/hooks/useDisableScroll.ts
rename to src/hooks/useDisableScroll.ts
diff --git a/src/shared/hooks/useEvent.ts b/src/hooks/useEvent.ts
similarity index 100%
rename from src/shared/hooks/useEvent.ts
rename to src/hooks/useEvent.ts
diff --git a/src/shared/hooks/useMediaQuery.ts b/src/hooks/useMediaQuery.ts
similarity index 100%
rename from src/shared/hooks/useMediaQuery.ts
rename to src/hooks/useMediaQuery.ts
diff --git a/src/shared/hooks/useOutsideDetect.ts b/src/hooks/useOutsideDetect.ts
similarity index 100%
rename from src/shared/hooks/useOutsideDetect.ts
rename to src/hooks/useOutsideDetect.ts
diff --git a/src/shared/hooks/useScroll.ts b/src/hooks/useScroll.ts
similarity index 92%
rename from src/shared/hooks/useScroll.ts
rename to src/hooks/useScroll.ts
index d9de86d..d6532a6 100644
--- a/src/shared/hooks/useScroll.ts
+++ b/src/hooks/useScroll.ts
@@ -1,6 +1,6 @@
import { useState, useEffect } from 'react';
-import { debounce } from '@/shared/utils';
+import { debounce } from '@/utils';
const useScroll = () => {
const [scrollY, setScrollY] = useState(window.scrollY);
diff --git a/src/shared/hooks/useThrottle.ts b/src/hooks/useThrottle.ts
similarity index 88%
rename from src/shared/hooks/useThrottle.ts
rename to src/hooks/useThrottle.ts
index b3dcf24..2e2c546 100644
--- a/src/shared/hooks/useThrottle.ts
+++ b/src/hooks/useThrottle.ts
@@ -4,7 +4,7 @@ function useThrottle(
func: (...args: T) => K,
wait: number,
): (...args: T) => void {
- const timeoutRef = useRef(null);
+ const timeoutRef = useRef | null>(null);
const throttledFunc = useCallback(
(...args: T) => {
diff --git a/src/main.tsx b/src/main.tsx
new file mode 100644
index 0000000..5e9eaca
--- /dev/null
+++ b/src/main.tsx
@@ -0,0 +1,8 @@
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+
+import App from './App';
+
+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
+ ,
+);
diff --git a/src/middleware.ts b/src/middleware.ts
deleted file mode 100644
index 789dfa2..0000000
--- a/src/middleware.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { NextResponse } from 'next/server';
-import { NextRequestWithAuth, withAuth } from 'next-auth/middleware';
-
-import { AdminPages, UserPages } from './shared/constants/auth';
-import { ROUTE } from './shared/constants/routes';
-
-export default withAuth(
- function middleware(request: NextRequestWithAuth) {
- if (
- AdminPages.includes(request.nextUrl.pathname as ROUTE) &&
- request.nextauth.token?.role !== 'Admin'
- ) {
- return NextResponse.rewrite('http://localhost:3000/404');
- }
-
- if (
- UserPages.includes(request.nextUrl.pathname as ROUTE) &&
- request.nextauth.token?.role !== 'Admin' &&
- request.nextauth.token?.role !== 'User'
- ) {
- return NextResponse.redirect(new URL('/sign-in', request.url).toString());
- }
- },
- {
- callbacks: {
- authorized: ({ token }) => !!token?.role,
- },
- },
-);
-
-export const config = {
- matcher: ['/profile', '/admin'],
-};
diff --git a/src/shared/models/chapter.ts b/src/models/chapter.ts
similarity index 100%
rename from src/shared/models/chapter.ts
rename to src/models/chapter.ts
diff --git a/src/shared/models/comment.ts b/src/models/comment.ts
similarity index 100%
rename from src/shared/models/comment.ts
rename to src/models/comment.ts
diff --git a/src/shared/models/genre.ts b/src/models/genre.ts
similarity index 100%
rename from src/shared/models/genre.ts
rename to src/models/genre.ts
diff --git a/src/shared/models/manga.ts b/src/models/manga.ts
similarity index 100%
rename from src/shared/models/manga.ts
rename to src/models/manga.ts
diff --git a/src/shared/models/user.ts b/src/models/user.ts
similarity index 100%
rename from src/shared/models/user.ts
rename to src/models/user.ts
diff --git a/src/modules/Layout/components/SidebarContainer/index.tsx b/src/modules/Layout/components/SidebarContainer/index.tsx
new file mode 100644
index 0000000..d4ec734
--- /dev/null
+++ b/src/modules/Layout/components/SidebarContainer/index.tsx
@@ -0,0 +1,32 @@
+import { LinkStyled, SideBarStyled } from './styles';
+
+import { ROUTE } from '@/constants';
+
+const Routes = [
+ {
+ path: ROUTE.HOME,
+ name: 'Home',
+ },
+ {
+ path: ROUTE.SIGN_IN,
+ name: 'Sign In',
+ },
+ {
+ path: ROUTE.SIGN_UP,
+ name: 'Sign Up',
+ },
+];
+
+const Sidebar = () => {
+ return (
+
+ {Routes.map((route) => (
+
+ {route.name}
+
+ ))}
+
+ );
+};
+
+export default Sidebar;
diff --git a/src/modules/Layout/components/SidebarContainer/styles.ts b/src/modules/Layout/components/SidebarContainer/styles.ts
new file mode 100644
index 0000000..f6c999e
--- /dev/null
+++ b/src/modules/Layout/components/SidebarContainer/styles.ts
@@ -0,0 +1,21 @@
+import { Link } from 'react-router-dom';
+import styled from 'styled-components';
+
+export const SideBarStyled = styled.div`
+ display: flex;
+ flex-direction: column;
+
+ width: 4rem;
+ height: 100vh;
+
+ background-color: #2c3e50;
+
+ align-items: center;
+
+ padding: 0.5rem 0;
+ gap: 1rem;
+`;
+
+export const LinkStyled = styled(Link)`
+ color: #eee;
+`;
diff --git a/src/modules/Layout/components/index.ts b/src/modules/Layout/components/index.ts
new file mode 100644
index 0000000..e8a1bf2
--- /dev/null
+++ b/src/modules/Layout/components/index.ts
@@ -0,0 +1 @@
+export { default as SideBar } from './SidebarContainer';
diff --git a/src/modules/Layout/containers/LayoutContainer/index.tsx b/src/modules/Layout/containers/LayoutContainer/index.tsx
new file mode 100644
index 0000000..8b2adaa
--- /dev/null
+++ b/src/modules/Layout/containers/LayoutContainer/index.tsx
@@ -0,0 +1,15 @@
+import { Outlet } from 'react-router-dom';
+
+import { LayoutContainerStyled } from './styles';
+import { SideBar } from '../../components';
+
+const Layout = () => {
+ return (
+
+
+
+
+ );
+};
+
+export default Layout;
diff --git a/src/modules/Layout/containers/LayoutContainer/styles.ts b/src/modules/Layout/containers/LayoutContainer/styles.ts
new file mode 100644
index 0000000..75412d9
--- /dev/null
+++ b/src/modules/Layout/containers/LayoutContainer/styles.ts
@@ -0,0 +1,6 @@
+import styled from 'styled-components';
+
+export const LayoutContainerStyled = styled.div`
+ display: flex;
+ flex-direction: row;
+`;
diff --git a/src/modules/Layout/containers/index.ts b/src/modules/Layout/containers/index.ts
new file mode 100644
index 0000000..b27491a
--- /dev/null
+++ b/src/modules/Layout/containers/index.ts
@@ -0,0 +1 @@
+export { default as LayoutContainer } from './LayoutContainer';
diff --git a/src/modules/Layout/index.ts b/src/modules/Layout/index.ts
new file mode 100644
index 0000000..3b83023
--- /dev/null
+++ b/src/modules/Layout/index.ts
@@ -0,0 +1 @@
+export { default as LayoutContainer } from './containers/LayoutContainer';
diff --git a/src/modules/auth/containers/ChangePasswordContainer/index.tsx b/src/modules/auth/containers/ChangePasswordContainer/index.tsx
new file mode 100644
index 0000000..03505b6
--- /dev/null
+++ b/src/modules/auth/containers/ChangePasswordContainer/index.tsx
@@ -0,0 +1,9 @@
+const ChangePasswordContainer = () => {
+ return (
+
+ );
+};
+
+export default ChangePasswordContainer;
diff --git a/src/modules/auth/containers/ChangePasswordContainer/styles.ts b/src/modules/auth/containers/ChangePasswordContainer/styles.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/auth/containers/ForgotPasswordContainer/index.tsx b/src/modules/auth/containers/ForgotPasswordContainer/index.tsx
new file mode 100644
index 0000000..f42634a
--- /dev/null
+++ b/src/modules/auth/containers/ForgotPasswordContainer/index.tsx
@@ -0,0 +1,10 @@
+const ForgotPasswordContainer = () => {
+ return (
+
+
Forgot Password
+
{document.title}
+
+ );
+};
+
+export default ForgotPasswordContainer;
diff --git a/src/modules/auth/containers/ForgotPasswordContainer/styles.ts b/src/modules/auth/containers/ForgotPasswordContainer/styles.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/auth/containers/SignInContainer/index.tsx b/src/modules/auth/containers/SignInContainer/index.tsx
new file mode 100644
index 0000000..825fce2
--- /dev/null
+++ b/src/modules/auth/containers/SignInContainer/index.tsx
@@ -0,0 +1,9 @@
+const SignInContainer = () => {
+ return (
+
+ );
+};
+
+export default SignInContainer;
diff --git a/src/modules/auth/containers/SignInContainer/styles.ts b/src/modules/auth/containers/SignInContainer/styles.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/auth/containers/SignUpContainer/index.tsx b/src/modules/auth/containers/SignUpContainer/index.tsx
new file mode 100644
index 0000000..a136110
--- /dev/null
+++ b/src/modules/auth/containers/SignUpContainer/index.tsx
@@ -0,0 +1,9 @@
+const SignUpContainer = () => {
+ return (
+
+ );
+};
+
+export default SignUpContainer;
diff --git a/src/modules/auth/containers/SignUpContainer/styles.ts b/src/modules/auth/containers/SignUpContainer/styles.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/auth/index.ts b/src/modules/auth/index.ts
new file mode 100644
index 0000000..dc30985
--- /dev/null
+++ b/src/modules/auth/index.ts
@@ -0,0 +1,4 @@
+export { default as ChangePasswordContainer } from './containers/ChangePasswordContainer';
+export { default as ForgotPasswordContainer } from './containers/ForgotPasswordContainer';
+export { default as SignInContainer } from './containers/SignInContainer';
+export { default as SignUpContainer } from './containers/SignUpContainer';
diff --git a/src/modules/home/containers/HomeContainer/index.tsx b/src/modules/home/containers/HomeContainer/index.tsx
new file mode 100644
index 0000000..9d38598
--- /dev/null
+++ b/src/modules/home/containers/HomeContainer/index.tsx
@@ -0,0 +1,9 @@
+const HomeContainer = () => {
+ return (
+
+ );
+};
+
+export default HomeContainer;
diff --git a/src/modules/home/containers/HomeContainer/styles.ts b/src/modules/home/containers/HomeContainer/styles.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/home/index.ts b/src/modules/home/index.ts
new file mode 100644
index 0000000..2c54c02
--- /dev/null
+++ b/src/modules/home/index.ts
@@ -0,0 +1 @@
+export { default as HomeContainer } from './containers/HomeContainer';
diff --git a/src/modules/manga/index.ts b/src/modules/manga/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/notFound/containers/NotFoundContainer/index.tsx b/src/modules/notFound/containers/NotFoundContainer/index.tsx
new file mode 100644
index 0000000..7ce5294
--- /dev/null
+++ b/src/modules/notFound/containers/NotFoundContainer/index.tsx
@@ -0,0 +1,9 @@
+const NotFoundContainer = () => {
+ return (
+
+ );
+};
+
+export default NotFoundContainer;
diff --git a/src/modules/notFound/containers/NotFoundContainer/styles.ts b/src/modules/notFound/containers/NotFoundContainer/styles.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/modules/notFound/index.ts b/src/modules/notFound/index.ts
new file mode 100644
index 0000000..b0669bf
--- /dev/null
+++ b/src/modules/notFound/index.ts
@@ -0,0 +1 @@
+export { default as NotFoundContainer } from './containers/NotFoundContainer';
diff --git a/src/modules/profile/index.ts b/src/modules/profile/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/shared/components/DataTable/DataTable.tsx b/src/shared/components/DataTable/DataTable.tsx
deleted file mode 100644
index 2a62bd5..0000000
--- a/src/shared/components/DataTable/DataTable.tsx
+++ /dev/null
@@ -1,82 +0,0 @@
-'use client';
-
-import {
- ColumnDef,
- flexRender,
- getCoreRowModel,
- useReactTable,
-} from '@tanstack/react-table';
-
-import {
- Table,
- TableBody,
- TableCell,
- TableHead,
- TableHeader,
- TableRow,
-} from '@/shared/components/ui/table';
-
-interface DataTableProps {
- columns: ColumnDef[];
- data: TData[];
-}
-
-function DataTable({
- columns,
- data,
-}: DataTableProps) {
- const table = useReactTable({
- data,
- columns,
- getCoreRowModel: getCoreRowModel(),
- });
-
- return (
-
-
-
- {table.getHeaderGroups().map((headerGroup) => (
-
- {headerGroup.headers.map((header) => {
- return (
-
- {header.isPlaceholder
- ? null
- : flexRender(
- header.column.columnDef.header,
- header.getContext(),
- )}
-
- );
- })}
-
- ))}
-
-
- {table.getRowModel().rows?.length ? (
- table.getRowModel().rows.map((row) => (
-
- {row.getVisibleCells().map((cell) => (
-
- {flexRender(cell.column.columnDef.cell, cell.getContext())}
-
- ))}
-
- ))
- ) : (
-
-
- No results.
-
-
- )}
-
-
-
- );
-}
-
-export default DataTable;
diff --git a/src/shared/components/FormComponents/Checkbox/Checkbox.tsx b/src/shared/components/FormComponents/Checkbox/Checkbox.tsx
deleted file mode 100644
index 2cc2d57..0000000
--- a/src/shared/components/FormComponents/Checkbox/Checkbox.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Path, UseFormRegister } from 'react-hook-form';
-
-import { Input } from '../../ui/input';
-
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-import { cn } from '@/shared/utils/utils';
-
-interface CheckboxProps {
- label: Path;
- register: UseFormRegister;
- error: string | undefined;
- className?: string;
- divClassName?: string;
-}
-
-function Checkbox({
- label,
- register,
- className,
- error,
- ...inputProps
-}: CheckboxProps) {
- return (
-
-
-
- {error &&
{error}
}
-
- );
-}
-
-export default Checkbox;
diff --git a/src/shared/components/FormComponents/Input/Input.tsx b/src/shared/components/FormComponents/Input/Input.tsx
deleted file mode 100644
index 71a9f19..0000000
--- a/src/shared/components/FormComponents/Input/Input.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import { InputHTMLAttributes } from 'react';
-import { Path, UseFormRegister } from 'react-hook-form';
-
-import { Input as InputShadCn } from '@/shared/components/ui/input';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-interface InputProps extends InputHTMLAttributes {
- label: Path;
- register: UseFormRegister;
- error: string | undefined;
- className?: string;
- divClassName?: string;
-}
-
-function Input({
- label,
- register,
- className,
- divClassName,
- error,
- ...inputProps
-}: InputProps) {
- return (
-
-
-
- {error &&
{error}
}
-
- );
-}
-
-export default Input;
diff --git a/src/shared/components/FormComponents/Select/Select.tsx b/src/shared/components/FormComponents/Select/Select.tsx
deleted file mode 100644
index 4b50cd6..0000000
--- a/src/shared/components/FormComponents/Select/Select.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { SelectProps as RadixSelectProps } from '@radix-ui/react-select';
-import {
- Path,
- UseFormGetValues,
- UseFormRegister,
- UseFormSetValue,
-} from 'react-hook-form';
-
-import { Select as SelectShadCn } from '@/shared/components/ui/select';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-interface SelectProps extends RadixSelectProps {
- label: Path;
- register: UseFormRegister;
- error: string | undefined;
- divClassName?: string;
- setValue: UseFormSetValue;
- getValues: UseFormGetValues;
-}
-
-function Select({
- label,
- register,
- divClassName,
- error,
- setValue,
- getValues,
- ...inputProps
-}: SelectProps) {
- const selectRegister = register(label);
- selectRegister.ref = null;
-
- return (
-
-
-
{
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- setValue(label, e as any);
- }}
- {...selectRegister}
- {...inputProps}
- />
- {error && {error}
}
-
- );
-}
-
-export default Select;
diff --git a/src/shared/components/FormComponents/Textarea/Textarea.tsx b/src/shared/components/FormComponents/Textarea/Textarea.tsx
deleted file mode 100644
index ad31773..0000000
--- a/src/shared/components/FormComponents/Textarea/Textarea.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { InputHTMLAttributes } from 'react';
-import { Path, UseFormRegister } from 'react-hook-form';
-
-import { Textarea as TextareaShadCn } from '@/shared/components/ui/textarea';
-import capitalizedWords from '@/shared/utils/capitalizedWords';
-
-interface TextareaProps extends InputHTMLAttributes {
- label: Path;
- register: UseFormRegister;
- error: string | undefined;
- className?: string;
- divClassName?: string;
-}
-
-function Textarea({
- label,
- register,
- className,
- divClassName,
- error,
- ...inputProps
-}: TextareaProps) {
- return (
-
-
-
- {error &&
{error}
}
-
- );
-}
-
-export default Textarea;
diff --git a/src/shared/components/FormComponents/index.ts b/src/shared/components/FormComponents/index.ts
deleted file mode 100644
index 087042e..0000000
--- a/src/shared/components/FormComponents/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export { default as Checkbox } from './Checkbox/Checkbox';
-export { default as Input } from './Input/Input';
-export { default as Textarea } from './Textarea/Textarea';
-export { default as Select } from './Select/Select';
diff --git a/src/shared/components/Header/Header.tsx b/src/shared/components/Header/Header.tsx
deleted file mode 100644
index aa69853..0000000
--- a/src/shared/components/Header/Header.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-'use client';
-import { useRouter } from 'next/navigation';
-import { signOut, useSession } from 'next-auth/react';
-import React from 'react';
-
-import { Button } from '../ui/button';
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuLabel,
- DropdownMenuSeparator,
- DropdownMenuTrigger,
-} from '../ui/dropdown-menu';
-
-import { ROUTE } from '@/shared/constants/routes';
-
-type HeaderProps = {
- className?: string;
-};
-
-function Header({ className }: HeaderProps) {
- const { data: session } = useSession();
- const router = useRouter();
-
- return (
-
-
-
-
- {session?.user ? (
- <>
-
-
-
-
-
- {session.user.data.login}
-
- router.push(ROUTE.PROFILE)}>
- Profile
-
- signOut()}>
- Sign Out
-
-
-
- >
- ) : (
- <>
-
-
- >
- )}
-
-
- );
-}
-
-export default Header;
diff --git a/src/shared/components/Providers/Providers.tsx b/src/shared/components/Providers/Providers.tsx
deleted file mode 100644
index c95d4d5..0000000
--- a/src/shared/components/Providers/Providers.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-'use client';
-
-import { SessionProvider } from 'next-auth/react';
-import { ReactNode } from 'react';
-
-interface Props {
- children: ReactNode;
-}
-
-function Providers({ children }: Props) {
- return {children};
-}
-
-export default Providers;
diff --git a/src/shared/components/index.ts b/src/shared/components/index.ts
deleted file mode 100644
index 4db12c6..0000000
--- a/src/shared/components/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as Providers } from './Providers/Providers';
-export { default as Header } from './Header/Header';
-export { default as DataTable } from './DataTable/DataTable';
diff --git a/src/shared/components/lib/Backdrop/Backdrop.ts b/src/shared/components/lib/Backdrop/Backdrop.ts
deleted file mode 100644
index 3ab154b..0000000
--- a/src/shared/components/lib/Backdrop/Backdrop.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-'use client';
-import styled from 'styled-components';
-
-interface BackdropProps {
- open: boolean;
-}
-
-const Backdrop = styled.div`
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba(0, 0, 0, 0.85);
- z-index: ${({ open }) => (open ? 10 : -10)};
- padding: 8rem 4rem 0;
- transition:
- opacity 0.3s ease,
- z-index 0s;
- opacity: ${({ open }) => (open ? 1 : 0)};
- pointer-events: ${({ open }) => (open ? 'auto' : 'none')};
-`;
-
-export default Backdrop;
diff --git a/src/shared/components/lib/BurgerButton/BurgerButton.tsx b/src/shared/components/lib/BurgerButton/BurgerButton.tsx
deleted file mode 100644
index 83c65eb..0000000
--- a/src/shared/components/lib/BurgerButton/BurgerButton.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-'use client';
-import { GooeynessSvgEffect } from '..';
-import './BurgerButtonStyles.css';
-
-interface BurgerButtonProps {
- onClick: () => void;
- active: boolean;
-}
-
-function BurgerButton({ onClick, active }: BurgerButtonProps) {
- return (
- <>
-
-
- >
- );
-}
-
-export default BurgerButton;
diff --git a/src/shared/components/lib/BurgerButton/BurgerButtonStyles.css b/src/shared/components/lib/BurgerButton/BurgerButtonStyles.css
deleted file mode 100644
index fac74b0..0000000
--- a/src/shared/components/lib/BurgerButton/BurgerButtonStyles.css
+++ /dev/null
@@ -1,76 +0,0 @@
-
-.burger, .x {
- position: absolute;
- width: 4rem;
- height: 4rem;
- z-index: 200;
-}
-.plate {
- display: flex;
- justify-content: center;
- align-items: center;
- cursor: pointer;
-}
-.burger {
- filter: url(#gooeyness);
-}
-.line {
- fill: none;
- stroke: white;
- stroke-width: 6px;
- stroke-linecap: round;
- stroke-linejoin: round;
- transform-origin: 50%;
- transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms;
-}
-.x .line {
- stroke-width: 4px;
-}
-.active .x {
- transform: scale(1);
- transition: transform 400ms 350ms;
-}
-
-.plate .line {
- transition: stroke-dasharray 400ms 100ms, stroke-dashoffset 400ms 100ms, transform 400ms 100ms;
-}
-.plate .line1 {
- stroke-dasharray: 40 40;
-}
-.plate .line2 {
- stroke-dasharray: 21 39;
-}
-.plate .line3 {
- stroke-dasharray: 21 39;
-}
-.plate .line4 {
- stroke-dasharray: 40 40;
-}
-.plate .x {
- transition: transform 400ms 50ms;
-}
-
-.active .line {
- transition: stroke-dasharray 400ms, stroke-dashoffset 400ms, transform 400ms;
-}
-.active .line1 {
- stroke-dasharray: 1 40;
- stroke-dashoffset: -33px;
-}
-.active .line2 {
- stroke-dasharray: 5 39;
- stroke-dashoffset: -37px;
-}
-.active .line3 {
- stroke-dasharray: 5 39;
- stroke-dashoffset: -37px;
-}
-.active .line4 {
- stroke-dasharray: 1 40;
- stroke-dashoffset: -33px;
-}
-
-.x {
- transform: scale(0);
- transition: transform 400ms;
-}
\ No newline at end of file
diff --git a/src/shared/components/lib/Button/Button.tsx b/src/shared/components/lib/Button/Button.tsx
deleted file mode 100644
index 09ce13c..0000000
--- a/src/shared/components/lib/Button/Button.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-'use client';
-import { ButtonHTMLAttributes } from 'react';
-
-import { Button as StyledButton } from './ButtonStyles';
-
-import { calculateBackgroundColor } from '@/shared/utils';
-
-interface ButtonProps extends ButtonHTMLAttributes {
- rounded?: 'none' | 'light' | 'strong';
- color?: string;
- fontColor?: string;
-}
-
-function Button({
- color = '#2b2c30',
- fontColor = '#FBFEF9',
- rounded = 'light',
- children,
- ...rest
-}: ButtonProps) {
- const [bgColor, bgHover, bgActive] = calculateBackgroundColor(
- color,
- -10,
- -15,
- );
-
- const radiusValues = {
- none: '0',
- light: '5px',
- strong: '50%',
- };
-
- return (
-
- {children}
-
- );
-}
-
-export default Button;
diff --git a/src/shared/components/lib/Button/ButtonStyles.ts b/src/shared/components/lib/Button/ButtonStyles.ts
deleted file mode 100644
index bb87010..0000000
--- a/src/shared/components/lib/Button/ButtonStyles.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import styled from 'styled-components';
-
-interface ButtonProps {
- bg: string;
- bgHover: string;
- bgActive: string;
- bRadius: string;
- color: string;
-}
-
-export const Button = styled.button`
- all: unset;
- display: flex;
- padding: 0.35rem 1.5rem;
-
- background: ${({ bg }) => bg};
-
- :hover {
- background: ${({ bgHover }) => bgHover};
- }
-
- :active {
- background: ${({ bgActive }) => bgActive};
- }
-
- border-radius: ${({ bRadius }) => bRadius};
- font-weight: 400;
- justify-content: center;
- text-align: center;
- vertical-align: middle;
- line-height: 1.5;
- font-size: 1rem;
-
- color: ${({ color }) => color} !important;
- cursor: pointer;
- transition: all 0.15s ease;
-`;
diff --git a/src/shared/components/lib/Control/Control.tsx b/src/shared/components/lib/Control/Control.tsx
deleted file mode 100644
index 4266d7f..0000000
--- a/src/shared/components/lib/Control/Control.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-'use client';
-import React, { forwardRef, InputHTMLAttributes, Ref } from 'react';
-
-import { ValidationMessage } from './ControlStyles';
-
-import { Input } from '@/shared/components/lib';
-
-interface ControlProps extends InputHTMLAttributes {
- type: string;
- id: string;
- placeholder: string;
- errorMessage?: string;
-}
-
-const Control = forwardRef(
- (
- { type, id, placeholder, errorMessage, ...rest }: ControlProps,
- ref: Ref,
- ) => {
- return (
- <>
-
- {errorMessage}
- >
- );
- },
-);
-
-export default Control;
diff --git a/src/shared/components/lib/Control/ControlStyles.ts b/src/shared/components/lib/Control/ControlStyles.ts
deleted file mode 100644
index 8de001f..0000000
--- a/src/shared/components/lib/Control/ControlStyles.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import styled from 'styled-components';
-
-export const ValidationMessage = styled.div`
- height: ${({ children }) => (children ? '30px' : '0')};
- padding-left: 0.25rem;
- display: flex;
- align-items: center;
- color: #b13950;
- transition: all 0.3s;
- overflow: hidden;
- margin: ${({ children }) => (children ? '-0.5rem 0 0.5rem' : '0')};
-`;
diff --git a/src/shared/components/lib/Dropdown/Dropdown.tsx b/src/shared/components/lib/Dropdown/Dropdown.tsx
deleted file mode 100644
index 2708ac2..0000000
--- a/src/shared/components/lib/Dropdown/Dropdown.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-'use client';
-
-import React, { ReactNode, useState, useRef } from 'react';
-
-import {
- Dropdown as StyledDropdown,
- DropdownContent as StyledDropdownContent,
-} from './DropdownStyles';
-import { StyledIconButton } from '../IconButton/IconButton';
-
-import { useOutsideDetect } from '@/shared/hooks';
-
-interface DropdownProps {
- zIndex?: number;
- top: string;
- left: string;
- icon?: ReactNode;
- children?: ReactNode;
-}
-
-function Dropdown({ children, icon, zIndex, top, left }: DropdownProps) {
- const [open, setOpen] = useState(false);
- const dropdownRef = useRef(null);
-
- useOutsideDetect(dropdownRef, open, () => setOpen(false));
-
- const handleButtonClick = (
- event: React.MouseEvent,
- ) => {
- event.stopPropagation();
- setOpen((open) => !open);
- };
-
- return (
-
- {icon}
- {open && (
- setOpen(false)}
- top={top}
- left={left}
- >
- {children}
-
- )}
-
- );
-}
-
-export default Dropdown;
diff --git a/src/shared/components/lib/Dropdown/DropdownStyles.ts b/src/shared/components/lib/Dropdown/DropdownStyles.ts
deleted file mode 100644
index 4bfd158..0000000
--- a/src/shared/components/lib/Dropdown/DropdownStyles.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import styled from 'styled-components';
-
-export const Dropdown = styled.div<{ zIndex?: number }>`
- position: relative;
- display: flex;
- padding: 0;
- z-index: ${({ zIndex }) => zIndex ?? 0};
-`;
-
-export const DropdownContent = styled.div<{ top: string; left: string }>`
- position: absolute;
- top: ${({ top }) => top};
- left: ${({ left }) => left};
- background-color: #202125;
- border: 1px solid #595959;
- box-shadow: 5px 5px 10px #202125;
- transform: translateX(-45%);
- border-radius: 0.5rem;
- overflow: hidden;
- display: flex;
- flex-direction: column;
- gap: 0.25rem;
- padding: 0.25rem;
-`;
diff --git a/src/shared/components/lib/GooeynessSvgEffect/GooeynessSvgEffect.tsx b/src/shared/components/lib/GooeynessSvgEffect/GooeynessSvgEffect.tsx
deleted file mode 100644
index e1c7dbb..0000000
--- a/src/shared/components/lib/GooeynessSvgEffect/GooeynessSvgEffect.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-'use client';
-import styled from 'styled-components';
-
-function GooeynessSvgEffect() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default GooeynessSvgEffect;
-
-const StyledGooeynessSvgEffect = styled.svg`
- display: none;
-`;
diff --git a/src/shared/components/lib/GoogleSignButton/GoogleSignButton.tsx b/src/shared/components/lib/GoogleSignButton/GoogleSignButton.tsx
deleted file mode 100644
index 9158bdb..0000000
--- a/src/shared/components/lib/GoogleSignButton/GoogleSignButton.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-'use client';
-import React, { PropsWithChildren } from 'react';
-
-import {
- GoogleLogo,
- GoogleSignInButton,
- GoogleSignInButtonText,
-} from './styles';
-
-function GoogleSignButton({ children }: PropsWithChildren) {
- const handleClick = async () => {
- alert('Sign with google!');
- // localStorage.setItem(AUTHORIZATION_STORAGE_KEY, 'true');
- // window.location.href = `${API_URL}/google-auth/google?returnUrl=${CLIENT_URL}`;
- };
-
- return (
-
-
- {children}
-
- );
-}
-
-export default GoogleSignButton;
diff --git a/src/shared/components/lib/GoogleSignButton/styles.ts b/src/shared/components/lib/GoogleSignButton/styles.ts
deleted file mode 100644
index 809716b..0000000
--- a/src/shared/components/lib/GoogleSignButton/styles.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import styled from 'styled-components';
-
-export const GoogleSignInButton = styled.a`
- display: inline-flex;
- align-items: center;
- justify-content: center;
- height: 3rem;
- margin: 0 0 1rem;
- padding: 0 1rem;
- border: none;
- border-radius: 0.75rem;
- background-color: #fff;
- color: #737373;
- font-size: 1rem;
- font-weight: bold;
- text-transform: uppercase;
- text-decoration: none;
- cursor: pointer;
-
- &:hover {
- background-color: #f8f8f8;
- }
-`;
-
-export const GoogleLogo = styled.img`
- width: 1.5rem;
- margin-right: 0.25rem;
-`;
-
-export const GoogleSignInButtonText = styled.span`
- all: unset;
- text-transform: none;
- font-weight: 600;
-`;
diff --git a/src/shared/components/lib/IconButton/IconButton.ts b/src/shared/components/lib/IconButton/IconButton.ts
deleted file mode 100644
index 587df85..0000000
--- a/src/shared/components/lib/IconButton/IconButton.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-'use client';
-import styled from 'styled-components';
-
-export const StyledIconButton = styled.button`
- all: unset;
- cursor: pointer;
- display: flex;
- align-items: center;
-`;
diff --git a/src/shared/components/lib/Input/Input.tsx b/src/shared/components/lib/Input/Input.tsx
deleted file mode 100644
index 97bd07f..0000000
--- a/src/shared/components/lib/Input/Input.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-'use client';
-import { ChangeEvent, forwardRef, InputHTMLAttributes, Ref } from 'react';
-
-import { Input as StyledInput } from './InputStyles';
-
-interface InputProps extends InputHTMLAttributes {
- onChange?: (event: ChangeEvent) => void;
-}
-
-const Input = forwardRef(
- ({ onChange, ...rest }: InputProps, ref: Ref) => {
- return ;
- },
-);
-Input.displayName = 'Input';
-
-export default Input;
diff --git a/src/shared/components/lib/Input/InputStyles.ts b/src/shared/components/lib/Input/InputStyles.ts
deleted file mode 100644
index 8578292..0000000
--- a/src/shared/components/lib/Input/InputStyles.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import styled from 'styled-components';
-
-export const Input = styled.input`
- outline: none;
- width: 100%;
- height: 3rem;
- padding: 0 1rem;
- border: 0;
- background: #15161a !important;
- color: inherit;
- border-radius: 0.75rem;
- font-family: inherit;
- text-align: left;
- font-size: 1.125rem;
- transition: 0.4s;
- backface-visibility: hidden;
-
- &:-webkit-autofill,
- &:-webkit-autofill:hover,
- &:-webkit-autofill:focus,
- &:-webkit-autofill:active {
- transition: 99999s;
- }
-
- &::placeholder {
- color: rgb(255 255 255 / 30%);
- }
-`;
diff --git a/src/shared/components/lib/Loaders/BeatLoader/BeatLoader.tsx b/src/shared/components/lib/Loaders/BeatLoader/BeatLoader.tsx
deleted file mode 100644
index 8e05db2..0000000
--- a/src/shared/components/lib/Loaders/BeatLoader/BeatLoader.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-'use client';
-import { CSSProperties } from 'react';
-
-import { createAnimation, cssValue } from '@/shared/utils';
-
-export interface BeatLoaderProps {
- color?: string;
- cssOverride?: CSSProperties;
- speedMultiplier?: number;
- size?: number | string;
- margin: number | string;
-}
-
-const beat = createAnimation(
- 'BeatLoader',
- '50% {transform: scale(0.75);opacity: 0.2} 100% {transform: scale(1);opacity: 1}',
- 'beat',
-);
-
-function BeatLoader({
- color = '#674299',
- speedMultiplier = 1,
- cssOverride = {},
- size = 15,
- margin = 2,
- ...additionalProps
-}) {
- const wrapper: CSSProperties = {
- display: 'inherit',
- ...cssOverride,
- };
-
- const style = (i: number): CSSProperties => {
- return {
- display: 'inline-block',
- backgroundColor: color,
- width: cssValue(size),
- height: cssValue(size),
- margin: cssValue(margin),
- borderRadius: '100%',
- animation: `${beat} ${0.7 / speedMultiplier}s ${
- i % 2 ? '0s' : `${0.35 / speedMultiplier}s`
- } infinite linear`,
- animationFillMode: 'both',
- };
- };
-
- return (
-
-
-
-
-
- );
-}
-
-export default BeatLoader;
diff --git a/src/shared/components/lib/Loaders/CircleLoader/CircleLoader.tsx b/src/shared/components/lib/Loaders/CircleLoader/CircleLoader.tsx
deleted file mode 100644
index 66d6e45..0000000
--- a/src/shared/components/lib/Loaders/CircleLoader/CircleLoader.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-'use client';
-import { CSSProperties } from 'react';
-
-import { createAnimation, cssValue, parseLengthAndUnit } from '@/shared/utils';
-
-export interface CircleLoaderProps {
- color?: string;
- cssOverride?: CSSProperties;
- speedMultiplier?: number;
- size?: number | string;
-}
-
-const circle = createAnimation(
- 'CircleLoader',
- '0% {transform: rotate(0deg)} 50% {transform: rotate(180deg)} 100% {transform: rotate(360deg)}',
- 'circle',
-);
-
-function CircleLoader({
- color = '#674299',
- speedMultiplier = 1,
- cssOverride = {},
- size = 50,
- ...additionalProps
-}: CircleLoaderProps) {
- const wrapper: CSSProperties = {
- display: 'inherit',
- position: 'relative',
- width: cssValue(size),
- height: cssValue(size),
- ...cssOverride,
- };
-
- const style = (i: number): CSSProperties => {
- const { value, unit } = parseLengthAndUnit(size);
-
- return {
- position: 'absolute',
- height: `${value * (1 - i / 10)}${unit}`,
- width: `${value * (1 - i / 10)}${unit}`,
- borderTop: `1px solid ${color}`,
- borderBottom: 'none',
- borderLeft: `1px solid ${color}`,
- borderRight: 'none',
- borderRadius: '100%',
- transition: '2s',
- top: `${i * 0.7 * 2.5}%`,
- left: `${i * 0.35 * 2.5}%`,
- animation: `${circle} ${1 / speedMultiplier}s ${
- (i * 0.2) / speedMultiplier
- }s infinite linear`,
- };
- };
-
- return (
-
-
-
-
-
-
-
- );
-}
-
-export default CircleLoader;
diff --git a/src/shared/components/lib/Loaders/FullPageLoader/FullPageLoader.tsx b/src/shared/components/lib/Loaders/FullPageLoader/FullPageLoader.tsx
deleted file mode 100644
index a0d1c43..0000000
--- a/src/shared/components/lib/Loaders/FullPageLoader/FullPageLoader.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-'use client';
-import { PageLoaderWrapper } from './FullPageLoaderStyles';
-import CircleLoader from '../CircleLoader/CircleLoader';
-
-function FullPageLoader() {
- return (
-
-
-
- );
-}
-
-export default FullPageLoader;
diff --git a/src/shared/components/lib/Loaders/FullPageLoader/FullPageLoaderStyles.ts b/src/shared/components/lib/Loaders/FullPageLoader/FullPageLoaderStyles.ts
deleted file mode 100644
index f192365..0000000
--- a/src/shared/components/lib/Loaders/FullPageLoader/FullPageLoaderStyles.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import styled from 'styled-components';
-
-export const PageLoaderWrapper = styled.div`
- position: absolute;
- top: 0;
- left: 0;
- height: 100vh;
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: #202125;
-`;
diff --git a/src/shared/components/lib/Sidebar/Sidebar.tsx b/src/shared/components/lib/Sidebar/Sidebar.tsx
deleted file mode 100644
index fdb02a4..0000000
--- a/src/shared/components/lib/Sidebar/Sidebar.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-'use client';
-
-import { HomeIcon, List, PlusSquare, Menu, UserCog, X } from 'lucide-react';
-import { Session } from 'next-auth';
-import { useSession } from 'next-auth/react';
-import { useState } from 'react';
-
-import {
- SidebarButtonText,
- SidebarMenu,
- StyledBurgerButton,
- StyledLogoText,
- StyledSidebar,
- StyledSidebarButton,
- StyledSidebarHeader,
- StyledSidebarInner,
-} from './styles';
-
-import { ROUTE } from '@/shared/constants/routes';
-
-export function getSidebarNavItems(session: Session) {
- const userRole = session?.user.role;
-
- const sidebarNavItems = [
- {
- name: 'home',
- href: ROUTE.HOME,
- icon: ,
- },
- {
- name: 'manga list',
- href: ROUTE.MANGA,
- icon:
,
- },
- ];
-
- if (userRole) {
- sidebarNavItems.push({
- name: 'add manga',
- href: ROUTE.ADD_MANGA,
- icon: ,
- });
-
- if (userRole === 'Admin') {
- sidebarNavItems.push({
- name: 'admin',
- href: ROUTE.ADMIN,
- icon: ,
- });
- }
- }
-
- return sidebarNavItems;
-}
-
-export default function Sidebar() {
- const { data: session } = useSession();
- const [open, setOpen] = useState(false);
-
- const sidebarNavItems = getSidebarNavItems(session);
-
- const handleButtonClick = () => {
- setOpen((open) => !open);
- };
-
- return (
-
-
-
-
- {open ? : }
-
- {open && MangaHub}
-
-
- {sidebarNavItems.map((item) => (
-
- {item.icon}
- {open && {item.name}}
-
- ))}
-
-
-
- );
-}
diff --git a/src/shared/components/lib/Sidebar/styles.ts b/src/shared/components/lib/Sidebar/styles.ts
deleted file mode 100644
index 6803041..0000000
--- a/src/shared/components/lib/Sidebar/styles.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-'use client';
-import Link from 'next/link';
-import styled from 'styled-components';
-
-export const StyledBurgerButton = styled.button`
- background: transparent;
- border: 0;
- padding: 0;
- cursor: pointer;
-
- display: flex;
- gap: 16px;
- align-items: center;
- height: 56px;
- font-family: 'Poppins';
- font-size: 17px;
- text-transform: capitalize;
- line-height: 1;
- padding: 0 10px;
- border-radius: 8px;
- color: #f9f9f9;
- opacity: 0.8;
- transition: opacity 0.3s;
-`;
-
-export const StyledSidebar = styled.nav<{ $open: boolean }>`
- position: fixed;
- overflow: hidden;
- top: 0;
- left: 0;
- width: ${({ $open }) => ($open ? '270px' : '70px')};
- height: 100%;
- background: #202125;
- transition: width 0.4s;
-`;
-
-export const StyledLogoText = styled.span`
- font-weight: 600;
- font-size: large;
- margin-left: 1rem;
-`;
-
-export const StyledSidebarInner = styled.div`
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
-`;
-
-export const StyledSidebarHeader = styled.div`
- width: 100%;
- height: 56px;
- padding: 0 10px;
- padding-left: 12.5px;
- display: flex;
- align-items: center;
- background: rgb(0 0 0 / 15%);
-`;
-
-export const SidebarLogo = styled.img`
- height: 28px;
-`;
-
-export const SidebarButtonText = styled.span`
- margin-left: 1rem;
-`;
-
-export const SidebarMenu = styled.div`
- width: 100%;
- display: grid;
- place-items: center;
- padding: 10px;
-`;
-
-export const StyledSidebarButton = styled(Link)`
- width: 100%;
- display: flex;
- gap: 16px;
- align-items: center;
- height: 56px;
- font-family: 'Poppins';
- font-size: 17px;
- text-transform: capitalize;
- line-height: 1;
- padding: 10px;
- padding-left: 12.5px;
- border-radius: 8px;
- color: #f9f9f9;
- opacity: 0.8;
- transition: opacity 0.3s;
- white-space: nowrap;
-
- &:hover {
- background: rgb(0 0 0 / 30%);
- opacity: 1;
- }
-
- & > p {
- opacity: 0;
- transition: opacity 0.3s;
-
- &.open {
- opacity: 1;
- }
- }
-
- & > img {
- width: 24px;
- height: 24px;
- }
-
- & > span {
- opacity: 0.5;
- }
-`;
diff --git a/src/shared/components/lib/ValidationControl/ValidationControl.tsx b/src/shared/components/lib/ValidationControl/ValidationControl.tsx
deleted file mode 100644
index c25427d..0000000
--- a/src/shared/components/lib/ValidationControl/ValidationControl.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-'use client';
-import {
- KeyboardEvent,
- forwardRef,
- Ref,
- InputHTMLAttributes,
- useState,
-} from 'react';
-
-import { ValidationMessage, Spinner, UsernameWrapper } from './styles';
-import { Input } from '..';
-
-import { checkIfServiceKey, debounce } from '@/shared/utils';
-
-interface ValidationControlProps extends InputHTMLAttributes {
- type: string;
- id: string;
- placeholder: string;
- takenMessage?: string;
- errorMessage?: string;
- onCheck: () => Promise | boolean;
-}
-
-const ValidationControl = forwardRef(
- (
- {
- onCheck,
- type,
- id,
- placeholder,
- takenMessage,
- errorMessage,
- ...rest
- }: ValidationControlProps,
- ref: Ref,
- ) => {
- const [taken, setTaken] = useState(false);
- const [loading, setLoading] = useState(false);
-
- const handleKeyUp = debounce(async () => {
- try {
- const taken = await onCheck();
-
- setTaken(taken);
- } catch (e) {
- console.error(e);
- } finally {
- setLoading(false);
- }
- }, 500);
-
- const handleKeyDown = (event: KeyboardEvent) => {
- setLoading(checkIfServiceKey(event));
- };
-
- return (
- <>
-
-
-
-
-
- {taken ? takenMessage : errorMessage}
-
- >
- );
- },
-);
-
-export default ValidationControl;
diff --git a/src/shared/components/lib/ValidationControl/styles.ts b/src/shared/components/lib/ValidationControl/styles.ts
deleted file mode 100644
index 3b95ba6..0000000
--- a/src/shared/components/lib/ValidationControl/styles.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import styled, { keyframes } from 'styled-components';
-
-export const UsernameWrapper = styled.div`
- position: relative;
- margin: 0 0 1rem;
-`;
-
-const spinAnimation = keyframes`
- 100% {
- transform: rotate(1turn);
- }
-`;
-
-export const Spinner = styled.div<{ $shown: boolean }>`
- position: absolute;
- top: 50%;
- right: 20px;
- ${({ $shown }) => `
- display: ${$shown ? 'block' : 'none'}
- `};
- width: 30px;
- height: 30px;
- translate: 0 -50%;
- border: 3px solid rgb(255 255 255 / 10%);
- border-top-color: #68e1fd;
- border-radius: 50%;
- animation: ${spinAnimation} 0.6s infinite linear;
- transition: all 0.3s;
-`;
-
-export const ValidationMessage = styled.div`
- height: ${({ children }) => (children ? '30px' : '0')};
- padding-left: 0.25rem;
- display: flex;
- align-items: center;
- color: #b13950;
- transition: all 0.3s;
- overflow: hidden;
- margin: ${({ children }) => (children ? '-0.5rem 0 0.5rem' : '0')};
-`;
diff --git a/src/shared/components/lib/index.ts b/src/shared/components/lib/index.ts
deleted file mode 100644
index 25ed351..0000000
--- a/src/shared/components/lib/index.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-export { default as Button } from './Button/Button';
-export { default as BurgerButton } from './BurgerButton/BurgerButton';
-export { StyledIconButton } from './IconButton/IconButton';
-export { default as Dropdown } from './Dropdown/Dropdown';
-export { default as CircleLoader } from './Loaders/CircleLoader/CircleLoader';
-export { default as BeatLoader } from './Loaders/BeatLoader/BeatLoader';
-export { default as FullPageLoader } from './Loaders/FullPageLoader/FullPageLoader';
-export { default as Backdrop } from './Backdrop/Backdrop';
-export { default as Input } from './Input/Input';
-export { default as Control } from './Control/Control';
-export { default as GoogleSignButton } from './GoogleSignButton/GoogleSignButton';
-export { default as ValidationControl } from './ValidationControl/ValidationControl';
-export { default as DataTable } from '../DataTable/DataTable';
-export { default as Sidebar } from './Sidebar/Sidebar';
-export { default as GooeynessSvgEffect } from './GooeynessSvgEffect/GooeynessSvgEffect';
diff --git a/src/shared/components/ui/button.tsx b/src/shared/components/ui/button.tsx
deleted file mode 100644
index ffd95f5..0000000
--- a/src/shared/components/ui/button.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Slot } from '@radix-ui/react-slot';
-import { cva, type VariantProps } from 'class-variance-authority';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const buttonVariants = cva(
- 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
- {
- variants: {
- variant: {
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
- destructive:
- 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
- outline:
- 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
- secondary:
- 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
- ghost: 'hover:bg-accent hover:text-accent-foreground',
- link: 'text-primary underline-offset-4 hover:underline',
- },
- size: {
- default: 'h-10 px-4 py-2',
- sm: 'h-9 rounded-md px-3',
- lg: 'h-11 rounded-md px-8',
- icon: 'h-10 w-10',
- },
- },
- 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/src/shared/components/ui/card.tsx b/src/shared/components/ui/card.tsx
deleted file mode 100644
index 64c42e2..0000000
--- a/src/shared/components/ui/card.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import * as React from 'react';
-
-import { cn } from '../../../shared/utils/utils';
-
-const Card = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-Card.displayName = 'Card';
-
-const CardHeader = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-CardHeader.displayName = 'CardHeader';
-
-const CardTitle = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-CardTitle.displayName = 'CardTitle';
-
-const CardDescription = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-CardDescription.displayName = 'CardDescription';
-
-const CardContent = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-CardContent.displayName = 'CardContent';
-
-const CardFooter = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-CardFooter.displayName = 'CardFooter';
-
-export {
- Card,
- CardHeader,
- CardFooter,
- CardTitle,
- CardDescription,
- CardContent,
-};
diff --git a/src/shared/components/ui/checkbox.tsx b/src/shared/components/ui/checkbox.tsx
deleted file mode 100644
index 35fb6b1..0000000
--- a/src/shared/components/ui/checkbox.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-'use client';
-
-import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
-import { Check } from 'lucide-react';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const Checkbox = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-
-
-));
-Checkbox.displayName = CheckboxPrimitive.Root.displayName;
-
-export { Checkbox };
diff --git a/src/shared/components/ui/dropdown-menu.tsx b/src/shared/components/ui/dropdown-menu.tsx
deleted file mode 100644
index 9fbb4ec..0000000
--- a/src/shared/components/ui/dropdown-menu.tsx
+++ /dev/null
@@ -1,200 +0,0 @@
-'use client';
-
-import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
-import { Check, ChevronRight, Circle } from 'lucide-react';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const DropdownMenu = DropdownMenuPrimitive.Root;
-
-const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
-
-const DropdownMenuGroup = DropdownMenuPrimitive.Group;
-
-const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
-
-const DropdownMenuSub = DropdownMenuPrimitive.Sub;
-
-const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
-
-const DropdownMenuSubTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & {
- inset?: boolean;
- }
->(({ className, inset, children, ...props }, ref) => (
-
- {children}
-
-
-));
-DropdownMenuSubTrigger.displayName =
- DropdownMenuPrimitive.SubTrigger.displayName;
-
-const DropdownMenuSubContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-DropdownMenuSubContent.displayName =
- DropdownMenuPrimitive.SubContent.displayName;
-
-const DropdownMenuContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, sideOffset = 4, ...props }, ref) => (
-
-
-
-));
-DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
-
-const DropdownMenuItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & {
- inset?: boolean;
- }
->(({ className, inset, ...props }, ref) => (
-
-));
-DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
-
-const DropdownMenuCheckboxItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, checked, ...props }, ref) => (
-
-
-
-
-
-
- {children}
-
-));
-DropdownMenuCheckboxItem.displayName =
- DropdownMenuPrimitive.CheckboxItem.displayName;
-
-const DropdownMenuRadioItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
-
-
-
-
-
-
- {children}
-
-));
-DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
-
-const DropdownMenuLabel = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & {
- inset?: boolean;
- }
->(({ className, inset, ...props }, ref) => (
-
-));
-DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
-
-const DropdownMenuSeparator = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
-
-function DropdownMenuShortcut({
- className,
- ...props
-}: React.HTMLAttributes) {
- return (
-
- );
-}
-DropdownMenuShortcut.displayName = 'DropdownMenuShortcut';
-
-export {
- DropdownMenu,
- DropdownMenuTrigger,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuCheckboxItem,
- DropdownMenuRadioItem,
- DropdownMenuLabel,
- DropdownMenuSeparator,
- DropdownMenuShortcut,
- DropdownMenuGroup,
- DropdownMenuPortal,
- DropdownMenuSub,
- DropdownMenuSubContent,
- DropdownMenuSubTrigger,
- DropdownMenuRadioGroup,
-};
diff --git a/src/shared/components/ui/input.tsx b/src/shared/components/ui/input.tsx
deleted file mode 100644
index 3fb47e5..0000000
--- a/src/shared/components/ui/input.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-export interface InputProps
- extends React.InputHTMLAttributes {}
-
-const Input = React.forwardRef(
- ({ className, type, ...props }, ref) => {
- return (
-
- );
- },
-);
-Input.displayName = 'Input';
-
-export { Input };
diff --git a/src/shared/components/ui/label.tsx b/src/shared/components/ui/label.tsx
deleted file mode 100644
index b3a9098..0000000
--- a/src/shared/components/ui/label.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-'use client';
-
-import * as LabelPrimitive from '@radix-ui/react-label';
-import { cva, type VariantProps } from 'class-variance-authority';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const labelVariants = cva(
- 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',
-);
-
-const Label = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef &
- VariantProps
->(({ className, ...props }, ref) => (
-
-));
-Label.displayName = LabelPrimitive.Root.displayName;
-
-export { Label };
diff --git a/src/shared/components/ui/select.tsx b/src/shared/components/ui/select.tsx
deleted file mode 100644
index 55b3976..0000000
--- a/src/shared/components/ui/select.tsx
+++ /dev/null
@@ -1,160 +0,0 @@
-'use client';
-
-import * as SelectPrimitive from '@radix-ui/react-select';
-import { Check, ChevronDown, ChevronUp } from 'lucide-react';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const Select = SelectPrimitive.Root;
-
-const SelectGroup = SelectPrimitive.Group;
-
-const SelectValue = SelectPrimitive.Value;
-
-const SelectTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
- span]:line-clamp-1',
- className,
- )}
- {...props}
- >
- {children}
-
-
-
-
-));
-SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
-
-const SelectScrollUpButton = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-));
-SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
-
-const SelectScrollDownButton = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-));
-SelectScrollDownButton.displayName =
- SelectPrimitive.ScrollDownButton.displayName;
-
-const SelectContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, position = 'popper', ...props }, ref) => (
-
-
-
-
- {children}
-
-
-
-
-));
-SelectContent.displayName = SelectPrimitive.Content.displayName;
-
-const SelectLabel = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-SelectLabel.displayName = SelectPrimitive.Label.displayName;
-
-const SelectItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
-
-
-
-
-
-
-
- {children}
-
-));
-SelectItem.displayName = SelectPrimitive.Item.displayName;
-
-const SelectSeparator = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
-
-export {
- Select,
- SelectGroup,
- SelectValue,
- SelectTrigger,
- SelectContent,
- SelectLabel,
- SelectItem,
- SelectSeparator,
- SelectScrollUpButton,
- SelectScrollDownButton,
-};
diff --git a/src/shared/components/ui/separator.tsx b/src/shared/components/ui/separator.tsx
deleted file mode 100644
index 8f0bfc0..0000000
--- a/src/shared/components/ui/separator.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-'use client';
-
-import * as SeparatorPrimitive from '@radix-ui/react-separator';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const Separator = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(
- (
- { className, orientation = 'horizontal', decorative = true, ...props },
- ref,
- ) => (
-
- ),
-);
-Separator.displayName = SeparatorPrimitive.Root.displayName;
-
-export { Separator };
diff --git a/src/shared/components/ui/table.tsx b/src/shared/components/ui/table.tsx
deleted file mode 100644
index 375cefe..0000000
--- a/src/shared/components/ui/table.tsx
+++ /dev/null
@@ -1,114 +0,0 @@
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const Table = React.forwardRef<
- HTMLTableElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-Table.displayName = 'Table';
-
-const TableHeader = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableHeader.displayName = 'TableHeader';
-
-const TableBody = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableBody.displayName = 'TableBody';
-
-const TableFooter = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableFooter.displayName = 'TableFooter';
-
-const TableRow = React.forwardRef<
- HTMLTableRowElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableRow.displayName = 'TableRow';
-
-const TableHead = React.forwardRef<
- HTMLTableCellElement,
- React.ThHTMLAttributes
->(({ className, ...props }, ref) => (
- |
-));
-TableHead.displayName = 'TableHead';
-
-const TableCell = React.forwardRef<
- HTMLTableCellElement,
- React.TdHTMLAttributes
->(({ className, ...props }, ref) => (
- |
-));
-TableCell.displayName = 'TableCell';
-
-const TableCaption = React.forwardRef<
- HTMLTableCaptionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableCaption.displayName = 'TableCaption';
-
-export {
- Table,
- TableHeader,
- TableBody,
- TableFooter,
- TableHead,
- TableRow,
- TableCell,
- TableCaption,
-};
diff --git a/src/shared/components/ui/textarea.tsx b/src/shared/components/ui/textarea.tsx
deleted file mode 100644
index 520886f..0000000
--- a/src/shared/components/ui/textarea.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-export interface TextareaProps
- extends React.TextareaHTMLAttributes {}
-
-const Textarea = React.forwardRef(
- ({ className, ...props }, ref) => {
- return (
-
- );
- },
-);
-Textarea.displayName = 'Textarea';
-
-export { Textarea };
diff --git a/src/shared/components/ui/toast.tsx b/src/shared/components/ui/toast.tsx
deleted file mode 100644
index 2e561ba..0000000
--- a/src/shared/components/ui/toast.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-import * as ToastPrimitives from '@radix-ui/react-toast';
-import { cva, type VariantProps } from 'class-variance-authority';
-import { X } from 'lucide-react';
-import * as React from 'react';
-
-import { cn } from '@/shared/utils/utils';
-
-const ToastProvider = ToastPrimitives.Provider;
-
-const ToastViewport = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
-
-const toastVariants = cva(
- 'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',
- {
- variants: {
- variant: {
- default: 'border bg-background text-foreground',
- destructive:
- 'destructive group border-destructive bg-destructive text-destructive-foreground',
- },
- },
- defaultVariants: {
- variant: 'default',
- },
- },
-);
-
-const Toast = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef &
- VariantProps
->(({ className, variant, ...props }, ref) => {
- return (
-
- );
-});
-Toast.displayName = ToastPrimitives.Root.displayName;
-
-const ToastAction = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-ToastAction.displayName = ToastPrimitives.Action.displayName;
-
-const ToastClose = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-));
-ToastClose.displayName = ToastPrimitives.Close.displayName;
-
-const ToastTitle = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-ToastTitle.displayName = ToastPrimitives.Title.displayName;
-
-const ToastDescription = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-ToastDescription.displayName = ToastPrimitives.Description.displayName;
-
-type ToastProps = React.ComponentPropsWithoutRef;
-
-type ToastActionElement = React.ReactElement;
-
-export {
- type ToastProps,
- type ToastActionElement,
- ToastProvider,
- ToastViewport,
- Toast,
- ToastTitle,
- ToastDescription,
- ToastClose,
- ToastAction,
-};
diff --git a/src/shared/components/ui/toaster.tsx b/src/shared/components/ui/toaster.tsx
deleted file mode 100644
index 824812d..0000000
--- a/src/shared/components/ui/toaster.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-'use client';
-
-import {
- Toast,
- ToastClose,
- ToastDescription,
- ToastProvider,
- ToastTitle,
- ToastViewport,
-} from '@/shared/components/ui/toast';
-import { useToast } from '@/shared/components/ui/use-toast';
-
-export function Toaster() {
- const { toasts } = useToast();
-
- return (
-
- {toasts.map(function ({ id, title, description, action, ...props }) {
- return (
-
-
- {title && {title}}
- {description && (
- {description}
- )}
-
- {action}
-
-
- );
- })}
-
-
- );
-}
diff --git a/src/shared/components/ui/use-toast.ts b/src/shared/components/ui/use-toast.ts
deleted file mode 100644
index 2248a58..0000000
--- a/src/shared/components/ui/use-toast.ts
+++ /dev/null
@@ -1,192 +0,0 @@
-// Inspired by react-hot-toast library
-import * as React from 'react';
-
-import type {
- ToastActionElement,
- ToastProps,
-} from '@/shared/components/ui/toast';
-
-const TOAST_LIMIT = 1;
-const TOAST_REMOVE_DELAY = 1000000;
-
-type ToasterToast = ToastProps & {
- id: string;
- title?: React.ReactNode;
- description?: React.ReactNode;
- action?: ToastActionElement;
-};
-
-const actionTypes = {
- ADD_TOAST: 'ADD_TOAST',
- UPDATE_TOAST: 'UPDATE_TOAST',
- DISMISS_TOAST: 'DISMISS_TOAST',
- REMOVE_TOAST: 'REMOVE_TOAST',
-} as const;
-
-let count = 0;
-
-function genId() {
- count = (count + 1) % Number.MAX_VALUE;
- return count.toString();
-}
-
-type ActionType = typeof actionTypes;
-
-type Action =
- | {
- type: ActionType['ADD_TOAST'];
- toast: ToasterToast;
- }
- | {
- type: ActionType['UPDATE_TOAST'];
- toast: Partial;
- }
- | {
- type: ActionType['DISMISS_TOAST'];
- toastId?: ToasterToast['id'];
- }
- | {
- type: ActionType['REMOVE_TOAST'];
- toastId?: ToasterToast['id'];
- };
-
-interface State {
- toasts: ToasterToast[];
-}
-
-const toastTimeouts = new Map>();
-
-const addToRemoveQueue = (toastId: string) => {
- if (toastTimeouts.has(toastId)) {
- return;
- }
-
- const timeout = setTimeout(() => {
- toastTimeouts.delete(toastId);
- dispatch({
- type: 'REMOVE_TOAST',
- toastId: toastId,
- });
- }, TOAST_REMOVE_DELAY);
-
- toastTimeouts.set(toastId, timeout);
-};
-
-export const reducer = (state: State, action: Action): State => {
- switch (action.type) {
- case 'ADD_TOAST':
- return {
- ...state,
- toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),
- };
-
- case 'UPDATE_TOAST':
- return {
- ...state,
- toasts: state.toasts.map((t) =>
- t.id === action.toast.id ? { ...t, ...action.toast } : t,
- ),
- };
-
- case 'DISMISS_TOAST': {
- const { toastId } = action;
-
- // ! Side effects ! - This could be extracted into a dismissToast() action,
- // but I'll keep it here for simplicity
- if (toastId) {
- addToRemoveQueue(toastId);
- } else {
- state.toasts.forEach((toast) => {
- addToRemoveQueue(toast.id);
- });
- }
-
- return {
- ...state,
- toasts: state.toasts.map((t) =>
- t.id === toastId || toastId === undefined
- ? {
- ...t,
- open: false,
- }
- : t,
- ),
- };
- }
- case 'REMOVE_TOAST':
- if (action.toastId === undefined) {
- return {
- ...state,
- toasts: [],
- };
- }
- return {
- ...state,
- toasts: state.toasts.filter((t) => t.id !== action.toastId),
- };
- }
-};
-
-const listeners: Array<(state: State) => void> = [];
-
-let memoryState: State = { toasts: [] };
-
-function dispatch(action: Action) {
- memoryState = reducer(memoryState, action);
- listeners.forEach((listener) => {
- listener(memoryState);
- });
-}
-
-type Toast = Omit;
-
-function toast({ ...props }: Toast) {
- const id = genId();
-
- const update = (props: ToasterToast) =>
- dispatch({
- type: 'UPDATE_TOAST',
- toast: { ...props, id },
- });
- const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });
-
- dispatch({
- type: 'ADD_TOAST',
- toast: {
- ...props,
- id,
- open: true,
- onOpenChange: (open) => {
- if (!open) dismiss();
- },
- },
- });
-
- return {
- id: id,
- dismiss,
- update,
- };
-}
-
-function useToast() {
- const [state, setState] = React.useState(memoryState);
-
- React.useEffect(() => {
- listeners.push(setState);
- return () => {
- const index = listeners.indexOf(setState);
- if (index > -1) {
- listeners.splice(index, 1);
- }
- };
- }, [state]);
-
- return {
- ...state,
- toast,
- dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),
- };
-}
-
-export { useToast, toast };
diff --git a/src/shared/constants/auth.ts b/src/shared/constants/auth.ts
deleted file mode 100644
index eda0fbb..0000000
--- a/src/shared/constants/auth.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { ROUTE } from './routes';
-
-export const UserPages = [ROUTE.PROFILE, ROUTE.ADD_MANGA, ROUTE.EDIT_MANGA];
-export const AdminPages = [ROUTE.ADMIN, ROUTE.SET_ADMIN];
diff --git a/src/shared/constants/common.ts b/src/shared/constants/common.ts
deleted file mode 100644
index a987abe..0000000
--- a/src/shared/constants/common.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-export const BASE_API_URL = process.env.NEXT_PUBLIC_API_URL ?? '';
-export const API_URL = `${BASE_API_URL}/api`;
-
-export const AUTHORIZATION_STORAGE_KEY = 'authorized';
-export const AUTHORIZATION_TOKEN_STORAGE_KEY = 'auth_token';
-export const REFRESH_TOKEN_STORAGE_KEY = 'refresh_token';
-
-export const CLIENT_URL = process.env.NEXT_PUBLIC_CLIENT_URL ?? '';
-
-export const SAVED_ROUTE_LOCATION_DATA_STORAGE_KEY =
- 'saved_route_location_data';
-
-export enum ResponseStatusCode {
- SUCCESS = 200,
- CREATED = 201,
- ACCEPTED = 202,
- TEMPORARY_REDIRECT = 307,
- BAD_REQUEST = 400,
- NOT_AUTHORIZED = 401,
- FORBIDDEN = 403,
- NOT_FOUND = 404,
- SOMETHING_WRONG = 418,
- SERVER_ERROR = 500,
-}
diff --git a/src/shared/hooks/useAxiosAuth.ts b/src/shared/hooks/useAxiosAuth.ts
deleted file mode 100644
index 3cb4a9f..0000000
--- a/src/shared/hooks/useAxiosAuth.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-'use client';
-import { useSession } from 'next-auth/react';
-import { useEffect } from 'react';
-
-import { useRefreshToken } from './useRefreshToken';
-import { axiosAuth } from '../utils/axios';
-
-const useAxiosAuth = () => {
- const { data: session } = useSession();
- const refreshToken = useRefreshToken();
-
- useEffect(() => {
- const requestIntercept = axiosAuth.interceptors.request.use(
- (config) => {
- if (!config.headers['Authorization']) {
- config.headers[
- 'Authorization'
- ] = `Bearer ${session?.user?.accessToken}`;
- }
- return config;
- },
- (error) => Promise.reject(error),
- );
-
- const responseIntercept = axiosAuth.interceptors.response.use(
- (response) => response,
- async (error) => {
- const prevRequest = error?.config;
- if (error?.response?.status === 401 && !prevRequest?.sent) {
- prevRequest.sent = true;
-
- const result = await refreshToken(); // TODO check why it doesn't await update
-
- prevRequest.headers[
- 'Authorization'
- ] = `Bearer ${result?.user.accessToken}`;
- return axiosAuth(prevRequest);
- }
- return Promise.reject(error);
- },
- );
-
- return () => {
- axiosAuth.interceptors.request.eject(requestIntercept);
- axiosAuth.interceptors.response.eject(responseIntercept);
- };
- }, [session, refreshToken]);
-
- return axiosAuth;
-};
-
-export default useAxiosAuth;
diff --git a/src/shared/hooks/useRefreshToken.ts b/src/shared/hooks/useRefreshToken.ts
deleted file mode 100644
index 5559014..0000000
--- a/src/shared/hooks/useRefreshToken.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-'use client';
-
-import { signIn, useSession } from 'next-auth/react';
-
-import { axiosAuth } from '../utils/axios';
-
-export const useRefreshToken = () => {
- const { data: session, update } = useSession();
-
- const refreshToken = async () => {
- if (session?.user?.refreshToken) {
- const res = await axiosAuth.get('Auth/refresh', {
- headers: { refreshTokenString: session?.user.refreshToken },
- });
-
- return await update({
- ...session,
- user: {
- ...session?.user,
- accessToken: res.data.accessToken,
- refreshToken: res.data.refreshToken,
- },
- });
- } else {
- signIn();
- }
- };
- return refreshToken;
-};
diff --git a/src/shared/types/next-auth.d.ts b/src/shared/types/next-auth.d.ts
deleted file mode 100644
index 60f95f3..0000000
--- a/src/shared/types/next-auth.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Role } from '../models/auth';
-import { User } from '../models/user';
-
-declare module 'next-auth' {
- interface Session {
- user: {
- data: User;
- accessToken: string;
- refreshToken: string;
- id: number;
- role: Role;
- };
- }
-}
diff --git a/src/shared/utils/utils.ts b/src/shared/utils/utils.ts
deleted file mode 100644
index 9ad0df4..0000000
--- a/src/shared/utils/utils.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { type ClassValue, clsx } from 'clsx';
-import { twMerge } from 'tailwind-merge';
-
-export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs));
-}
diff --git a/src/shared/types/auth.ts b/src/types/auth.ts
similarity index 100%
rename from src/shared/types/auth.ts
rename to src/types/auth.ts
diff --git a/src/types/index.ts b/src/types/index.ts
new file mode 100644
index 0000000..f1f044f
--- /dev/null
+++ b/src/types/index.ts
@@ -0,0 +1,2 @@
+export * from './auth';
+export type { ObjectValues } from './utils';
diff --git a/src/shared/types/utils.ts b/src/types/utils.ts
similarity index 100%
rename from src/shared/types/utils.ts
rename to src/types/utils.ts
diff --git a/src/shared/utils/TypeUtils.ts b/src/utils/TypeUtils.ts
similarity index 100%
rename from src/shared/utils/TypeUtils.ts
rename to src/utils/TypeUtils.ts
diff --git a/src/shared/utils/axios.ts b/src/utils/axios.ts
similarity index 72%
rename from src/shared/utils/axios.ts
rename to src/utils/axios.ts
index c2e6f4c..df2776c 100644
--- a/src/shared/utils/axios.ts
+++ b/src/utils/axios.ts
@@ -1,13 +1,11 @@
import { default as _axios } from 'axios';
-import { API_URL } from '../constants/common';
-
export const axios = _axios.create({
- baseURL: API_URL,
+ // baseURL: API_URL,
headers: { 'Content-Type': 'application/json' },
});
export const axiosAuth = _axios.create({
- baseURL: API_URL,
+ // baseURL: API_URL,
headers: { 'Content-Type': 'application/json' },
});
diff --git a/src/shared/utils/bytesToFile.ts b/src/utils/bytesToFile.ts
similarity index 100%
rename from src/shared/utils/bytesToFile.ts
rename to src/utils/bytesToFile.ts
diff --git a/src/shared/utils/calculateBackgroundColor.ts b/src/utils/calculateBackgroundColor.ts
similarity index 85%
rename from src/shared/utils/calculateBackgroundColor.ts
rename to src/utils/calculateBackgroundColor.ts
index a0cc00b..fc5ab95 100644
--- a/src/shared/utils/calculateBackgroundColor.ts
+++ b/src/utils/calculateBackgroundColor.ts
@@ -1,4 +1,4 @@
-import modifyColor from './colorModifier';
+import modifyColor from './modifyColor';
const calculateBackgroundColor = (
color: string,
diff --git a/src/shared/utils/capitalizedWords.ts b/src/utils/capitalizedWords.ts
similarity index 100%
rename from src/shared/utils/capitalizedWords.ts
rename to src/utils/capitalizedWords.ts
diff --git a/src/shared/utils/checkIfServiceKey.ts b/src/utils/checkIfServiceKey.ts
similarity index 100%
rename from src/shared/utils/checkIfServiceKey.ts
rename to src/utils/checkIfServiceKey.ts
diff --git a/src/shared/utils/createAnimation.ts b/src/utils/createAnimation.ts
similarity index 100%
rename from src/shared/utils/createAnimation.ts
rename to src/utils/createAnimation.ts
diff --git a/src/shared/utils/debounce.ts b/src/utils/debounce.ts
similarity index 100%
rename from src/shared/utils/debounce.ts
rename to src/utils/debounce.ts
diff --git a/src/shared/utils/index.ts b/src/utils/index.ts
similarity index 62%
rename from src/shared/utils/index.ts
rename to src/utils/index.ts
index 65b2388..ca0783a 100644
--- a/src/shared/utils/index.ts
+++ b/src/utils/index.ts
@@ -1,7 +1,10 @@
-export { default as modifyColor } from './colorModifier';
-export type { StringMap } from './TypeUtils';
+export { axios, axiosAuth } from './axios';
+export { default as bytesToFile } from './bytesToFile';
export { default as calculateBackgroundColor } from './calculateBackgroundColor';
-export { default as createAnimation } from './createAnimation';
-export { parseLengthAndUnit, cssValue } from './unitConverter';
-export { default as debounce } from './debounce';
+export { default as capitalizedWords } from './capitalizedWords';
export { default as checkIfServiceKey } from './checkIfServiceKey';
+export { default as debounce } from './debounce';
+export { parseLengthAndUnit, cssValue } from './unitConverter';
+export { default as modifyColor } from './modifyColor';
+export type { StringMap } from './TypeUtils';
+export { default as createAnimation } from './createAnimation';
diff --git a/src/shared/utils/colorModifier.ts b/src/utils/modifyColor.ts
similarity index 100%
rename from src/shared/utils/colorModifier.ts
rename to src/utils/modifyColor.ts
diff --git a/src/shared/utils/unitConverter.ts b/src/utils/unitConverter.ts
similarity index 100%
rename from src/shared/utils/unitConverter.ts
rename to src/utils/unitConverter.ts
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/tailwind.config.js b/tailwind.config.js
deleted file mode 100644
index bcdf600..0000000
--- a/tailwind.config.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- darkMode: ['class'],
- content: [
- './pages/**/*.{ts,tsx}',
- './components/**/*.{ts,tsx}',
- './app/**/*.{ts,tsx}',
- './src/**/*.{ts,tsx}',
- ],
- theme: {
- container: {
- center: true,
- padding: {
- DEFAULT: '1.5rem',
- sm: '4rem',
- lg: '4rem',
- xl: '4rem',
- '2xl': '4rem',
- },
- },
- extend: {
- fontFamily: {
- rubick: ['Rubick', 'sans-serif'],
- },
- colors: {
- border: 'hsl(var(--border))',
- input: 'hsl(var(--input))',
- ring: 'hsl(var(--ring))',
- background: 'hsl(var(--background))',
- 'background-secondary': 'hsl(var(--background-secondary))',
- foreground: 'hsl(var(--foreground))',
- primary: {
- DEFAULT: 'hsl(var(--primary))',
- foreground: 'hsl(var(--primary-foreground))',
- },
- secondary: {
- DEFAULT: 'hsl(var(--secondary))',
- foreground: 'hsl(var(--secondary-foreground))',
- },
- destructive: {
- DEFAULT: 'hsl(var(--destructive))',
- foreground: 'hsl(var(--destructive-foreground))',
- },
- muted: {
- DEFAULT: 'hsl(var(--muted))',
- foreground: 'hsl(var(--muted-foreground))',
- },
- accent: {
- DEFAULT: 'hsl(var(--accent))',
- foreground: 'hsl(var(--accent-foreground))',
- },
- popover: {
- DEFAULT: 'hsl(var(--popover))',
- foreground: 'hsl(var(--popover-foreground))',
- },
- card: {
- DEFAULT: 'hsl(var(--card))',
- foreground: 'hsl(var(--card-foreground))',
- },
- },
- borderRadius: {
- lg: 'var(--radius)',
- md: 'calc(var(--radius) - 2px)',
- sm: 'calc(var(--radius) - 4px)',
- },
- keyframes: {
- 'accordion-down': {
- from: { height: 0 },
- to: { height: 'var(--radix-accordion-content-height)' },
- },
- 'accordion-up': {
- from: { height: 'var(--radix-accordion-content-height)' },
- to: { height: 0 },
- },
- },
- animation: {
- 'accordion-down': 'accordion-down 0.2s ease-out',
- 'accordion-up': 'accordion-up 0.2s ease-out',
- },
- },
- },
- plugins: [require('tailwindcss-animate')],
-};
diff --git a/tsconfig.json b/tsconfig.json
index 5671823..d3e183e 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -22,13 +22,9 @@
},
"allowJs": true,
"incremental": true,
- "esModuleInterop": true,
- "plugins": [
- {
- "name": "next"
- }
- ]
+ "esModuleInterop": true
},
"include": ["src", ".next/types/**/*.ts"],
+ "references": [{ "path": "./tsconfig.node.json" }],
"exclude": ["node_modules"]
}
diff --git a/tsconfig.node.json b/tsconfig.node.json
new file mode 100644
index 0000000..42872c5
--- /dev/null
+++ b/tsconfig.node.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..7356b7a
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,8 @@
+import react from '@vitejs/plugin-react';
+import { defineConfig } from 'vite';
+import tsconfigPaths from 'vite-tsconfig-paths';
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react(), tsconfigPaths()],
+});
diff --git a/yarn.lock b/yarn.lock
index 93d561d..919d039 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7,11 +7,6 @@
resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
-"@alloc/quick-lru@^5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
- integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
-
"@ampproject/remapping@^2.2.0":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
@@ -20,94 +15,67 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@antfu/ni@^0.21.4":
- version "0.21.8"
- resolved "https://registry.yarnpkg.com/@antfu/ni/-/ni-0.21.8.tgz#85a2871f9c8e6c4e99a98401ed063870fce4e4ad"
- integrity sha512-90X8pU2szlvw0AJo9EZMbYc2eQKkmO7mAdC4tD4r5co2Mm56MT37MIG8EyB7p4WRheuzGxuLDxJ63mF6+Zajiw==
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13":
- version "7.22.13"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
- integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
+"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5":
+ version "7.23.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
+ integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
dependencies:
- "@babel/highlight" "^7.22.13"
+ "@babel/highlight" "^7.23.4"
chalk "^2.4.2"
-"@babel/compat-data@^7.22.9":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc"
- integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==
+"@babel/compat-data@^7.23.5":
+ version "7.23.5"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
+ integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
-"@babel/core@^7.22.1":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94"
- integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==
+"@babel/core@^7.23.5":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4"
+ integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.22.13"
- "@babel/generator" "^7.23.0"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-module-transforms" "^7.23.0"
- "@babel/helpers" "^7.23.2"
- "@babel/parser" "^7.23.0"
+ "@babel/code-frame" "^7.23.5"
+ "@babel/generator" "^7.23.6"
+ "@babel/helper-compilation-targets" "^7.23.6"
+ "@babel/helper-module-transforms" "^7.23.3"
+ "@babel/helpers" "^7.23.6"
+ "@babel/parser" "^7.23.6"
"@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.2"
- "@babel/types" "^7.23.0"
+ "@babel/traverse" "^7.23.6"
+ "@babel/types" "^7.23.6"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.3"
semver "^6.3.1"
-"@babel/generator@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
- integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
+"@babel/generator@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e"
+ integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==
dependencies:
- "@babel/types" "^7.23.0"
+ "@babel/types" "^7.23.6"
"@jridgewell/gen-mapping" "^0.3.2"
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
-"@babel/helper-annotate-as-pure@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
- integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-compilation-targets@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52"
- integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==
+"@babel/helper-compilation-targets@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
+ integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
dependencies:
- "@babel/compat-data" "^7.22.9"
- "@babel/helper-validator-option" "^7.22.15"
- browserslist "^4.21.9"
+ "@babel/compat-data" "^7.23.5"
+ "@babel/helper-validator-option" "^7.23.5"
+ browserslist "^4.22.2"
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-create-class-features-plugin@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4"
- integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-environment-visitor" "^7.22.5"
- "@babel/helper-function-name" "^7.22.5"
- "@babel/helper-member-expression-to-functions" "^7.22.15"
- "@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.9"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/helper-split-export-declaration" "^7.22.6"
- semver "^6.3.1"
-
-"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5":
+"@babel/helper-environment-visitor@^7.22.20":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
-"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0":
+"@babel/helper-function-name@^7.23.0":
version "7.23.0"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
@@ -122,13 +90,6 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-member-expression-to-functions@^7.22.15":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
- integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
- dependencies:
- "@babel/types" "^7.23.0"
-
"@babel/helper-module-imports@^7.22.15":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
@@ -136,10 +97,10 @@
dependencies:
"@babel/types" "^7.22.15"
-"@babel/helper-module-transforms@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e"
- integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==
+"@babel/helper-module-transforms@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
+ integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-module-imports" "^7.22.15"
@@ -147,27 +108,11 @@
"@babel/helper-split-export-declaration" "^7.22.6"
"@babel/helper-validator-identifier" "^7.22.20"
-"@babel/helper-optimise-call-expression@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e"
- integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==
- dependencies:
- "@babel/types" "^7.22.5"
-
"@babel/helper-plugin-utils@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
-"@babel/helper-replace-supers@^7.22.9":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
- integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
- dependencies:
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-member-expression-to-functions" "^7.22.15"
- "@babel/helper-optimise-call-expression" "^7.22.5"
-
"@babel/helper-simple-access@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
@@ -175,13 +120,6 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847"
- integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==
- dependencies:
- "@babel/types" "^7.22.5"
-
"@babel/helper-split-export-declaration@^7.22.6":
version "7.22.6"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
@@ -189,67 +127,57 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-string-parser@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
- integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
+"@babel/helper-string-parser@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
+ integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-"@babel/helper-validator-option@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040"
- integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==
+"@babel/helper-validator-option@^7.23.5":
+ version "7.23.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
+ integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
-"@babel/helpers@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767"
- integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==
+"@babel/helpers@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a"
+ integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==
dependencies:
"@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.2"
- "@babel/types" "^7.23.0"
+ "@babel/traverse" "^7.23.6"
+ "@babel/types" "^7.23.6"
-"@babel/highlight@^7.22.13":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
- integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
+"@babel/highlight@^7.23.4":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
+ integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.22.15", "@babel/parser@^7.22.6", "@babel/parser@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
- integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
+"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b"
+ integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==
-"@babel/plugin-syntax-typescript@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272"
- integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==
+"@babel/plugin-transform-react-jsx-self@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9"
+ integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==
dependencies:
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-typescript@^7.22.5":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127"
- integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==
+"@babel/plugin-transform-react-jsx-source@^7.23.3":
+ version "7.23.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e"
+ integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.22.15"
"@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-typescript" "^7.22.5"
-
-"@babel/runtime@^7.13.10", "@babel/runtime@^7.20.13", "@babel/runtime@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
- integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
- dependencies:
- regenerator-runtime "^0.14.0"
"@babel/template@^7.22.15":
version "7.22.15"
@@ -260,32 +188,32 @@
"@babel/parser" "^7.22.15"
"@babel/types" "^7.22.15"
-"@babel/traverse@^7.23.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
- integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
+"@babel/traverse@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5"
+ integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==
dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/generator" "^7.23.0"
+ "@babel/code-frame" "^7.23.5"
+ "@babel/generator" "^7.23.6"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/parser" "^7.23.0"
- "@babel/types" "^7.23.0"
- debug "^4.1.0"
+ "@babel/parser" "^7.23.6"
+ "@babel/types" "^7.23.6"
+ debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
- integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
+"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd"
+ integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==
dependencies:
- "@babel/helper-string-parser" "^7.22.5"
+ "@babel/helper-string-parser" "^7.23.4"
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
-"@emotion/is-prop-valid@^1.2.1":
+"@emotion/is-prop-valid@1.2.1":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc"
integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==
@@ -297,10 +225,125 @@
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17"
integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
-"@emotion/unitless@^0.8.0":
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3"
- integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==
+"@emotion/unitless@0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db"
+ integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==
+
+"@esbuild/aix-ppc64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz#fb3922a0183d27446de00cf60d4f7baaadf98d84"
+ integrity sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==
+
+"@esbuild/android-arm64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz#ef31015416dd79398082409b77aaaa2ade4d531a"
+ integrity sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==
+
+"@esbuild/android-arm@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz#1c23c7e75473aae9fb323be5d9db225142f47f52"
+ integrity sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==
+
+"@esbuild/android-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz#df6a4e6d6eb8da5595cfce16d4e3f6bc24464707"
+ integrity sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==
+
+"@esbuild/darwin-arm64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz#8462a55db07c1b2fad61c8244ce04469ef1043be"
+ integrity sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==
+
+"@esbuild/darwin-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz#d1de20bfd41bb75b955ba86a6b1004539e8218c1"
+ integrity sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==
+
+"@esbuild/freebsd-arm64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz#16904879e34c53a2e039d1284695d2db3e664d57"
+ integrity sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==
+
+"@esbuild/freebsd-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz#8ad9e5ca9786ca3f1ef1411bfd10b08dcd9d4cef"
+ integrity sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==
+
+"@esbuild/linux-arm64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz#d82cf2c590faece82d28bbf1cfbe36f22ae25bd2"
+ integrity sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==
+
+"@esbuild/linux-arm@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz#477b8e7c7bcd34369717b04dd9ee6972c84f4029"
+ integrity sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==
+
+"@esbuild/linux-ia32@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz#d55ff822cf5b0252a57112f86857ff23be6cab0e"
+ integrity sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==
+
+"@esbuild/linux-loong64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz#a9ad057d7e48d6c9f62ff50f6f208e331c4543c7"
+ integrity sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==
+
+"@esbuild/linux-mips64el@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz#b011a96924773d60ebab396fbd7a08de66668179"
+ integrity sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==
+
+"@esbuild/linux-ppc64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz#5d8b59929c029811e473f2544790ea11d588d4dd"
+ integrity sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==
+
+"@esbuild/linux-riscv64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz#292b06978375b271bd8bc0a554e0822957508d22"
+ integrity sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==
+
+"@esbuild/linux-s390x@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz#d30af63530f8d4fa96930374c9dd0d62bf59e069"
+ integrity sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==
+
+"@esbuild/linux-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz#898c72eeb74d9f2fb43acf316125b475548b75ce"
+ integrity sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==
+
+"@esbuild/netbsd-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz#fd473a5ae261b43eab6dad4dbd5a3155906e6c91"
+ integrity sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==
+
+"@esbuild/openbsd-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz#96eb8992e526717b5272321eaad3e21f3a608e46"
+ integrity sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==
+
+"@esbuild/sunos-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz#c16ee1c167f903eaaa6acf7372bee42d5a89c9bc"
+ integrity sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==
+
+"@esbuild/win32-arm64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz#7e417d1971dbc7e469b4eceb6a5d1d667b5e3dcc"
+ integrity sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==
+
+"@esbuild/win32-ia32@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz#2b52dfec6cd061ecb36171c13bae554888b439e5"
+ integrity sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==
+
+"@esbuild/win32-x64@0.19.10":
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz#bd123a74f243d2f3a1f046447bb9b363ee25d072"
+ integrity sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
@@ -334,33 +377,6 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.53.0.tgz#bea56f2ed2b5baea164348ff4d5a879f6f81f20d"
integrity sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==
-"@floating-ui/core@^1.4.2":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c"
- integrity sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==
- dependencies:
- "@floating-ui/utils" "^0.1.3"
-
-"@floating-ui/dom@^1.5.1":
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa"
- integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==
- dependencies:
- "@floating-ui/core" "^1.4.2"
- "@floating-ui/utils" "^0.1.3"
-
-"@floating-ui/react-dom@^2.0.0":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20"
- integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==
- dependencies:
- "@floating-ui/dom" "^1.5.1"
-
-"@floating-ui/utils@^0.1.3":
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9"
- integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==
-
"@hookform/resolvers@^3.3.2":
version "3.3.2"
resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-3.3.2.tgz#5c40f06fe8137390b071d961c66d27ee8f76f3bc"
@@ -417,78 +433,6 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@mapbox/node-pre-gyp@^1.0.0":
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa"
- integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==
- dependencies:
- detect-libc "^2.0.0"
- https-proxy-agent "^5.0.0"
- make-dir "^3.1.0"
- node-fetch "^2.6.7"
- nopt "^5.0.0"
- npmlog "^5.0.1"
- rimraf "^3.0.2"
- semver "^7.3.5"
- tar "^6.1.11"
-
-"@next/env@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-13.5.6.tgz#c1148e2e1aa166614f05161ee8f77ded467062bc"
- integrity sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==
-
-"@next/eslint-plugin-next@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.6.tgz#cf279b94ddc7de49af8e8957f0c3b7349bc489bf"
- integrity sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==
- dependencies:
- glob "7.1.7"
-
-"@next/swc-darwin-arm64@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz#b15d139d8971360fca29be3bdd703c108c9a45fb"
- integrity sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==
-
-"@next/swc-darwin-x64@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz#9c72ee31cc356cb65ce6860b658d807ff39f1578"
- integrity sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==
-
-"@next/swc-linux-arm64-gnu@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz#59f5f66155e85380ffa26ee3d95b687a770cfeab"
- integrity sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==
-
-"@next/swc-linux-arm64-musl@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz#f012518228017052736a87d69bae73e587c76ce2"
- integrity sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==
-
-"@next/swc-linux-x64-gnu@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz#339b867a7e9e7ee727a700b496b269033d820df4"
- integrity sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==
-
-"@next/swc-linux-x64-musl@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz#ae0ae84d058df758675830bcf70ca1846f1028f2"
- integrity sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==
-
-"@next/swc-win32-arm64-msvc@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz#a5cc0c16920485a929a17495064671374fdbc661"
- integrity sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==
-
-"@next/swc-win32-ia32-msvc@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz#6a2409b84a2cbf34bf92fe714896455efb4191e4"
- integrity sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==
-
-"@next/swc-win32-x64-msvc@13.5.6":
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz#4a3e2a206251abc729339ba85f60bc0433c2865d"
- integrity sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==
-
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -510,11 +454,6 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@panva/hkdf@^1.0.2":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@panva/hkdf/-/hkdf-1.1.1.tgz#ab9cd8755d1976e72fc77a00f7655a64efe6cd5d"
- integrity sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==
-
"@pkgr/utils@^2.3.1":
version "2.4.2"
resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc"
@@ -527,386 +466,108 @@
picocolors "^1.0.0"
tslib "^2.6.0"
-"@radix-ui/number@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.1.tgz#644161a3557f46ed38a042acf4a770e826021674"
- integrity sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/primitive@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd"
- integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-arrow@1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d"
- integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-primitive" "1.0.3"
-
-"@radix-ui/react-checkbox@^1.0.4":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz#98f22c38d5010dd6df4c5744cac74087e3275f4b"
- integrity sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-presence" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-controllable-state" "1.0.1"
- "@radix-ui/react-use-previous" "1.0.1"
- "@radix-ui/react-use-size" "1.0.1"
-
-"@radix-ui/react-collection@1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.3.tgz#9595a66e09026187524a36c6e7e9c7d286469159"
- integrity sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-slot" "1.0.2"
-
-"@radix-ui/react-compose-refs@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989"
- integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-context@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c"
- integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-direction@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b"
- integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-dismissable-layer@1.0.5":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4"
- integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-callback-ref" "1.0.1"
- "@radix-ui/react-use-escape-keydown" "1.0.3"
-
-"@radix-ui/react-dropdown-menu@^2.0.6":
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz#cdf13c956c5e263afe4e5f3587b3071a25755b63"
- integrity sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-id" "1.0.1"
- "@radix-ui/react-menu" "2.0.6"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-controllable-state" "1.0.1"
-
-"@radix-ui/react-focus-guards@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad"
- integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-focus-scope@1.0.4":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525"
- integrity sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-callback-ref" "1.0.1"
-
-"@radix-ui/react-id@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0"
- integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-use-layout-effect" "1.0.1"
-
-"@radix-ui/react-label@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.0.2.tgz#9c72f1d334aac996fdc27b48a8bdddd82108fb6d"
- integrity sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-primitive" "1.0.3"
-
-"@radix-ui/react-menu@2.0.6":
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.0.6.tgz#2c9e093c1a5d5daa87304b2a2f884e32288ae79e"
- integrity sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-collection" "1.0.3"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-direction" "1.0.1"
- "@radix-ui/react-dismissable-layer" "1.0.5"
- "@radix-ui/react-focus-guards" "1.0.1"
- "@radix-ui/react-focus-scope" "1.0.4"
- "@radix-ui/react-id" "1.0.1"
- "@radix-ui/react-popper" "1.1.3"
- "@radix-ui/react-portal" "1.0.4"
- "@radix-ui/react-presence" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-roving-focus" "1.0.4"
- "@radix-ui/react-slot" "1.0.2"
- "@radix-ui/react-use-callback-ref" "1.0.1"
- aria-hidden "^1.1.1"
- react-remove-scroll "2.5.5"
-
-"@radix-ui/react-popper@1.1.3":
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42"
- integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@floating-ui/react-dom" "^2.0.0"
- "@radix-ui/react-arrow" "1.0.3"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-callback-ref" "1.0.1"
- "@radix-ui/react-use-layout-effect" "1.0.1"
- "@radix-ui/react-use-rect" "1.0.1"
- "@radix-ui/react-use-size" "1.0.1"
- "@radix-ui/rect" "1.0.1"
-
-"@radix-ui/react-portal@1.0.4":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15"
- integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-primitive" "1.0.3"
-
-"@radix-ui/react-presence@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba"
- integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-use-layout-effect" "1.0.1"
-
-"@radix-ui/react-primitive@1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0"
- integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-slot" "1.0.2"
-
-"@radix-ui/react-roving-focus@1.0.4":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz#e90c4a6a5f6ac09d3b8c1f5b5e81aab2f0db1974"
- integrity sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-collection" "1.0.3"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-direction" "1.0.1"
- "@radix-ui/react-id" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-callback-ref" "1.0.1"
- "@radix-ui/react-use-controllable-state" "1.0.1"
-
-"@radix-ui/react-select@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.0.0.tgz#a3511792a51a7018d6559357323a7f52e0e38887"
- integrity sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/number" "1.0.1"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-collection" "1.0.3"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-direction" "1.0.1"
- "@radix-ui/react-dismissable-layer" "1.0.5"
- "@radix-ui/react-focus-guards" "1.0.1"
- "@radix-ui/react-focus-scope" "1.0.4"
- "@radix-ui/react-id" "1.0.1"
- "@radix-ui/react-popper" "1.1.3"
- "@radix-ui/react-portal" "1.0.4"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-slot" "1.0.2"
- "@radix-ui/react-use-callback-ref" "1.0.1"
- "@radix-ui/react-use-controllable-state" "1.0.1"
- "@radix-ui/react-use-layout-effect" "1.0.1"
- "@radix-ui/react-use-previous" "1.0.1"
- "@radix-ui/react-visually-hidden" "1.0.3"
- aria-hidden "^1.1.1"
- react-remove-scroll "2.5.5"
-
-"@radix-ui/react-separator@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.0.3.tgz#be5a931a543d5726336b112f465f58585c04c8aa"
- integrity sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-primitive" "1.0.3"
-
-"@radix-ui/react-slot@1.0.2", "@radix-ui/react-slot@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab"
- integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-compose-refs" "1.0.1"
-
-"@radix-ui/react-toast@^1.1.5":
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.1.5.tgz#f5788761c0142a5ae9eb97f0051fd3c48106d9e6"
- integrity sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.1"
- "@radix-ui/react-collection" "1.0.3"
- "@radix-ui/react-compose-refs" "1.0.1"
- "@radix-ui/react-context" "1.0.1"
- "@radix-ui/react-dismissable-layer" "1.0.5"
- "@radix-ui/react-portal" "1.0.4"
- "@radix-ui/react-presence" "1.0.1"
- "@radix-ui/react-primitive" "1.0.3"
- "@radix-ui/react-use-callback-ref" "1.0.1"
- "@radix-ui/react-use-controllable-state" "1.0.1"
- "@radix-ui/react-use-layout-effect" "1.0.1"
- "@radix-ui/react-visually-hidden" "1.0.3"
-
-"@radix-ui/react-use-callback-ref@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a"
- integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-use-controllable-state@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286"
- integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-use-callback-ref" "1.0.1"
-
-"@radix-ui/react-use-escape-keydown@1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755"
- integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-use-callback-ref" "1.0.1"
-
-"@radix-ui/react-use-layout-effect@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399"
- integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-use-previous@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz#b595c087b07317a4f143696c6a01de43b0d0ec66"
- integrity sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
-"@radix-ui/react-use-rect@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2"
- integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/rect" "1.0.1"
-
-"@radix-ui/react-use-size@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2"
- integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-use-layout-effect" "1.0.1"
-
-"@radix-ui/react-visually-hidden@1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac"
- integrity sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/react-primitive" "1.0.3"
-
-"@radix-ui/rect@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f"
- integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==
- dependencies:
- "@babel/runtime" "^7.13.10"
-
"@remix-run/router@1.11.0":
version "1.11.0"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.11.0.tgz#e0e45ac3fff9d8a126916f166809825537e9f955"
integrity sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==
-"@rushstack/eslint-patch@^1.3.3":
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz#5f1b518ec5fa54437c0b7c4a821546c64fed6922"
- integrity sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==
-
-"@swc/helpers@0.5.2":
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d"
- integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==
- dependencies:
- tslib "^2.4.0"
-
-"@tanstack/react-table@^8.10.7":
- version "8.10.7"
- resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.10.7.tgz#733f4bee8cf5aa19582f944dd0fd3224b21e8c94"
- integrity sha512-bXhjA7xsTcsW8JPTTYlUg/FuBpn8MNjiEPhkNhIGCUR6iRQM2+WEco4OBpvDeVcR9SE+bmWLzdfiY7bCbCSVuA==
- dependencies:
- "@tanstack/table-core" "8.10.7"
-
-"@tanstack/table-core@8.10.7":
- version "8.10.7"
- resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.10.7.tgz#577e8a635048875de4c9d6d6a3c21d26ff9f9d08"
- integrity sha512-KQk5OMg5OH6rmbHZxuNROvdI+hKDIUxANaHlV+dPlNN7ED3qYQ/WkpY2qlXww1SIdeMlkIhpN/2L00rof0fXFw==
-
-"@ts-morph/common@~0.19.0":
- version "0.19.0"
- resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.19.0.tgz#927fcd81d1bbc09c89c4a310a84577fb55f3694e"
- integrity sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==
- dependencies:
- fast-glob "^3.2.12"
- minimatch "^7.4.3"
- mkdirp "^2.1.6"
- path-browserify "^1.0.1"
+"@rollup/rollup-android-arm-eabi@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz#beaf518ee45a196448e294ad3f823d2d4576cf35"
+ integrity sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==
+
+"@rollup/rollup-android-arm64@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz#6f76cfa759c2d0fdb92122ffe28217181a1664eb"
+ integrity sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==
+
+"@rollup/rollup-darwin-arm64@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz#9aaefe33a5481d66322d1c62f368171c03eabe2b"
+ integrity sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==
+
+"@rollup/rollup-darwin-x64@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz#707dcaadcdc6bd3fd6c69f55d9456cd4446306a3"
+ integrity sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz#7a4dbbd1dd98731d88a55aefcef0ec4c578fa9c7"
+ integrity sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==
+
+"@rollup/rollup-linux-arm64-gnu@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz#967ba8e6f68a5f21bd00cd97773dcdd6107e94ed"
+ integrity sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==
+
+"@rollup/rollup-linux-arm64-musl@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz#d3a4e1c9f21eef3b9f4e4989f334a519a1341462"
+ integrity sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz#415c0533bb752164effd05f5613858e8f6779bc9"
+ integrity sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==
+
+"@rollup/rollup-linux-x64-gnu@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz#0983385dd753a2e0ecaddea7a81dd37fea5114f5"
+ integrity sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==
+
+"@rollup/rollup-linux-x64-musl@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz#eb7494ebc5199cbd2e5c38c2b8acbe2603f35e03"
+ integrity sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==
+
+"@rollup/rollup-win32-arm64-msvc@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz#5bebc66e3a7f82d4b9aa9ff448e7fc13a69656e9"
+ integrity sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==
+
+"@rollup/rollup-win32-ia32-msvc@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz#34156ebf8b4de3b20e6497260fe519a30263f8cf"
+ integrity sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==
+
+"@rollup/rollup-win32-x64-msvc@4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz#d146db7a5949e10837b323ce933ed882ac878262"
+ integrity sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==
+
+"@types/babel__core@^7.20.5":
+ version "7.20.5"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
+ integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
+ dependencies:
+ "@babel/parser" "^7.20.7"
+ "@babel/types" "^7.20.7"
+ "@types/babel__generator" "*"
+ "@types/babel__template" "*"
+ "@types/babel__traverse" "*"
+
+"@types/babel__generator@*":
+ version "7.6.8"
+ resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab"
+ integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@types/babel__template@*":
+ version "7.4.4"
+ resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f"
+ integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
+ dependencies:
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@types/babel__traverse@*":
+ version "7.20.4"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b"
+ integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==
+ dependencies:
+ "@babel/types" "^7.20.7"
"@types/json-schema@^7.0.12":
version "7.0.15"
@@ -956,10 +617,10 @@
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.4.tgz#0a41252ad431c473158b22f9bfb9a63df7541cff"
integrity sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==
-"@types/stylis@^4.0.2":
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.3.tgz#0dff504fc23487a02a29209b162249070e83a0da"
- integrity sha512-86XLCVEmWagiUEbr2AjSbeY4qHN9jMm3pgM3PuBYfLIbT0MpDSnA3GA/4W7KoH/C/eeK77kNaeIxZzjhKYIBgw==
+"@types/stylis@4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.0.tgz#199a3f473f0c3a6f6e4e1b17cdbc967f274bdc6b"
+ integrity sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==
"@typescript-eslint/eslint-plugin@^6.0.0":
version "6.10.0"
@@ -978,7 +639,7 @@
semver "^7.5.4"
ts-api-utils "^1.0.1"
-"@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^6.0.0":
+"@typescript-eslint/parser@^6.0.0":
version "6.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.10.0.tgz#578af79ae7273193b0b6b61a742a2bc8e02f875a"
integrity sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==
@@ -1051,10 +712,16 @@
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+"@vitejs/plugin-react@^4.2.1":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz#744d8e4fcb120fc3dbaa471dadd3483f5a304bb9"
+ integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==
+ dependencies:
+ "@babel/core" "^7.23.5"
+ "@babel/plugin-transform-react-jsx-self" "^7.23.3"
+ "@babel/plugin-transform-react-jsx-source" "^7.23.3"
+ "@types/babel__core" "^7.20.5"
+ react-refresh "^0.14.0"
acorn-jsx@^5.3.2:
version "5.3.2"
@@ -1066,20 +733,6 @@ acorn@^8.9.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
-agent-base@6:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
- integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
- dependencies:
- debug "4"
-
-agent-base@^7.0.2:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434"
- integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==
- dependencies:
- debug "^4.3.4"
-
ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
@@ -1126,56 +779,11 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
-any-promise@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
- integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
-
-anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-"aproba@^1.0.3 || ^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
- integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
-
-are-we-there-yet@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c"
- integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^3.6.0"
-
-arg@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
- integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
-
argparse@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-aria-hidden@^1.1.1:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954"
- integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==
- dependencies:
- tslib "^2.0.0"
-
-aria-query@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e"
- integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
- dependencies:
- dequal "^2.0.3"
-
array-buffer-byte-length@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
@@ -1255,29 +863,6 @@ arraybuffer.prototype.slice@^1.0.2:
is-array-buffer "^3.0.2"
is-shared-array-buffer "^1.0.2"
-assert@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd"
- integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==
- dependencies:
- call-bind "^1.0.2"
- is-nan "^1.3.2"
- object-is "^1.1.5"
- object.assign "^4.1.4"
- util "^0.12.5"
-
-ast-types-flow@^0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6"
- integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==
-
-ast-types@^0.16.1:
- version "0.16.1"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2"
- integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==
- dependencies:
- tslib "^2.0.1"
-
asynciterator.prototype@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62"
@@ -1290,28 +875,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-autoprefixer@^10.4.16:
- version "10.4.16"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8"
- integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==
- dependencies:
- browserslist "^4.21.10"
- caniuse-lite "^1.0.30001538"
- fraction.js "^4.3.6"
- normalize-range "^0.1.2"
- picocolors "^1.0.0"
- postcss-value-parser "^4.2.0"
-
available-typed-arrays@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-axe-core@=4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf"
- integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==
-
axios@^1.5.1:
version "1.6.0"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102"
@@ -1321,42 +889,16 @@ axios@^1.5.1:
form-data "^4.0.0"
proxy-from-env "^1.1.0"
-axobject-query@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
- integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==
- dependencies:
- dequal "^2.0.3"
-
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-js@^1.3.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
big-integer@^1.6.44:
version "1.6.51"
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-bl@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273"
- integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==
- dependencies:
- buffer "^6.0.3"
- inherits "^2.0.4"
- readable-stream "^3.4.0"
-
bplist-parser@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e"
@@ -1372,38 +914,23 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-brace-expansion@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
- integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
- dependencies:
- balanced-match "^1.0.0"
-
-braces@^3.0.2, braces@~3.0.2:
+braces@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
dependencies:
fill-range "^7.0.1"
-browserslist@^4.21.10, browserslist@^4.21.9:
- version "4.22.1"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619"
- integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==
+browserslist@^4.22.2:
+ version "4.22.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b"
+ integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
dependencies:
- caniuse-lite "^1.0.30001541"
- electron-to-chromium "^1.4.535"
- node-releases "^2.0.13"
+ caniuse-lite "^1.0.30001565"
+ electron-to-chromium "^1.4.601"
+ node-releases "^2.0.14"
update-browserslist-db "^1.0.13"
-buffer@^6.0.3:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
- integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.2.1"
-
bundle-name@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a"
@@ -1411,13 +938,6 @@ bundle-name@^3.0.0:
dependencies:
run-applescript "^5.0.0"
-busboy@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
- integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
- dependencies:
- streamsearch "^1.1.0"
-
call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513"
@@ -1432,36 +952,17 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camelcase-css@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
- integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
-
camelize@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3"
integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
-caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541:
- version "1.0.30001561"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da"
- integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==
-
-canvas@^2.11.2:
- version "2.11.2"
- resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.11.2.tgz#553d87b1e0228c7ac0fc72887c3adbac4abbd860"
- integrity sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==
- dependencies:
- "@mapbox/node-pre-gyp" "^1.0.0"
- nan "^2.17.0"
- simple-get "^3.0.3"
-
-chalk@5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
- integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
+caniuse-lite@^1.0.30001565:
+ version "1.0.30001572"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz#1ccf7dc92d2ee2f92ed3a54e11b7b4a3041acfa0"
+ integrity sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==
-chalk@5.3.0, chalk@^5.0.0:
+chalk@5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385"
integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
@@ -1483,33 +984,6 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chownr@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
- integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-
-class-variance-authority@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/class-variance-authority/-/class-variance-authority-0.7.0.tgz#1c3134d634d80271b1837452b06d821915954522"
- integrity sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==
- dependencies:
- clsx "2.0.0"
-
cli-cursor@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea"
@@ -1517,11 +991,6 @@ cli-cursor@^4.0.0:
dependencies:
restore-cursor "^4.0.0"
-cli-spinners@^2.6.1:
- version "2.9.1"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35"
- integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==
-
cli-truncate@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389"
@@ -1530,26 +999,6 @@ cli-truncate@^3.1.0:
slice-ansi "^5.0.0"
string-width "^5.0.0"
-client-only@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
- integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
-
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
- integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
-
-clsx@2.0.0, clsx@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b"
- integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==
-
-code-block-writer@^12.0.0:
- version "12.0.0"
- resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-12.0.0.tgz#4dd58946eb4234105aff7f0035977b2afdc2a770"
- integrity sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==
-
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -1574,11 +1023,6 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-color-support@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
- integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-
colorette@^2.0.20:
version "2.0.20"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
@@ -1596,46 +1040,16 @@ commander@11.1.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906"
integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==
-commander@^10.0.0:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
- integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
-
-commander@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
- integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-console-control-strings@^1.0.0, console-control-strings@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
- integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
-
convert-source-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-cookie@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
- integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
-
-cosmiconfig@^8.1.3:
- version "8.3.6"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
- integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
- dependencies:
- import-fresh "^3.3.0"
- js-yaml "^4.1.0"
- parse-json "^5.2.0"
- path-type "^4.0.0"
-
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -1650,7 +1064,7 @@ css-color-keywords@^1.0.0:
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
-css-to-react-native@^3.2.0:
+css-to-react-native@3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32"
integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
@@ -1659,27 +1073,12 @@ css-to-react-native@^3.2.0:
css-color-keywords "^1.0.0"
postcss-value-parser "^4.0.2"
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-csstype@^3.0.2, csstype@^3.1.2:
+csstype@3.1.2, csstype@^3.0.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
-damerau-levenshtein@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
- integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
-
-data-uri-to-buffer@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e"
- integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==
-
-debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -1693,13 +1092,6 @@ debug@^3.2.7:
dependencies:
ms "^2.1.1"
-decompress-response@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
- integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
- dependencies:
- mimic-response "^2.0.0"
-
deep-is@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
@@ -1723,13 +1115,6 @@ default-browser@^4.0.0:
execa "^7.1.1"
titleize "^3.0.0"
-defaults@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
- integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
- dependencies:
- clone "^1.0.2"
-
define-data-property@^1.0.1, define-data-property@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
@@ -1758,36 +1143,6 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-
-dequal@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
- integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
-
-detect-libc@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d"
- integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==
-
-detect-node-es@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
- integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
-
-didyoumean@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
- integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
-
-diff@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40"
- integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
-
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -1795,11 +1150,6 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
-dlv@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
- integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
-
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
@@ -1819,36 +1169,16 @@ eastasianwidth@^0.2.0:
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
-electron-to-chromium@^1.4.535:
- version "1.4.577"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.577.tgz#a732f11cf4532be96e5e3f1197dcda54c2cec7ad"
- integrity sha512-/5xHPH6f00SxhHw6052r+5S1xO7gHNc89hV7tqlvnStvKbSrDqc/u6AlwPvVWWNj+s4/KL6T6y8ih+nOY0qYNA==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+electron-to-chromium@^1.4.601:
+ version "1.4.616"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz#4bddbc2c76e1e9dbf449ecd5da3d8119826ea4fb"
+ integrity sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==
emoji-regex@^9.2.2:
version "9.2.2"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-enhanced-resolve@^5.12.0:
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35"
- integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==
- dependencies:
- graceful-fs "^4.2.4"
- tapable "^2.2.0"
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
es-abstract@^1.22.1:
version "1.22.3"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32"
@@ -1894,7 +1224,7 @@ es-abstract@^1.22.1:
unbox-primitive "^1.0.2"
which-typed-array "^1.1.13"
-es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15:
+es-iterator-helpers@^1.0.12:
version "1.0.15"
resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40"
integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==
@@ -1939,6 +1269,35 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+esbuild@^0.19.3:
+ version "0.19.10"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.10.tgz#55e83e4a6b702e3498b9f872d84bfb4ebcb6d16e"
+ integrity sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.19.10"
+ "@esbuild/android-arm" "0.19.10"
+ "@esbuild/android-arm64" "0.19.10"
+ "@esbuild/android-x64" "0.19.10"
+ "@esbuild/darwin-arm64" "0.19.10"
+ "@esbuild/darwin-x64" "0.19.10"
+ "@esbuild/freebsd-arm64" "0.19.10"
+ "@esbuild/freebsd-x64" "0.19.10"
+ "@esbuild/linux-arm" "0.19.10"
+ "@esbuild/linux-arm64" "0.19.10"
+ "@esbuild/linux-ia32" "0.19.10"
+ "@esbuild/linux-loong64" "0.19.10"
+ "@esbuild/linux-mips64el" "0.19.10"
+ "@esbuild/linux-ppc64" "0.19.10"
+ "@esbuild/linux-riscv64" "0.19.10"
+ "@esbuild/linux-s390x" "0.19.10"
+ "@esbuild/linux-x64" "0.19.10"
+ "@esbuild/netbsd-x64" "0.19.10"
+ "@esbuild/openbsd-x64" "0.19.10"
+ "@esbuild/sunos-x64" "0.19.10"
+ "@esbuild/win32-arm64" "0.19.10"
+ "@esbuild/win32-ia32" "0.19.10"
+ "@esbuild/win32-x64" "0.19.10"
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -1954,27 +1313,12 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-eslint-config-next@^13.5.6:
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.5.6.tgz#3a5a6222d5cb32256760ad68ab8e976e866a08c8"
- integrity sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==
- dependencies:
- "@next/eslint-plugin-next" "13.5.6"
- "@rushstack/eslint-patch" "^1.3.3"
- "@typescript-eslint/parser" "^5.4.2 || ^6.0.0"
- eslint-import-resolver-node "^0.3.6"
- eslint-import-resolver-typescript "^3.5.2"
- eslint-plugin-import "^2.28.1"
- eslint-plugin-jsx-a11y "^6.7.1"
- eslint-plugin-react "^7.33.2"
- eslint-plugin-react-hooks "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705"
-
-eslint-config-prettier@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f"
- integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==
-
-eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9:
+eslint-config-prettier@^9.1.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f"
+ integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==
+
+eslint-import-resolver-node@^0.3.9:
version "0.3.9"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac"
integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==
@@ -1983,20 +1327,7 @@ eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9:
is-core-module "^2.13.0"
resolve "^1.22.4"
-eslint-import-resolver-typescript@^3.5.2:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz#7b983680edd3f1c5bce1a5829ae0bc2d57fe9efa"
- integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==
- dependencies:
- debug "^4.3.4"
- enhanced-resolve "^5.12.0"
- eslint-module-utils "^2.7.4"
- fast-glob "^3.3.1"
- get-tsconfig "^4.5.0"
- is-core-module "^2.11.0"
- is-glob "^4.0.3"
-
-eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0:
+eslint-module-utils@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
@@ -2026,28 +1357,6 @@ eslint-plugin-import@^2.28.1:
semver "^6.3.1"
tsconfig-paths "^3.14.2"
-eslint-plugin-jsx-a11y@^6.7.1:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2"
- integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==
- dependencies:
- "@babel/runtime" "^7.23.2"
- aria-query "^5.3.0"
- array-includes "^3.1.7"
- array.prototype.flatmap "^1.3.2"
- ast-types-flow "^0.0.8"
- axe-core "=4.7.0"
- axobject-query "^3.2.1"
- damerau-levenshtein "^1.0.8"
- emoji-regex "^9.2.2"
- es-iterator-helpers "^1.0.15"
- hasown "^2.0.0"
- jsx-ast-utils "^3.3.5"
- language-tags "^1.0.9"
- minimatch "^3.1.2"
- object.entries "^1.1.7"
- object.fromentries "^2.0.7"
-
eslint-plugin-prettier@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515"
@@ -2056,15 +1365,15 @@ eslint-plugin-prettier@^5.0.1:
prettier-linter-helpers "^1.0.0"
synckit "^0.8.5"
-"eslint-plugin-react-hooks@^4.5.0 || 5.0.0-canary-7118f5dd7-20230705", eslint-plugin-react-hooks@^4.6.0:
+eslint-plugin-react-hooks@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-eslint-plugin-react-refresh@^0.4.3:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.4.tgz#b74ed2a06ee998e4126cdf92f638a66f2cc82ecc"
- integrity sha512-eD83+65e8YPVg6603Om2iCIwcQJf/y7++MWm4tACtEswFLYMwxwVWAfwN+e19f5Ad/FOyyNg9Dfi5lXhH3Y3rA==
+eslint-plugin-react-refresh@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz#6b9b307bad3feba2244ef64a1a15485ac70a2d0f"
+ integrity sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==
eslint-plugin-react@^7.33.2:
version "7.33.2"
@@ -2154,11 +1463,6 @@ espree@^9.6.0, espree@^9.6.1:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.1"
-esprima@~4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
esquery@^1.4.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
@@ -2218,7 +1522,7 @@ execa@^5.0.0:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
-execa@^7.0.0, execa@^7.1.1:
+execa@^7.1.1:
version "7.2.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9"
integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==
@@ -2243,7 +1547,7 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
-fast-glob@^3.2.12, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.1:
+fast-glob@^3.2.9, fast-glob@^3.3.0:
version "3.3.2"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
@@ -2271,14 +1575,6 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
-fetch-blob@^3.1.2, fetch-blob@^3.1.4:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
- integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
- dependencies:
- node-domexception "^1.0.0"
- web-streams-polyfill "^3.0.3"
-
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
@@ -2336,40 +1632,12 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
-formdata-polyfill@^4.0.10:
- version "4.0.10"
- resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
- integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
- dependencies:
- fetch-blob "^3.1.2"
-
-fraction.js@^4.3.6:
- version "4.3.7"
- resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
- integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
-
-fs-extra@^11.1.0:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d"
- integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==
- dependencies:
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
-fs-minipass@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
- integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
- dependencies:
- minipass "^3.0.0"
-
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-fsevents@~2.3.2:
+fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
@@ -2394,21 +1662,6 @@ functions-have-names@^1.2.3:
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-gauge@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395"
- integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
- dependencies:
- aproba "^1.0.3 || ^2.0.0"
- color-support "^1.1.2"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.1"
- object-assign "^4.1.1"
- signal-exit "^3.0.0"
- string-width "^4.2.3"
- strip-ansi "^6.0.1"
- wide-align "^1.1.2"
-
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -2424,11 +1677,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@
has-symbols "^1.0.3"
hasown "^2.0.0"
-get-nonce@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3"
- integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==
-
get-stream@^6.0.0, get-stream@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
@@ -2447,14 +1695,7 @@ get-symbol-description@^1.0.0:
call-bind "^1.0.2"
get-intrinsic "^1.1.1"
-get-tsconfig@^4.5.0:
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce"
- integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==
- dependencies:
- resolve-pkg-maps "^1.0.0"
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
+glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -2468,35 +1709,6 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
-glob-to-regexp@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
- integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
-
-glob@7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@7.1.7:
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
glob@^7.1.3:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@@ -2540,6 +1752,11 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
+globrex@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098"
+ integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==
+
gopd@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
@@ -2547,11 +1764,6 @@ gopd@^1.0.1:
dependencies:
get-intrinsic "^1.1.3"
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
- version "4.2.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
- integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-
graphemer@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
@@ -2596,33 +1808,12 @@ has-tostringtag@^1.0.0:
dependencies:
has-symbols "^1.0.2"
-has-unicode@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
-
hasown@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
- integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
- dependencies:
- function-bind "^1.1.2"
-
-https-proxy-agent@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
- integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
- dependencies:
- agent-base "6"
- debug "4"
-
-https-proxy-agent@^6.2.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-6.2.1.tgz#0965ab47371b3e531cf6794d1eb148710a992ba7"
- integrity sha512-ONsE3+yfZF2caH5+bJlcddtWqNI3Gvs5A38+ngvljxaBiRXRswym2c7yf8UAeFpRFKjFNHIFEHqR/OLAWJzyiA==
+ integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
dependencies:
- agent-base "^7.0.2"
- debug "4"
+ function-bind "^1.1.2"
human-signals@^2.1.0:
version "2.1.0"
@@ -2644,17 +1835,12 @@ husky@^8.0.3:
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
-ieee754@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
ignore@^5.2.0, ignore@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
-import-fresh@^3.2.1, import-fresh@^3.3.0:
+import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
@@ -2675,7 +1861,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.3, inherits@^2.0.4:
+inherits@2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -2689,21 +1875,6 @@ internal-slot@^1.0.5:
hasown "^2.0.0"
side-channel "^1.0.4"
-invariant@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
-
-is-arguments@^1.0.4:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
@@ -2713,11 +1884,6 @@ is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
get-intrinsic "^1.2.0"
is-typed-array "^1.1.10"
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
is-async-function@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646"
@@ -2732,13 +1898,6 @@ is-bigint@^1.0.1:
dependencies:
has-bigints "^1.0.1"
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
is-boolean-object@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
@@ -2752,7 +1911,7 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1:
+is-core-module@^2.13.0, is-core-module@^2.13.1:
version "2.13.1"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
@@ -2788,24 +1947,19 @@ is-finalizationregistry@^1.0.2:
dependencies:
call-bind "^1.0.2"
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
is-fullwidth-code-point@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
-is-generator-function@^1.0.10, is-generator-function@^1.0.7:
+is-generator-function@^1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
dependencies:
has-tostringtag "^1.0.0"
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -2819,24 +1973,11 @@ is-inside-container@^1.0.0:
dependencies:
is-docker "^3.0.0"
-is-interactive@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90"
- integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==
-
is-map@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
-is-nan@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
- integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
-
is-negative-zero@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
@@ -2903,18 +2044,13 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
-is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9:
+is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9:
version "1.1.12"
resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a"
integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==
dependencies:
which-typed-array "^1.1.11"
-is-unicode-supported@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714"
- integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==
-
is-weakmap@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
@@ -2963,16 +2099,6 @@ iterator.prototype@^1.1.2:
reflect.getprototypeof "^1.0.4"
set-function-name "^2.0.1"
-jiti@^1.19.1:
- version "1.21.0"
- resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d"
- integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==
-
-jose@^4.11.4, jose@^4.15.1:
- version "4.15.4"
- resolved "https://registry.yarnpkg.com/jose/-/jose-4.15.4.tgz#02a9a763803e3872cf55f29ecef0dfdcc218cc03"
- integrity sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==
-
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -2995,11 +2121,6 @@ json-buffer@3.0.1:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-json-parse-even-better-errors@^2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
- integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
-
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -3017,21 +2138,12 @@ json5@^1.0.2:
dependencies:
minimist "^1.2.0"
-json5@^2.2.2, json5@^2.2.3:
+json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-jsonfile@^6.0.1:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
- integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
- dependencies:
- universalify "^2.0.0"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5:
+"jsx-ast-utils@^2.4.1 || ^3.0.0":
version "3.3.5"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a"
integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==
@@ -3041,11 +2153,6 @@ jsonfile@^6.0.1:
object.assign "^4.1.4"
object.values "^1.1.6"
-jwt-decode@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b"
- integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==
-
keyv@^4.5.3:
version "4.5.4"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
@@ -3053,23 +2160,6 @@ keyv@^4.5.3:
dependencies:
json-buffer "3.0.1"
-kleur@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
- integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-
-language-subtag-registry@^0.3.20:
- version "0.3.22"
- resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d"
- integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==
-
-language-tags@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777"
- integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==
- dependencies:
- language-subtag-registry "^0.3.20"
-
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -3078,16 +2168,11 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-lilconfig@2.1.0, lilconfig@^2.0.5, lilconfig@^2.1.0:
+lilconfig@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
-lines-and-columns@^1.1.6:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
- integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-
lint-staged@^15.0.2:
version "15.0.2"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.0.2.tgz#abef713182ec2770143e40a5d6d0130fe61ed442"
@@ -3123,39 +2208,11 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash._reinterpolate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
- integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==
-
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-lodash.template@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
- integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
- dependencies:
- lodash._reinterpolate "^3.0.0"
- lodash.templatesettings "^4.0.0"
-
-lodash.templatesettings@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
- integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
- dependencies:
- lodash._reinterpolate "^3.0.0"
-
-log-symbols@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93"
- integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==
- dependencies:
- chalk "^5.0.0"
- is-unicode-supported "^1.1.0"
-
log-update@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/log-update/-/log-update-5.0.1.tgz#9e928bf70cb183c1f0c9e91d9e6b7115d597ce09"
@@ -3167,7 +2224,7 @@ log-update@^5.0.1:
strip-ansi "^7.0.1"
wrap-ansi "^8.0.1"
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -3193,28 +2250,6 @@ lucide-react@^0.289.0:
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.289.0.tgz#4ab2a0d0ad2bcf9b56fdbc455a98e026510a7f28"
integrity sha512-D3/kt5h4KVmO9Bqlhky/szWI3puEU/KJfQWCeX8Zhvx3xx0SQ4t6vbwiK9ORBbiaqXefkBbXjoq7fOBd7s5yXQ==
-make-cancellable-promise@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz#993c8c8b79cff13c74fa93de0bd8a17fe66685c1"
- integrity sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==
-
-make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-make-event-props@^1.6.0:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/make-event-props/-/make-event-props-1.6.2.tgz#c8e0e48eb28b9b808730de38359f6341de7ec5a2"
- integrity sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==
-
-merge-refs@^1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/merge-refs/-/merge-refs-1.2.2.tgz#6142633398dd0d10a37626cae77ddeb1db26db0c"
- integrity sha512-RwcT7GsQR3KbuLw1rRuodq4Nt547BKEBkliZ0qqsrpyNne9bGTFtsFIsIpx82huWhcl3kOlOlH4H0xkPk/DqVw==
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -3225,7 +2260,7 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-micromatch@4.0.5, micromatch@^4.0.4, micromatch@^4.0.5:
+micromatch@4.0.5, micromatch@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -3255,60 +2290,18 @@ mimic-fn@^4.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
-mimic-response@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
- integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
-
-minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
dependencies:
brace-expansion "^1.1.7"
-minimatch@^7.4.3:
- version "7.4.6"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb"
- integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==
- dependencies:
- brace-expansion "^2.0.1"
-
minimist@^1.2.0, minimist@^1.2.6:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
-minipass@^3.0.0:
- version "3.3.6"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
- integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
- dependencies:
- yallist "^4.0.0"
-
-minipass@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
- integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
-
-minizlib@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
- integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
- dependencies:
- minipass "^3.0.0"
- yallist "^4.0.0"
-
-mkdirp@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-mkdirp@^2.1.6:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.6.tgz#964fbcb12b2d8c5d6fbc62a963ac95a273e2cc19"
- integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==
-
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -3319,21 +2312,7 @@ ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-mz@^2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
- integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
- dependencies:
- any-promise "^1.0.0"
- object-assign "^4.0.1"
- thenify-all "^1.0.0"
-
-nan@^2.17.0:
- version "2.18.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
- integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
-
-nanoid@^3.3.6:
+nanoid@^3.3.6, nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
@@ -3343,86 +2322,10 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-next-auth@^4.24.3:
- version "4.24.4"
- resolved "https://registry.yarnpkg.com/next-auth/-/next-auth-4.24.4.tgz#ec8aa72963c4c8d325ebc21f4c15e3b46647026e"
- integrity sha512-5DGffi+OpkbU62vPQIJ1z+hFnmow+ec5Qrn9m6eoglIO51m0DlrmLxBduZEwKAYDEg9k2joi1yelgmq1vqK3aQ==
- dependencies:
- "@babel/runtime" "^7.20.13"
- "@panva/hkdf" "^1.0.2"
- cookie "^0.5.0"
- jose "^4.11.4"
- oauth "^0.9.15"
- openid-client "^5.4.0"
- preact "^10.6.3"
- preact-render-to-string "^5.1.19"
- uuid "^8.3.2"
-
-next@^13.5.6:
- version "13.5.6"
- resolved "https://registry.yarnpkg.com/next/-/next-13.5.6.tgz#e964b5853272236c37ce0dd2c68302973cf010b1"
- integrity sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==
- dependencies:
- "@next/env" "13.5.6"
- "@swc/helpers" "0.5.2"
- busboy "1.6.0"
- caniuse-lite "^1.0.30001406"
- postcss "8.4.31"
- styled-jsx "5.1.1"
- watchpack "2.4.0"
- optionalDependencies:
- "@next/swc-darwin-arm64" "13.5.6"
- "@next/swc-darwin-x64" "13.5.6"
- "@next/swc-linux-arm64-gnu" "13.5.6"
- "@next/swc-linux-arm64-musl" "13.5.6"
- "@next/swc-linux-x64-gnu" "13.5.6"
- "@next/swc-linux-x64-musl" "13.5.6"
- "@next/swc-win32-arm64-msvc" "13.5.6"
- "@next/swc-win32-ia32-msvc" "13.5.6"
- "@next/swc-win32-x64-msvc" "13.5.6"
-
-node-domexception@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
- integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
-
-node-fetch@^2.6.7:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
- integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
- dependencies:
- whatwg-url "^5.0.0"
-
-node-fetch@^3.3.0:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b"
- integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==
- dependencies:
- data-uri-to-buffer "^4.0.0"
- fetch-blob "^3.1.4"
- formdata-polyfill "^4.0.10"
-
-node-releases@^2.0.13:
- version "2.0.13"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
- integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
-
-nopt@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
- integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
- dependencies:
- abbrev "1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
- integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+node-releases@^2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
+ integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
npm-run-path@^4.0.1:
version "4.0.1"
@@ -3438,49 +2341,16 @@ npm-run-path@^5.1.0:
dependencies:
path-key "^4.0.0"
-npmlog@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
- integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
- dependencies:
- are-we-there-yet "^2.0.0"
- console-control-strings "^1.1.0"
- gauge "^3.0.0"
- set-blocking "^2.0.0"
-
-oauth@^0.9.15:
- version "0.9.15"
- resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1"
- integrity sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==
-
-object-assign@^4.0.1, object-assign@^4.1.1:
+object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-object-hash@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5"
- integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==
-
-object-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
- integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
-
object-inspect@^1.13.1, object-inspect@^1.9.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
-object-is@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -3496,7 +2366,7 @@ object.assign@^4.1.4:
has-symbols "^1.0.3"
object-keys "^1.1.1"
-object.entries@^1.1.6, object.entries@^1.1.7:
+object.entries@^1.1.6:
version "1.1.7"
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131"
integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==
@@ -3541,12 +2411,7 @@ object.values@^1.1.6, object.values@^1.1.7:
define-properties "^1.2.0"
es-abstract "^1.22.1"
-oidc-token-hash@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz#9a229f0a1ce9d4fc89bcaee5478c97a889e7b7b6"
- integrity sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==
-
-once@^1.3.0, once@^1.3.1:
+once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
@@ -3577,16 +2442,6 @@ open@^9.1.0:
is-inside-container "^1.0.0"
is-wsl "^2.2.0"
-openid-client@^5.4.0:
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/openid-client/-/openid-client-5.6.1.tgz#8f7526a50c290a5e28a7fe21b3ece3107511bc73"
- integrity sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==
- dependencies:
- jose "^4.15.1"
- lru-cache "^6.0.0"
- object-hash "^2.2.0"
- oidc-token-hash "^5.0.3"
-
optionator@^0.9.3:
version "0.9.3"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
@@ -3599,21 +2454,6 @@ optionator@^0.9.3:
prelude-ls "^1.2.1"
type-check "^0.4.0"
-ora@^6.1.2:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/ora/-/ora-6.3.1.tgz#a4e9e5c2cf5ee73c259e8b410273e706a2ad3ed6"
- integrity sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==
- dependencies:
- chalk "^5.0.0"
- cli-cursor "^4.0.0"
- cli-spinners "^2.6.1"
- is-interactive "^2.0.0"
- is-unicode-supported "^1.1.0"
- log-symbols "^5.1.0"
- stdin-discarder "^0.1.0"
- strip-ansi "^7.0.1"
- wcwidth "^1.0.1"
-
p-limit@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
@@ -3635,21 +2475,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse-json@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
- integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-even-better-errors "^2.3.0"
- lines-and-columns "^1.1.6"
-
-path-browserify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
- integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
-
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -3680,25 +2505,12 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-path2d-polyfill@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz#24c554a738f42700d6961992bf5f1049672f2391"
- integrity sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==
-
-pdfjs-dist@3.11.174:
- version "3.11.174"
- resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-3.11.174.tgz#5ff47b80f2d58c8dd0d74f615e7c6a7e7e704c4b"
- integrity sha512-TdTZPf1trZ8/UFu5Cx/GXB7GZM30LT+wWUNfsi6Bq8ePLnb+woNKtDymI2mxZYBpMbonNFqKmiz684DIfnd8dA==
- optionalDependencies:
- canvas "^2.11.2"
- path2d-polyfill "^2.0.1"
-
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
+picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -3708,61 +2520,12 @@ pidtree@0.6.0:
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c"
integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==
-pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
-pirates@^4.0.1:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
- integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
-
-postcss-import@^15.1.0:
- version "15.1.0"
- resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70"
- integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
- dependencies:
- postcss-value-parser "^4.0.0"
- read-cache "^1.0.0"
- resolve "^1.1.7"
-
-postcss-js@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2"
- integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
- dependencies:
- camelcase-css "^2.0.1"
-
-postcss-load-config@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd"
- integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==
- dependencies:
- lilconfig "^2.0.5"
- yaml "^2.1.1"
-
-postcss-nested@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c"
- integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==
- dependencies:
- postcss-selector-parser "^6.0.11"
-
-postcss-selector-parser@^6.0.11:
- version "6.0.13"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
- integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.2.0:
+postcss-value-parser@^4.0.2:
version "4.2.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@8.4.31, postcss@^8.4.23, postcss@^8.4.31:
+postcss@8.4.31:
version "8.4.31"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
@@ -3771,17 +2534,14 @@ postcss@8.4.31, postcss@^8.4.23, postcss@^8.4.31:
picocolors "^1.0.0"
source-map-js "^1.0.2"
-preact-render-to-string@^5.1.19:
- version "5.2.6"
- resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz#0ff0c86cd118d30affb825193f18e92bd59d0604"
- integrity sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==
+postcss@^8.4.32:
+ version "8.4.32"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9"
+ integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==
dependencies:
- pretty-format "^3.8.0"
-
-preact@^10.6.3:
- version "10.18.2"
- resolved "https://registry.yarnpkg.com/preact/-/preact-10.18.2.tgz#e3aeccc292aebbc2e0b76ed76570aa61dd5f75e4"
- integrity sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
prelude-ls@^1.2.1:
version "1.2.1"
@@ -3795,30 +2555,12 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier-plugin-tailwindcss@^0.5.6:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.6.tgz#8e511857a49bf127f078985f52b04a70e8e92285"
- integrity sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==
-
prettier@3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643"
integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==
-pretty-format@^3.8.0:
- version "3.8.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385"
- integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==
-
-prompts@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
- integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
- dependencies:
- kleur "^3.0.3"
- sisteransi "^1.0.5"
-
-prop-types@^15.6.2, prop-types@^15.8.1:
+prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -3855,6 +2597,21 @@ react-dom@^18.2.0:
loose-envify "^1.1.0"
scheduler "^0.23.0"
+react-fast-compare@^3.1.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49"
+ integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==
+
+react-helmet@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.1.0.tgz#a750d5165cb13cf213e44747502652e794468726"
+ integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==
+ dependencies:
+ object-assign "^4.1.1"
+ prop-types "^15.7.2"
+ react-fast-compare "^3.1.1"
+ react-side-effect "^2.1.0"
+
react-hook-form@^7.47.0:
version "7.48.2"
resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.48.2.tgz#01150354d2be61412ff56a030b62a119283b9935"
@@ -3865,38 +2622,10 @@ react-is@^16.13.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-pdf@^7.5.1:
- version "7.5.1"
- resolved "https://registry.yarnpkg.com/react-pdf/-/react-pdf-7.5.1.tgz#ef6e3f72d0bc02aee16b77b54196825068ef23b7"
- integrity sha512-NVno97L3wfX3RLGB3C+QtroOiQrgCKPHLMFKMSQaRqDlH3gkq2CB2NyXJ+IDQNLrT/gSMPPgtZQL8cOUySc/3w==
- dependencies:
- clsx "^2.0.0"
- make-cancellable-promise "^1.3.1"
- make-event-props "^1.6.0"
- merge-refs "^1.2.1"
- pdfjs-dist "3.11.174"
- prop-types "^15.6.2"
- tiny-invariant "^1.0.0"
- tiny-warning "^1.0.0"
-
-react-remove-scroll-bar@^2.3.3:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9"
- integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==
- dependencies:
- react-style-singleton "^2.2.1"
- tslib "^2.0.0"
-
-react-remove-scroll@2.5.5:
- version "2.5.5"
- resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77"
- integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==
- dependencies:
- react-remove-scroll-bar "^2.3.3"
- react-style-singleton "^2.2.1"
- tslib "^2.1.0"
- use-callback-ref "^1.3.0"
- use-sidecar "^1.1.2"
+react-refresh@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
+ integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
react-router-dom@^6.16.0:
version "6.18.0"
@@ -3913,14 +2642,10 @@ react-router@6.18.0:
dependencies:
"@remix-run/router" "1.11.0"
-react-style-singleton@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4"
- integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==
- dependencies:
- get-nonce "^1.0.0"
- invariant "^2.2.4"
- tslib "^2.0.0"
+react-side-effect@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.2.tgz#dc6345b9e8f9906dc2eeb68700b615e0b4fe752a"
+ integrity sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==
react@^18.2.0:
version "18.2.0"
@@ -3929,40 +2654,6 @@ react@^18.2.0:
dependencies:
loose-envify "^1.1.0"
-read-cache@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
- integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
- dependencies:
- pify "^2.3.0"
-
-readable-stream@^3.4.0, readable-stream@^3.6.0:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
- integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-recast@^0.23.2:
- version "0.23.4"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.4.tgz#ca1bac7bfd3011ea5a28dfecb5df678559fb1ddf"
- integrity sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==
- dependencies:
- assert "^2.0.0"
- ast-types "^0.16.1"
- esprima "~4.0.0"
- source-map "~0.6.1"
- tslib "^2.0.1"
-
reflect.getprototypeof@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3"
@@ -3975,11 +2666,6 @@ reflect.getprototypeof@^1.0.4:
globalthis "^1.0.3"
which-builtin-type "^1.1.3"
-regenerator-runtime@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
- integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
-
regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e"
@@ -3994,12 +2680,7 @@ resolve-from@^4.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-resolve-pkg-maps@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
- integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
-
-resolve@^1.1.7, resolve@^1.22.2, resolve@^1.22.4:
+resolve@^1.22.4:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
@@ -4042,6 +2723,26 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
+rollup@^4.2.0:
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.1.tgz#351d6c03e4e6bcd7a0339df3618d2aeeb108b507"
+ integrity sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==
+ optionalDependencies:
+ "@rollup/rollup-android-arm-eabi" "4.9.1"
+ "@rollup/rollup-android-arm64" "4.9.1"
+ "@rollup/rollup-darwin-arm64" "4.9.1"
+ "@rollup/rollup-darwin-x64" "4.9.1"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.9.1"
+ "@rollup/rollup-linux-arm64-gnu" "4.9.1"
+ "@rollup/rollup-linux-arm64-musl" "4.9.1"
+ "@rollup/rollup-linux-riscv64-gnu" "4.9.1"
+ "@rollup/rollup-linux-x64-gnu" "4.9.1"
+ "@rollup/rollup-linux-x64-musl" "4.9.1"
+ "@rollup/rollup-win32-arm64-msvc" "4.9.1"
+ "@rollup/rollup-win32-ia32-msvc" "4.9.1"
+ "@rollup/rollup-win32-x64-msvc" "4.9.1"
+ fsevents "~2.3.2"
+
run-applescript@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c"
@@ -4066,11 +2767,6 @@ safe-array-concat@^1.0.1:
has-symbols "^1.0.3"
isarray "^2.0.5"
-safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
safe-regex-test@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
@@ -4087,23 +2783,18 @@ scheduler@^0.23.0:
dependencies:
loose-envify "^1.1.0"
-semver@^6.0.0, semver@^6.3.1:
+semver@^6.3.1:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.5, semver@^7.5.4:
+semver@^7.5.4:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
set-function-length@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
@@ -4123,32 +2814,7 @@ set-function-name@^2.0.0, set-function-name@^2.0.1:
functions-have-names "^1.2.3"
has-property-descriptors "^1.0.0"
-shadcn-ui@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/shadcn-ui/-/shadcn-ui-0.4.1.tgz#4c4eef03aa8354a9cfec989bab942e5c8ec9d897"
- integrity sha512-6SMlEzoJzbkPFZ1zP01bOi90reiV8yYnBeTmqys37YJPfnNKDk8mtPq3jtoYGDLIEcmLdcI/vY12qxzxDCTKkw==
- dependencies:
- "@antfu/ni" "^0.21.4"
- "@babel/core" "^7.22.1"
- "@babel/parser" "^7.22.6"
- "@babel/plugin-transform-typescript" "^7.22.5"
- chalk "5.2.0"
- commander "^10.0.0"
- cosmiconfig "^8.1.3"
- diff "^5.1.0"
- execa "^7.0.0"
- fs-extra "^11.1.0"
- https-proxy-agent "^6.2.0"
- lodash.template "^4.5.0"
- node-fetch "^3.3.0"
- ora "^6.1.2"
- prompts "^2.4.2"
- recast "^0.23.2"
- ts-morph "^18.0.0"
- tsconfig-paths "^4.2.0"
- zod "^3.20.2"
-
-shallowequal@^1.1.0:
+shallowequal@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
@@ -4174,7 +2840,7 @@ side-channel@^1.0.4:
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -4184,25 +2850,6 @@ signal-exit@^4.1.0:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
-simple-concat@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
- integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-
-simple-get@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55"
- integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
- dependencies:
- decompress-response "^4.2.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
-sisteransi@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
- integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
@@ -4221,37 +2868,11 @@ source-map-js@^1.0.2:
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-stdin-discarder@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21"
- integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==
- dependencies:
- bl "^5.0.0"
-
-streamsearch@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
- integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
-
string-argv@0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
-"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
string-width@^5.0.0, string-width@^5.0.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
@@ -4303,13 +2924,6 @@ string.prototype.trimstart@^1.0.7:
define-properties "^1.2.0"
es-abstract "^1.22.1"
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -4344,46 +2958,26 @@ strip-json-comments@^3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-styled-components@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-6.1.1.tgz#a5414ada07fb1c17b96a26a05369daa4e2ad55e5"
- integrity sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==
- dependencies:
- "@emotion/is-prop-valid" "^1.2.1"
- "@emotion/unitless" "^0.8.0"
- "@types/stylis" "^4.0.2"
- css-to-react-native "^3.2.0"
- csstype "^3.1.2"
- postcss "^8.4.31"
- shallowequal "^1.1.0"
- stylis "^4.3.0"
- tslib "^2.5.0"
-
-styled-jsx@5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f"
- integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==
+styled-components@^6.1.5:
+ version "6.1.5"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-6.1.5.tgz#5e7de7594b05dad9be185be213f854dac6356916"
+ integrity sha512-7QYR5/vOhYV0/FP3EM0VUKvmAxU77s/wqiZu/LSK6ztn94VRSKEZqQ+Y1EraXznbVzYD6JEHe4zvEIx/FXbofA==
dependencies:
- client-only "0.0.1"
+ "@emotion/is-prop-valid" "1.2.1"
+ "@emotion/unitless" "0.8.0"
+ "@types/stylis" "4.2.0"
+ css-to-react-native "3.2.0"
+ csstype "3.1.2"
+ postcss "8.4.31"
+ shallowequal "1.1.0"
+ stylis "4.3.0"
+ tslib "2.5.0"
-stylis@^4.3.0:
+stylis@4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.0.tgz#abe305a669fc3d8777e10eefcfc73ad861c5588c"
integrity sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==
-sucrase@^3.32.0:
- version "3.34.0"
- resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f"
- integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.2"
- commander "^4.0.0"
- glob "7.1.6"
- lines-and-columns "^1.1.6"
- mz "^2.7.0"
- pirates "^4.0.1"
- ts-interface-checker "^0.1.9"
-
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -4411,95 +3005,16 @@ synckit@^0.8.5:
"@pkgr/utils" "^2.3.1"
tslib "^2.5.0"
-tailwind-merge@^1.14.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-1.14.0.tgz#e677f55d864edc6794562c63f5001f45093cdb8b"
- integrity sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==
-
-tailwindcss-animate@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz#318b692c4c42676cc9e67b19b78775742388bef4"
- integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==
-
-tailwindcss@^3.3.5:
- version "3.3.5"
- resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.5.tgz#22a59e2fbe0ecb6660809d9cc5f3976b077be3b8"
- integrity sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==
- dependencies:
- "@alloc/quick-lru" "^5.2.0"
- arg "^5.0.2"
- chokidar "^3.5.3"
- didyoumean "^1.2.2"
- dlv "^1.1.3"
- fast-glob "^3.3.0"
- glob-parent "^6.0.2"
- is-glob "^4.0.3"
- jiti "^1.19.1"
- lilconfig "^2.1.0"
- micromatch "^4.0.5"
- normalize-path "^3.0.0"
- object-hash "^3.0.0"
- picocolors "^1.0.0"
- postcss "^8.4.23"
- postcss-import "^15.1.0"
- postcss-js "^4.0.1"
- postcss-load-config "^4.0.1"
- postcss-nested "^6.0.1"
- postcss-selector-parser "^6.0.11"
- resolve "^1.22.2"
- sucrase "^3.32.0"
-
-tapable@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
- integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-
-tar@^6.1.11:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73"
- integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==
- dependencies:
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- minipass "^5.0.0"
- minizlib "^2.1.1"
- mkdirp "^1.0.3"
- yallist "^4.0.0"
-
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-thenify-all@^1.0.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
- integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
- dependencies:
- thenify ">= 3.1.0 < 4"
-
-"thenify@>= 3.1.0 < 4":
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
- integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
- dependencies:
- any-promise "^1.0.0"
-
tiny-case@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03"
integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==
-tiny-invariant@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642"
- integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
-
-tiny-warning@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
titleize@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53"
@@ -4522,28 +3037,15 @@ toposort@^2.0.2:
resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
ts-api-utils@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331"
integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==
-ts-interface-checker@^0.1.9:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
- integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
-
-ts-morph@^18.0.0:
- version "18.0.0"
- resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-18.0.0.tgz#b9e7a898ea115064585a8a775d86da6edc9c5b4e"
- integrity sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==
- dependencies:
- "@ts-morph/common" "~0.19.0"
- code-block-writer "^12.0.0"
+tsconfck@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-2.1.2.tgz#f667035874fa41d908c1fe4d765345fcb1df6e35"
+ integrity sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==
tsconfig-paths@^3.14.2:
version "3.14.2"
@@ -4555,16 +3057,12 @@ tsconfig-paths@^3.14.2:
minimist "^1.2.6"
strip-bom "^3.0.0"
-tsconfig-paths@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c"
- integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==
- dependencies:
- json5 "^2.2.2"
- minimist "^1.2.6"
- strip-bom "^3.0.0"
+tslib@2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
+ integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
-tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.0:
+tslib@^2.5.0, tslib@^2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
@@ -4650,11 +3148,6 @@ undici-types@~5.26.4:
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
-universalify@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
- integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
-
untildify@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
@@ -4675,79 +3168,30 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-use-callback-ref@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5"
- integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==
- dependencies:
- tslib "^2.0.0"
-
-use-sidecar@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2"
- integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==
- dependencies:
- detect-node-es "^1.1.0"
- tslib "^2.0.0"
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-util@^0.12.5:
- version "0.12.5"
- resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
- integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
- dependencies:
- inherits "^2.0.3"
- is-arguments "^1.0.4"
- is-generator-function "^1.0.7"
- is-typed-array "^1.1.3"
- which-typed-array "^1.1.2"
-
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
uuid@^9.0.1:
version "9.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
-watchpack@2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
- integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
- dependencies:
- glob-to-regexp "^0.4.1"
- graceful-fs "^4.1.2"
-
-wcwidth@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
- integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+vite-tsconfig-paths@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.2.tgz#fee5a59c885687ae046e1d5a394bdcfdb12d9361"
+ integrity sha512-dq0FjyxHHDnp0uS3P12WEOX2W7NeuLzX9AWP38D7Zw2CTbFErapwQVlCiT5DMJcVWKQ1MMdTe92PZl/rBQ7qcw==
dependencies:
- defaults "^1.0.3"
-
-web-streams-polyfill@^3.0.3:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"
- integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
-
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+ debug "^4.1.1"
+ globrex "^0.1.2"
+ tsconfck "^2.1.0"
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+vite@^5.0.10:
+ version "5.0.10"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.10.tgz#1e13ef5c3cf5aa4eed81f5df6d107b3c3f1f6356"
+ integrity sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==
dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
+ esbuild "^0.19.3"
+ postcss "^8.4.32"
+ rollup "^4.2.0"
+ optionalDependencies:
+ fsevents "~2.3.3"
which-boxed-primitive@^1.0.2:
version "1.0.2"
@@ -4788,7 +3232,7 @@ which-collection@^1.0.1:
is-weakmap "^2.0.1"
is-weakset "^2.0.1"
-which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9:
+which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.9:
version "1.1.13"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36"
integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==
@@ -4806,13 +3250,6 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
-wide-align@^1.1.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
- integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
- dependencies:
- string-width "^1.0.2 || 2 || 3 || 4"
-
wrap-ansi@^8.0.1, wrap-ansi@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
@@ -4842,11 +3279,6 @@ yaml@2.3.3:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9"
integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==
-yaml@^2.1.1:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
- integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
-
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
@@ -4861,8 +3293,3 @@ yup@^1.3.2:
tiny-case "^1.0.3"
toposort "^2.0.2"
type-fest "^2.19.0"
-
-zod@^3.20.2:
- version "3.22.4"
- resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff"
- integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==