From 70eadc22651ab2a19ce04e5a1140eea40bb46686 Mon Sep 17 00:00:00 2001 From: talksik Date: Thu, 31 Mar 2022 13:08:49 -0400 Subject: [PATCH] setting up landing page and getting going --- packages/components/index.tsx | 7 + packages/components/logo/full.tsx | 93 +++ packages/components/logo/horizontal.tsx | 122 ++++ packages/components/package.json | 19 + packages/components/tsconfig.json | 22 + packages/desktop/src/controller/index.tsx | 1 + packages/web/.eslintrc.json | 3 + packages/web/.gitignore | 35 ++ packages/web/README.md | 34 ++ packages/web/next-env.d.ts | 5 + packages/web/next.config.js | 11 + packages/web/package.json | 28 + packages/web/pages/_app.tsx | 22 + packages/web/pages/api/hello.ts | 13 + packages/web/pages/index.tsx | 51 ++ packages/web/postcss.config.js | 6 + packages/web/public/favicon.ico | Bin 0 -> 25931 bytes .../undraw_co-working_re_w93t.svg | 1 + packages/web/public/logos/1024x1024.ico | Bin 0 -> 169103 bytes packages/web/public/logos/horizontal.svg | 13 + packages/web/public/vercel.svg | 4 + packages/web/styles/Home.module.css | 116 ++++ packages/web/styles/globals.css | 21 + packages/web/tailwind.config.js | 14 + packages/web/tsconfig.json | 20 + yarn.lock | 529 +++++++++++++++++- 26 files changed, 1177 insertions(+), 13 deletions(-) create mode 100644 packages/components/index.tsx create mode 100644 packages/components/logo/full.tsx create mode 100644 packages/components/logo/horizontal.tsx create mode 100644 packages/components/package.json create mode 100644 packages/components/tsconfig.json create mode 100644 packages/web/.eslintrc.json create mode 100644 packages/web/.gitignore create mode 100644 packages/web/README.md create mode 100644 packages/web/next-env.d.ts create mode 100644 packages/web/next.config.js create mode 100644 packages/web/package.json create mode 100644 packages/web/pages/_app.tsx create mode 100644 packages/web/pages/api/hello.ts create mode 100644 packages/web/pages/index.tsx create mode 100644 packages/web/postcss.config.js create mode 100644 packages/web/public/favicon.ico create mode 100644 packages/web/public/illustrations/undraw_co-working_re_w93t.svg create mode 100644 packages/web/public/logos/1024x1024.ico create mode 100644 packages/web/public/logos/horizontal.svg create mode 100644 packages/web/public/vercel.svg create mode 100644 packages/web/styles/Home.module.css create mode 100644 packages/web/styles/globals.css create mode 100644 packages/web/tailwind.config.js create mode 100644 packages/web/tsconfig.json diff --git a/packages/components/index.tsx b/packages/components/index.tsx new file mode 100644 index 0000000..a7d1005 --- /dev/null +++ b/packages/components/index.tsx @@ -0,0 +1,7 @@ +interface Props { + name: string; +} + +export const HelloWorld = ({ name }: Props) => { + return
Hello {name}
; +}; diff --git a/packages/components/logo/full.tsx b/packages/components/logo/full.tsx new file mode 100644 index 0000000..8e39e46 --- /dev/null +++ b/packages/components/logo/full.tsx @@ -0,0 +1,93 @@ +export enum LogoType { + primary = "primary", + small = "small", +} + +export default function FullLogo({ + className, + type, +}: { + className: string; + type?: LogoType; +}) { + if (type === LogoType.small) { + return ( + + + + + + ); + } + return ( + + + + + + + + + + + + + + ); +} diff --git a/packages/components/logo/horizontal.tsx b/packages/components/logo/horizontal.tsx new file mode 100644 index 0000000..b2047e0 --- /dev/null +++ b/packages/components/logo/horizontal.tsx @@ -0,0 +1,122 @@ +import { LogoType } from "./full"; + +export default function HorizontalLogo({ + className, + type, +}: { + className: string; + type?: LogoType; +}) { + if (type === LogoType.small) { + return ( + + + + + + + + + + + + + + ); + } + return ( + + + + + + + + + + + + + + ); +} diff --git a/packages/components/package.json b/packages/components/package.json new file mode 100644 index 0000000..aee5858 --- /dev/null +++ b/packages/components/package.json @@ -0,0 +1,19 @@ +{ + "name": "@nirvana/components", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "devDependencies": { + "@types/node": "^17.0.23", + "@types/react": "^17.0.43", + "typescript": "^4.6.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "scripts": { + "build": "tsc", + "dev": "tsc -w" + } +} diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json new file mode 100644 index 0000000..3bdfaaa --- /dev/null +++ b/packages/components/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "outDir": "dist", + "module": "esnext", + "lib": ["dom", "esnext", "dom.iterable"], + "moduleResolution": "node", + "jsx": "react-jsx", + "sourceMap": true, + "declaration": true, + "esModuleInterop": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noImplicitAny": true, + "strictNullChecks": true, + "suppressImplicitAnyIndexErrors": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "allowSyntheticDefaultImports": true + }, + "include": ["*"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/desktop/src/controller/index.tsx b/packages/desktop/src/controller/index.tsx index 4db2214..48dc667 100644 --- a/packages/desktop/src/controller/index.tsx +++ b/packages/desktop/src/controller/index.tsx @@ -98,6 +98,7 @@ export enum Querytypes { GET_CONVERSATION_DETAILS = "GET_CONVERSATION_DETAILS", GET_CONTACTS_RELATIONSHIPS = "GET_CONTACTS_RELATIONSHIPS", } + export function useGetUserDetails() { const authTokens = useRecoilValue($authTokens); diff --git a/packages/web/.eslintrc.json b/packages/web/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/packages/web/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/packages/web/.gitignore b/packages/web/.gitignore new file mode 100644 index 0000000..737d872 --- /dev/null +++ b/packages/web/.gitignore @@ -0,0 +1,35 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo diff --git a/packages/web/README.md b/packages/web/README.md new file mode 100644 index 0000000..c87e042 --- /dev/null +++ b/packages/web/README.md @@ -0,0 +1,34 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. + +[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. + +The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/packages/web/next-env.d.ts b/packages/web/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/packages/web/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/packages/web/next.config.js b/packages/web/next.config.js new file mode 100644 index 0000000..576ed97 --- /dev/null +++ b/packages/web/next.config.js @@ -0,0 +1,11 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + experimental: { + // this will allow nextjs to resolve files (js, ts, css) + // outside packages/app directory. + externalDir: true, + }, +}; + +module.exports = nextConfig; diff --git a/packages/web/package.json b/packages/web/package.json new file mode 100644 index 0000000..9533b54 --- /dev/null +++ b/packages/web/package.json @@ -0,0 +1,28 @@ +{ + "name": "@nirvana/web", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@nirvana/components": "*", + "next": "12.1.4", + "react": "18.0.0", + "react-dom": "18.0.0" + }, + "devDependencies": { + "@types/node": "17.0.23", + "@types/react": "17.0.43", + "@types/react-dom": "17.0.14", + "autoprefixer": "^10.4.4", + "eslint": "8.12.0", + "eslint-config-next": "12.1.4", + "postcss": "^8.4.12", + "tailwindcss": "^3.0.23", + "typescript": "4.6.3" + } +} diff --git a/packages/web/pages/_app.tsx b/packages/web/pages/_app.tsx new file mode 100644 index 0000000..c62ce00 --- /dev/null +++ b/packages/web/pages/_app.tsx @@ -0,0 +1,22 @@ +import "../styles/globals.css"; + +import type { AppProps } from "next/app"; +import Head from "next/head"; + +function MyApp({ Component, pageProps }: AppProps) { + return ( + <> + + + + + + + + ); +} + +export default MyApp; diff --git a/packages/web/pages/api/hello.ts b/packages/web/pages/api/hello.ts new file mode 100644 index 0000000..f8bcc7e --- /dev/null +++ b/packages/web/pages/api/hello.ts @@ -0,0 +1,13 @@ +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction +import type { NextApiRequest, NextApiResponse } from 'next' + +type Data = { + name: string +} + +export default function handler( + req: NextApiRequest, + res: NextApiResponse +) { + res.status(200).json({ name: 'John Doe' }) +} diff --git a/packages/web/pages/index.tsx b/packages/web/pages/index.tsx new file mode 100644 index 0000000..2af5cc2 --- /dev/null +++ b/packages/web/pages/index.tsx @@ -0,0 +1,51 @@ +import Head from "next/head"; +import HorizontalLogo from "../../components/logo/horizontal"; +import Image from "next/image"; +import { LogoType } from "../../components/logo/full"; +import type { NextPage } from "next"; +import styles from "../styles/Home.module.css"; + +const Home: NextPage = () => { + return ( + <> + + Nirvana - virtual office + + + + +
+ {/* header */} +
+ {/* */} + +
+ + {/* above fold experience */} +
+
+
+ + The walkie-talkie{" "} +
for remote teams. +
+ + + The {"'less is more'"}{" "} + approach. Skip zoom scheduling,

slack notifications, + and email threads.
Just talk to your team. +
+
+ + +
+
+
+ + ); +}; + +export default Home; diff --git a/packages/web/postcss.config.js b/packages/web/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/packages/web/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/packages/web/public/favicon.ico b/packages/web/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/packages/web/public/illustrations/undraw_co-working_re_w93t.svg b/packages/web/public/illustrations/undraw_co-working_re_w93t.svg new file mode 100644 index 0000000..2f57ccb --- /dev/null +++ b/packages/web/public/illustrations/undraw_co-working_re_w93t.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/web/public/logos/1024x1024.ico b/packages/web/public/logos/1024x1024.ico new file mode 100644 index 0000000000000000000000000000000000000000..f56b3c1e4b20ba21710c96b4b288328a67a541bd GIT binary patch literal 169103 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 T*Z&co1qyD>+BV(n>f!T$PAFLg literal 0 HcmV?d00001 diff --git a/packages/web/public/logos/horizontal.svg b/packages/web/public/logos/horizontal.svg new file mode 100644 index 0000000..2aba16e --- /dev/null +++ b/packages/web/public/logos/horizontal.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/packages/web/public/vercel.svg b/packages/web/public/vercel.svg new file mode 100644 index 0000000..fbf0e25 --- /dev/null +++ b/packages/web/public/vercel.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/packages/web/styles/Home.module.css b/packages/web/styles/Home.module.css new file mode 100644 index 0000000..32a57d5 --- /dev/null +++ b/packages/web/styles/Home.module.css @@ -0,0 +1,116 @@ +.container { + padding: 0 2rem; +} + +.main { + min-height: 100vh; + padding: 4rem 0; + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.footer { + display: flex; + flex: 1; + padding: 2rem 0; + border-top: 1px solid #eaeaea; + justify-content: center; + align-items: center; +} + +.footer a { + display: flex; + justify-content: center; + align-items: center; + flex-grow: 1; +} + +.title a { + color: #0070f3; + text-decoration: none; +} + +.title a:hover, +.title a:focus, +.title a:active { + text-decoration: underline; +} + +.title { + margin: 0; + line-height: 1.15; + font-size: 4rem; +} + +.title, +.description { + text-align: center; +} + +.description { + margin: 4rem 0; + line-height: 1.5; + font-size: 1.5rem; +} + +.code { + background: #fafafa; + border-radius: 5px; + padding: 0.75rem; + font-size: 1.1rem; + font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, + Bitstream Vera Sans Mono, Courier New, monospace; +} + +.grid { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + max-width: 800px; +} + +.card { + margin: 1rem; + padding: 1.5rem; + text-align: left; + color: inherit; + text-decoration: none; + border: 1px solid #eaeaea; + border-radius: 10px; + transition: color 0.15s ease, border-color 0.15s ease; + max-width: 300px; +} + +.card:hover, +.card:focus, +.card:active { + color: #0070f3; + border-color: #0070f3; +} + +.card h2 { + margin: 0 0 1rem 0; + font-size: 1.5rem; +} + +.card p { + margin: 0; + font-size: 1.25rem; + line-height: 1.5; +} + +.logo { + height: 1em; + margin-left: 0.5rem; +} + +@media (max-width: 600px) { + .grid { + width: 100%; + flex-direction: column; + } +} diff --git a/packages/web/styles/globals.css b/packages/web/styles/globals.css new file mode 100644 index 0000000..22642d5 --- /dev/null +++ b/packages/web/styles/globals.css @@ -0,0 +1,21 @@ +html, +body { + padding: 0; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, + Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; +} + +a { + color: inherit; + text-decoration: none; +} + +* { + box-sizing: border-box; + font-family: "Poppins", sans-serif; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/packages/web/tailwind.config.js b/packages/web/tailwind.config.js new file mode 100644 index 0000000..8cc450b --- /dev/null +++ b/packages/web/tailwind.config.js @@ -0,0 +1,14 @@ +module.exports = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx}", + "./components/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + colors: { + nirvanaTeal: "#438E86", + }, + }, + }, + plugins: [], +}; diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json new file mode 100644 index 0000000..99710e8 --- /dev/null +++ b/packages/web/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/yarn.lock b/yarn.lock index 6e70d85..76f406a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -76,7 +76,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.8.4": +"@babel/runtime-corejs3@^7.10.2": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz#d7dd49fb812f29c61c59126da3792d8740d4e284" + integrity sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ== + dependencies: + core-js-pure "^3.20.2" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.16.3", "@babel/runtime@^7.8.4": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== @@ -675,6 +683,78 @@ prop-types "^15.7.2" react-is "^17.0.2" +"@next/env@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.4.tgz#5af629b43075281ecd7f87938802b7cf5b67e94b" + integrity sha512-7gQwotJDKnfMxxXd8xJ2vsX5AzyDxO3zou0+QOXX8/unypA6icw5+wf6A62yKZ6qQ4UZHHxS68pb6UV+wNneXg== + +"@next/eslint-plugin-next@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.4.tgz#9c52637af8eecab24dac3f2e5098376f6fc2dff4" + integrity sha512-BRy565KVK6Cdy8LHaHTiwctLqBu/RT84RLpESug70BDJzBlV8QBvODyx/j7wGhvYqp9kvstM05lyb6JaTkSCcQ== + dependencies: + glob "7.1.7" + +"@next/swc-android-arm-eabi@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.4.tgz#c3dae178b7c15ad627d2e9b8dfb38caecb5c4ac7" + integrity sha512-FJg/6a3s2YrUaqZ+/DJZzeZqfxbbWrynQMT1C5wlIEq9aDLXCFpPM/PiOyJh0ahxc0XPmi6uo38Poq+GJTuKWw== + +"@next/swc-android-arm64@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.4.tgz#f320d60639e19ecffa1f9034829f2d95502a9a51" + integrity sha512-LXraazvQQFBgxIg3Htny6G5V5he9EK7oS4jWtMdTGIikmD/OGByOv8ZjLuVLZLtVm3UIvaAiGtlQSLecxJoJDw== + +"@next/swc-darwin-arm64@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.4.tgz#fd578278312613eddcf3aee26910100509941b63" + integrity sha512-SSST/dBymecllZxcqTCcSTCu5o1NKk9I+xcvhn/O9nH6GWjgvGgGkNqLbCarCa0jJ1ukvlBA138FagyrmZ/4rQ== + +"@next/swc-darwin-x64@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.4.tgz#ace5f80d8c8348efe194f6d7074c6213c52b3944" + integrity sha512-p1lwdX0TVjaoDXQVuAkjtxVBbCL/urgxiMCBwuPDO7TikpXtSRivi+mIzBj5q7ypgICFmIAOW3TyupXeoPRAnA== + +"@next/swc-linux-arm-gnueabihf@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.4.tgz#2bf2c83863635f19c71c226a2df936e001cce29c" + integrity sha512-67PZlgkCn3TDxacdVft0xqDCL7Io1/C4xbAs0+oSQ0xzp6OzN2RNpuKjHJrJgKd0DsE1XZ9sCP27Qv0591yfyg== + +"@next/swc-linux-arm64-gnu@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.4.tgz#d577190f641c9b4b463719dd6b8953b6ba9be8d9" + integrity sha512-OnOWixhhw7aU22TQdQLYrgpgFq0oA1wGgnjAiHJ+St7MLj82KTDyM9UcymAMbGYy6nG/TFOOHdTmRMtCRNOw0g== + +"@next/swc-linux-arm64-musl@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.4.tgz#e70ffe70393d8f9242deecdb282ce5a8fd588b14" + integrity sha512-UoRMzPZnsAavdWtVylYxH8DNC7Uy0i6RrvNwT4PyQVdfANBn2omsUkcH5lgS2O7oaz0nAYLk1vqyZDO7+tJotA== + +"@next/swc-linux-x64-gnu@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.4.tgz#91498a130387fb1961902f2bee55863f8e910cff" + integrity sha512-nM+MA/frxlTLUKLJKorctdI20/ugfHRjVEEkcLp/58LGG7slNaP1E5d5dRA1yX6ISjPcQAkywas5VlGCg+uTvA== + +"@next/swc-linux-x64-musl@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.4.tgz#78057b03c148c121553d41521ad38f6c732762ff" + integrity sha512-GoRHxkuW4u4yKw734B9SzxJwVdyEJosaZ62P7ifOwcujTxhgBt3y76V2nNUrsSuopcKI2ZTDjaa+2wd5zyeXbA== + +"@next/swc-win32-arm64-msvc@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.4.tgz#05bbaabacac23b8edf6caa99eb86b17550a09051" + integrity sha512-6TQkQze0ievXwHJcVUrIULwCYVe3ccX6T0JgZ1SiMeXpHxISN7VJF/O8uSCw1JvXZYZ6ud0CJ7nfC5HXivgfPg== + +"@next/swc-win32-ia32-msvc@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.4.tgz#8fd2fb48f04a2802e51fc320878bf6b411c1c866" + integrity sha512-CsbX/IXuZ5VSmWCpSetG2HD6VO5FTsO39WNp2IR2Ut/uom9XtLDJAZqjQEnbUTLGHuwDKFjrIO3LkhtROXLE/g== + +"@next/swc-win32-x64-msvc@12.1.4": + version "12.1.4" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.4.tgz#a72ed44c9b1f850986a30fe36c59e01f8a79b5f3" + integrity sha512-JtYuWzKXKLDMgE/xTcFtCm1MiCIRaAc5XYZfYX3n/ZWSI1SJS/GMm+Su0SAHJgRFavJh6U/p998YwO/iGTIgqQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -717,6 +797,11 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.4.tgz#d8c7b8db9226d2d7664553a0741ad7d0397ee503" integrity sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg== +"@rushstack/eslint-patch@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.0.8.tgz#be3e914e84eacf16dbebd311c0d0b44aa1174c64" + integrity sha512-ZK5v4bJwgXldAUA8r3q9YKfCwOqoHTK/ZqRjSeRXQrBXWouoPnS4MQtgC4AXGiiBuUu5wxrRgTlv0ktmM4P1Aw== + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" @@ -935,6 +1020,11 @@ resolved "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz" integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== +"@types/node@17.0.23", "@types/node@^17.0.23": + version "17.0.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" + integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== + "@types/node@^14.6.2": version "14.18.12" resolved "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz" @@ -960,6 +1050,13 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/react-dom@17.0.14": + version "17.0.14" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.14.tgz#c8f917156b652ddf807711f5becbd2ab018dea9f" + integrity sha512-H03xwEP1oXmSfl3iobtmQ/2dHF5aBHr8aUMwyGZya6OW45G+xtdzmq6HkncefiBt5JU8DVyaWl/nWZbjZCnzAQ== + dependencies: + "@types/react" "*" + "@types/react-dom@^17.0.13": version "17.0.13" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.13.tgz" @@ -990,6 +1087,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@17.0.43", "@types/react@^17.0.43": + version "17.0.43" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55" + integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" @@ -1071,6 +1177,16 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/parser@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.1.tgz#4ce9633cc33fc70bc13786cb793c1a76fe5ad6bd" + integrity sha512-GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA== + dependencies: + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/typescript-estree" "5.10.1" + debug "^4.3.2" + "@typescript-eslint/parser@^5.0.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.15.0.tgz#95f603f8fe6eca7952a99bfeef9b85992972e728" @@ -1081,6 +1197,14 @@ "@typescript-eslint/typescript-estree" "5.15.0" debug "^4.3.2" +"@typescript-eslint/scope-manager@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" + integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== + dependencies: + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" + "@typescript-eslint/scope-manager@5.15.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz#d97afab5e0abf4018d1289bd711be21676cdd0ee" @@ -1098,11 +1222,29 @@ debug "^4.3.2" tsutils "^3.21.0" +"@typescript-eslint/types@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" + integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== + "@typescript-eslint/types@5.15.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.15.0.tgz#c7bdd103843b1abae97b5518219d3e2a0d79a501" integrity sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA== +"@typescript-eslint/typescript-estree@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" + integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== + dependencies: + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/typescript-estree@5.15.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz#81513a742a9c657587ad1ddbca88e76c6efb0aac" @@ -1128,6 +1270,14 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" +"@typescript-eslint/visitor-keys@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" + integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== + dependencies: + "@typescript-eslint/types" "5.10.1" + eslint-visitor-keys "^3.0.0" + "@typescript-eslint/visitor-keys@5.15.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz#5669739fbf516df060f978be6a6dce75855a8027" @@ -1527,6 +1677,14 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" @@ -1537,7 +1695,7 @@ array-flatten@^2.1.0: resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== -array-includes@^3.1.4: +array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz" integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== @@ -1567,6 +1725,15 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.19.0" + arrify@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" @@ -1611,6 +1778,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + async-validator@^4.0.2: version "4.0.7" resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.0.7.tgz#034a0fd2103a6b2ebf010da75183bec299247afe" @@ -1665,6 +1837,11 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axe-core@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.1.tgz#7dbdc25989298f9ad006645cd396782443757413" + integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== + axios@^0.26.1: version "0.26.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" @@ -1672,6 +1849,11 @@ axios@^0.26.1: dependencies: follow-redirects "^1.14.8" +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + babel-plugin-macros@^2.6.1: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" @@ -2004,6 +2186,11 @@ camelcase@^6.2.0: resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +caniuse-lite@^1.0.30001283: + version "1.0.30001323" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001323.tgz#a451ff80dec7033016843f532efda18f02eec011" + integrity sha512-e4BF2RlCVELKx8+RmklSEIVub1TWrmdhvA5kEUueummz1XyySW0DVk+3x9HyhU9MuWTa2BhqLgEuEmUwASAdCA== + caniuse-lite@^1.0.30001313: version "1.0.30001314" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz" @@ -2357,6 +2544,11 @@ copy-to-clipboard@^3.2.0: dependencies: toggle-selection "^1.0.6" +core-js-pure@^3.20.2: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51" + integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2486,6 +2678,11 @@ cuint@^0.2.2: resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= +damerau-levenshtein@^1.0.7: + 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== + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -2999,6 +3196,11 @@ emoji-regex@^8.0.0: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +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== + emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" @@ -3161,6 +3363,29 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +eslint-config-next@12.1.4: + version "12.1.4" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.4.tgz#939ea2ff33034763300bf1e62482cea91212d274" + integrity sha512-Uj0jrVjoQbg9qerxRjSHoOOv3PEzoZxpb8G9LYct25fsflP8xIiUq0l4WEu2KSB5owuLv5hie7wSMqPEsHj+bQ== + dependencies: + "@next/eslint-plugin-next" "12.1.4" + "@rushstack/eslint-patch" "1.0.8" + "@typescript-eslint/parser" "5.10.1" + eslint-import-resolver-node "0.3.4" + eslint-import-resolver-typescript "2.4.0" + eslint-plugin-import "2.25.2" + eslint-plugin-jsx-a11y "6.5.1" + eslint-plugin-react "7.29.1" + eslint-plugin-react-hooks "4.3.0" + +eslint-import-resolver-node@0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" @@ -3169,7 +3394,18 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-module-utils@^2.7.2: +eslint-import-resolver-typescript@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz#ec1e7063ebe807f0362a7320543aaed6fe1100e1" + integrity sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA== + dependencies: + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-module-utils@^2.7.0, eslint-module-utils@^2.7.2: version "2.7.3" resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz" integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== @@ -3177,6 +3413,25 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" +eslint-plugin-import@2.25.2: + version "2.25.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz#b3b9160efddb702fc1636659e71ba1d10adbe9e9" + integrity sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.0" + has "^1.0.3" + is-core-module "^2.7.0" + is-glob "^4.0.3" + minimatch "^3.0.4" + object.values "^1.1.5" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + eslint-plugin-import@^2.25.0: version "2.25.4" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz" @@ -3196,6 +3451,49 @@ eslint-plugin-import@^2.25.0: resolve "^1.20.0" tsconfig-paths "^3.12.0" +eslint-plugin-jsx-a11y@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== + dependencies: + "@babel/runtime" "^7.16.3" + aria-query "^4.2.2" + array-includes "^3.1.4" + ast-types-flow "^0.0.7" + axe-core "^4.3.5" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.7" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.2.1" + language-tags "^1.0.5" + minimatch "^3.0.4" + +eslint-plugin-react-hooks@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== + +eslint-plugin-react@7.29.1: + version "7.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.1.tgz#6c40bc83142bb63d132a1b3565e2ea655411f800" + integrity sha512-WtzRpHMhsOX05ZrkyaaqmLl2uXGqmYooCfBxftJKlkYdsltiufGgfU7uuoHwR2lBam2Kh/EIVID4aU9e3kbCMA== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.8.1" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" @@ -3229,6 +3527,47 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.12.0.tgz#c7a5bd1cfa09079aae64c9076c07eada66a46e8e" + integrity sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q== + dependencies: + "@eslint/eslintrc" "^1.2.1" + "@humanwhocodes/config-array" "^0.9.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + eslint@^8.0.1: version "8.11.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz" @@ -3298,7 +3637,7 @@ estraverse@^4.1.1: resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -3896,6 +4235,18 @@ glob-to-regexp@^0.4.1: resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +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, glob@^7.1.4, glob@^7.1.6: version "7.2.0" resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" @@ -4141,7 +4492,7 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1, has-symbols@^1.0.2: +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -4526,7 +4877,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.8.0, is-core-module@^2.8.1: +is-core-module@^2.2.0, is-core-module@^2.7.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -4881,6 +5232,14 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" + junk@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" @@ -4927,6 +5286,18 @@ klona@^2.0.5: resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + latest-version@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" @@ -5277,7 +5648,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@^3.0.4: +minimatch@^3.0.4, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -5289,6 +5660,11 @@ minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -5420,6 +5796,11 @@ nano-time@1.0.0: dependencies: big-integer "^1.6.16" +nanoid@^3.1.30: + version "3.3.2" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557" + integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA== + nanoid@^3.3.1: version "3.3.1" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" @@ -5440,6 +5821,29 @@ neo-async@^2.6.2: resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next@12.1.4: + version "12.1.4" + resolved "https://registry.yarnpkg.com/next/-/next-12.1.4.tgz#597a9bdec7aec778b442c4f6d41afd2c64a54b23" + integrity sha512-DA4g97BM4Z0nKtDvCTm58RxdvoQyYzeg0AeVbh0N4Y/D8ELrNu47lQeEgRGF8hV4eQ+Sal90zxrJQQG/mPQ8CQ== + dependencies: + "@next/env" "12.1.4" + caniuse-lite "^1.0.30001283" + postcss "8.4.5" + styled-jsx "5.0.1" + optionalDependencies: + "@next/swc-android-arm-eabi" "12.1.4" + "@next/swc-android-arm64" "12.1.4" + "@next/swc-darwin-arm64" "12.1.4" + "@next/swc-darwin-x64" "12.1.4" + "@next/swc-linux-arm-gnueabihf" "12.1.4" + "@next/swc-linux-arm64-gnu" "12.1.4" + "@next/swc-linux-arm64-musl" "12.1.4" + "@next/swc-linux-x64-gnu" "12.1.4" + "@next/swc-linux-x64-musl" "12.1.4" + "@next/swc-win32-arm64-msvc" "12.1.4" + "@next/swc-win32-ia32-msvc" "12.1.4" + "@next/swc-win32-x64-msvc" "12.1.4" + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -5687,6 +6091,32 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.values@^1.1.5: version "1.1.5" resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" @@ -5979,7 +6409,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.7: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -6134,6 +6564,15 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== +postcss@8.4.5: + version "8.4.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" + integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^1.0.1" + postcss@^8.4.12: version "8.4.12" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" @@ -6218,7 +6657,7 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" -prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.6.1, prop-types@^15.6.2, 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== @@ -6699,6 +7138,14 @@ rcedit@^3.0.1: dependencies: cross-spawn-windows-exe "^1.1.0" +react-dom@18.0.0, react-dom@^18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.0.0.tgz#26b88534f8f1dbb80853e1eabe752f24100d8023" + integrity sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.21.0" + react-dom@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" @@ -6756,6 +7203,13 @@ react-transition-group@^4.4.2: loose-envify "^1.4.0" prop-types "^15.6.2" +react@18.0.0, react@^18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" + integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== + dependencies: + loose-envify "^1.1.0" + react@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -6832,7 +7286,7 @@ regenerator-runtime@^0.13.4: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regexp.prototype.flags@^1.2.0: +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz" integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== @@ -6956,7 +7410,7 @@ resolve-package@^1.0.1: dependencies: get-installed-path "^2.0.3" -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0, resolve@^1.22.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.20.0, resolve@^1.22.0: version "1.22.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -6965,6 +7419,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0, resolve@^1.22 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" @@ -7084,6 +7546,13 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" + integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== + dependencies: + loose-envify "^1.1.0" + schema-utils@2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" @@ -7370,7 +7839,7 @@ socks@^2.6.1, socks@^2.6.2: ip "^1.1.5" smart-buffer "^4.2.0" -source-map-js@^1.0.2: +source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -7514,6 +7983,20 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string.prototype.matchall@^4.0.6: + version "4.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" + integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.1" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" @@ -7607,6 +8090,11 @@ style-loader@^3.0.0: resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz" integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== +styled-jsx@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.1.tgz#78fecbbad2bf95ce6cd981a08918ce4696f5fc80" + integrity sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw== + stylis@4.0.13: version "4.0.13" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" @@ -7652,7 +8140,7 @@ supports-preserve-symlinks-flag@^1.0.0: tailwindcss@^3.0.23: version "3.0.23" - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== dependencies: arg "^5.0.1" @@ -7887,6 +8375,16 @@ ts-node@^10.7.0: v8-compile-cache-lib "^3.0.0" yn "3.1.1" +tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + tsconfig-paths@^3.12.0: version "3.13.0" resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.13.0.tgz" @@ -7978,6 +8476,11 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@4.6.3, typescript@^4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== + typescript@^4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz"