diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index b471089..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "./tsconfig.json" - }, - "plugins": ["@typescript-eslint"], - "extends": ["next/core-web-vitals", "plugin:@typescript-eslint/recommended"], - "rules": { - "react/no-unescaped-entities": "off", - "@next/next/no-page-custom-font": "off" - } -} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 8e42ab9..0000000 --- a/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# database -/prisma/db.sqlite -/prisma/db.sqlite-journal - -# 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 -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo - - diff --git a/README.md b/README.md deleted file mode 100644 index 5dce8de..0000000 --- a/README.md +++ /dev/null @@ -1,216 +0,0 @@ -# Create T3 App - -This is an app bootstrapped according to the [init.tips](https://init.tips) stack, also known as the T3-Stack. - -## Why are there `.js` files in here? - -As per [T3-Axiom #3](https://github.com/t3-oss/create-t3-app/tree/next#3-typesafety-isnt-optional), we take typesafety as a first class citizen. Unfortunately, not all frameworks and plugins support TypeScript which means some of the configuration files have to be `.js` files. - -We try to emphasize that these files are javascript for a reason, by explicitly declaring its type (`cjs` or `mjs`) depending on what's supported by the library it is used by. Also, all the `js` files in this project are still typechecked using a `@ts-check` comment at the top. - -## What's next? How do I make an app with this? - -We try to keep this project as simple as possible, so you can start with the most basic configuration and then move on to more advanced configuration. - -If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help. - -- [Next-Auth.js](https://next-auth.js.org) -- [Prisma](https://prisma.io) -- [TailwindCSS](https://tailwindcss.com) -- [tRPC](https://trpc.io) (using @next version? [see v10 docs here](https://alpha.trpc.io)) - -Also checkout these awesome tutorials on `create-t3-app`. - -- [Build a Blog With the T3 Stack - tRPC, TypeScript, Next.js, Prisma & Zod](https://www.youtube.com/watch?v=syEWlxVFUrY) -- [Build a Live Chat Application with the T3 Stack - TypeScript, Tailwind, tRPC](https://www.youtube.com/watch?v=dXRRY37MPuk) -- [Build a full stack app with create-t3-app](https://www.nexxel.dev/blog/ct3a-guestbook) -- [A first look at create-t3-app](https://dev.to/ajcwebdev/a-first-look-at-create-t3-app-1i8f) - -## How do I deploy this? - -### Vercel - -We recommend deploying to [Vercel](https://vercel.com/?utm_source=t3-oss&utm_campaign=oss). It makes it super easy to deploy NextJs apps. - -- Push your code to a GitHub repository. -- Go to [Vercel](https://vercel.com/?utm_source=t3-oss&utm_campaign=oss) and sign up with GitHub. -- Create a Project and import the repository you pushed your code to. -- Add your environment variables. -- Click **Deploy** -- Now whenever you push a change to your repository, Vercel will automatically redeploy your website! - -### Docker - -You can also dockerize this stack and deploy a container. - -Please note that Next.js requires a different process for buildtime (available in the frontend, prefixed by `NEXT_PUBLIC`) and runtime environment, server-side only, variables. In this demo we are using two variables, `NEXT_PUBLIC_FOO` and `BAR`. Pay attention to their positions in the `Dockerfile`, command-line arguments, and `docker-compose.yml`. - -1. In your [next.config.mjs](./next.config.mjs), add the `standalone` output-option to your config: - - ```diff - export default defineNextConfig({ - reactStrictMode: true, - swcMinify: true, - + output: "standalone", - }); - ``` - -2. Remove the `env`-import from [next.config.mjs](./next.config.mjs): - - ```diff - - import { env } from "./src/env/server.mjs"; - ``` - -3. Create a `.dockerignore` file with the following contents: -
- .dockerignore - - ``` - .env - Dockerfile - .dockerignore - node_modules - npm-debug.log - README.md - .next - .git - ``` - -
- -4. Create a `Dockerfile` with the following contents: -
- Dockerfile - - ```Dockerfile - ######################## - # DEPS # - ######################## - - # Install dependencies only when needed - # TODO: re-evaluate if emulation is still necessary on arm64 after moving to node 18 - FROM --platform=linux/amd64 node:16-alpine AS deps - # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. - RUN apk add --no-cache libc6-compat - WORKDIR /app - - # Install dependencies based on the preferred package manager - COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ - RUN \ - if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ - elif [ -f package-lock.json ]; then npm ci; \ - elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i; \ - else echo "Lockfile not found." && exit 1; \ - fi - - ######################## - # BUILDER # - ######################## - - # Rebuild the source code only when needed - # TODO: re-evaluate if emulation is still necessary on arm64 after moving to node 18 - FROM --platform=linux/amd64 node:16-alpine AS builder - - ARG NEXT_PUBLIC_FOO - ARG BAR - - WORKDIR /app - COPY --from=deps /app/node_modules ./node_modules - COPY . . - - # Next.js collects completely anonymous telemetry data about general usage. - # Learn more here: https://nextjs.org/telemetry - # Uncomment the following line in case you want to disable telemetry during the build. - # ENV NEXT_TELEMETRY_DISABLED 1 - - RUN \ - if [ -f yarn.lock ]; then yarn build; \ - elif [ -f package-lock.json ]; then npm run build; \ - elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm run build; \ - else echo "Lockfile not found." && exit 1; \ - fi - - ######################## - # RUNNER # - ######################## - - # Production image, copy all the files and run next - # TODO: re-evaluate if emulation is still necessary after moving to node 18 - FROM --platform=linux/amd64 node:16-alpine AS runner - # WORKDIR /usr/app - WORKDIR /app - - ENV NODE_ENV production - # Uncomment the following line in case you want to disable telemetry during runtime. - # ENV NEXT_TELEMETRY_DISABLED 1 - - RUN addgroup --system --gid 1001 nodejs - RUN adduser --system --uid 1001 nextjs - - COPY --from=builder /app/next.config.mjs ./ - COPY --from=builder /app/public ./public - COPY --from=builder /app/package.json ./package.json - - # Automatically leverage output traces to reduce image size - # https://nextjs.org/docs/advanced-features/output-file-tracing - COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ - COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static - - USER nextjs - - EXPOSE 3000 - - ENV PORT 3000 - - CMD ["node", "server.js"] - ``` - -
- -5. To build and run this image locally, run: - - ```bash - docker build -t ct3a -e NEXT_PUBLIC_FOO=foo . - docker run -p 3000:3000 -e BAR="bar" ct3a - ``` - -6. You can also use a PaaS such as [Railway's](https://railway.app) automated [Dockerfile deployments](https://docs.railway.app/deploy/dockerfiles) to deploy your app. - -### docker-compose - -You can also use docker-compose to build and run the container. - -1. Follow steps 1-4 above - -2. Create a `docker-compose.yml` file with the following: - -
- docker-compose.yml - - ```yaml - version: "3.7" - services: - app: - platform: "linux/amd64" - build: - context: . - dockerfile: Dockerfile - args: - NEXT_PUBLIC_FOO: "foo" - working_dir: /app - ports: - - "3000:3000" - image: t3-app - environment: - - BAR=bar - ``` - -
- -3. Run this using `docker-compose up`. - -## Useful resources - -Here are some resources that we commonly refer to: - -- [Protecting routes with Next-Auth.js](https://next-auth.js.org/configuration/nextjs#unstable_getserversession) 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.mjs b/next.config.mjs deleted file mode 100644 index aae5640..0000000 --- a/next.config.mjs +++ /dev/null @@ -1,25 +0,0 @@ -import { env } from "./src/env/server.mjs"; - -/** - * Don't be scared of the generics here. - * All they do is to give us autocompletion when using this. - * - * @template {import('next').NextConfig} T - * @param {T} config - A generic parameter that flows through to the return type - * @constraint {{import('next').NextConfig}} - */ -function defineNextConfig(config) { - return config; -} - -export default defineNextConfig({ - reactStrictMode: true, - swcMinify: true, - images: { - domains: ['upload.wikimedia.org'] - }, - eslint: { - ignoreDuringBuilds: true, - ignoreBuildErrors: true, - }, -}); diff --git a/package.json b/package.json deleted file mode 100644 index cbefefd..0000000 --- a/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "train-track", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "postinstall": "prisma generate" - }, - "dependencies": { - "@emotion/react": "^11.10.4", - "@mantine/core": "^5.2.4", - "@mantine/dates": "^5.2.4", - "@mantine/form": "^5.2.4", - "@mantine/hooks": "^5.2.4", - "@mantine/modals": "^5.2.4", - "@mantine/notifications": "^5.2.4", - "@mantine/nprogress": "^5.2.4", - "@mantine/spotlight": "^5.2.4", - "@next-auth/prisma-adapter": "^1.0.4", - "@prisma/client": "^4.3.1", - "@trpc/client": "^9.27.2", - "@trpc/next": "^9.27.2", - "@trpc/react": "^9.27.2", - "@trpc/server": "^9.27.2", - "dayjs": "^1.11.5", - "next": "12.2.5", - "next-auth": "^4.10.3", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-query": "^3.39.2", - "superjson": "^1.9.1", - "tabler-icons-react": "^1.54.0", - "zod": "^3.18.0" - }, - "devDependencies": { - "@types/node": "18.0.0", - "@types/react": "18.0.14", - "@types/react-dom": "18.0.5", - "@typescript-eslint/eslint-plugin": "^5.33.0", - "@typescript-eslint/parser": "^5.33.0", - "eslint": "8.22.0", - "eslint-config-next": "12.2.5", - "prisma": "^4.3.1", - "typescript": "4.7.4" - }, - "ct3aMetadata": { - "initVersion": "5.9.0" - } -} diff --git a/prisma/schema.prisma b/prisma/schema.prisma deleted file mode 100644 index e3fcc7b..0000000 --- a/prisma/schema.prisma +++ /dev/null @@ -1,175 +0,0 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -generator client { - provider = "prisma-client-js" -} - -datasource db { - provider = "mysql" - // NOTE: When using postgresql, mysql or sqlserver, uncomment the @db.text annotations in model Account below - // Further reading: - // https://next-auth.js.org/adapters/prisma#create-the-prisma-schema - // https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#string - url = env("DATABASE_URL") -} - -model Example { - id String @id @default(cuid()) -} - -model RStock { - id String @id @default(cuid()) - // rstock number - identifier String @unique - // rstock attributes - livery String - builtYear String - depot String - formation String - carCount Int - // sightings - sightings RstockSighting[] - // operator set - opSet OperatorSet @relation(fields: [opSetId], references: [id]) - opSetId String -} - -model Illustration { - id String @id @default(cuid()) - // illustration attributes - url String - license String - author String - source String - // operator set - opSet OperatorSet @relation(fields: [opSetId], references: [id]) - opSetId String -} - -model Operator { - id String @id @default(cuid()) - // operator attributes - name String - shortName String? - code String @unique - logoUrl String - callStatCount String? - website String? - franchise String - // operator sets - operatorSets OperatorSet[] -} - -// Sighting table -model Sighting { - id String @id @default(cuid()) - // user - userId String - - // sighting attributes - location String - date DateTime - - // rstock - rStockSightings RstockSighting[] -} - -model RstockSighting { - id String @id @default(cuid()) - // sighting - sighting Sighting @relation(fields: [sightingId], references: [id]) - sightingId String - // rstock - rstock RStock @relation(fields: [rstockId], references: [id]) - rstockId String - // userFirst - userFirst Boolean @default(false) - // Make sightings and rstocks unique so that it crashes - // on trying to do duplicates - @@unique([sightingId, rstockId]) -} - -model Class { - id String @id @default(cuid()) - // class attributes - no String @unique - type String - model String - // Manufacturer - manufacturer Manufacturer @relation(fields: [manufacturerId], references: [id]) - manufacturerId String - // operator sets - operatorSets OperatorSet[] -} - -model Manufacturer { - id String @id @default(cuid()) - // manufacturer attributes - name String - logoUrl String - headquarters String? - website String? - status String? - // classes - classes Class[] -} - -model OperatorSet { - id String @id @default(cuid()) - // operator - operator Operator @relation(fields: [operatorId], references: [id]) - operatorId String - // class - class Class @relation(fields: [classId], references: [id]) - classId String - // illustrations - illustrations Illustration[] - // rstock - rstock RStock[] -} - -// Necessary for Next auth -model Account { - id String @id @default(cuid()) - userId String - type String - provider String - providerAccountId String - refresh_token String? //@db.Text - access_token String? //@db.Text - expires_at Int? - token_type String? - scope String? - id_token String? //@db.Text - session_state String? - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - - @@unique([provider, providerAccountId]) -} - -model Session { - id String @id @default(cuid()) - sessionToken String @unique - userId String - expires DateTime - user User @relation(fields: [userId], references: [id], onDelete: Cascade) -} - -model User { - id String @id @default(cuid()) - name String? - email String? @unique - emailVerified DateTime? - image String? - accounts Account[] - sessions Session[] -} - -model VerificationToken { - identifier String - token String @unique - expires DateTime - - @@unique([identifier, token]) -} diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index d3b456c..0000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/src/components/attributePoint.tsx b/src/components/attributePoint.tsx deleted file mode 100644 index 87fbbef..0000000 --- a/src/components/attributePoint.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { Anchor, createStyles, Text, Code } from "@mantine/core"; -import { useRouter } from "next/router"; - -export function AttributePoint({ name, value, href }: AttributePointProps) { - // Use router - const router = useRouter(); - // Use styles - const { classes } = useStyles(); - - let valueElement = {value}; - if (href) valueElement = router.push(href)}>{value} - - return <> -
- {name} - {((value == "" || value == null) && Unknown ?) || valueElement} -
- -} - -const useStyles = createStyles((theme) => ({ - attributePoint: { - display: 'flex', - // For mobile - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - flexDirection: 'column', - alignItems: 'left' - }, - // For desktop - [theme.fn.largerThan('sm')]: { - justifyContent: 'space-between', - alignItems: 'center' - }, - } -})); - -interface AttributePointProps { - name: string, - value: any, - href?: string -} \ No newline at end of file diff --git a/src/components/authGuard.ts b/src/components/authGuard.ts deleted file mode 100644 index 19802a1..0000000 --- a/src/components/authGuard.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { IncomingMessage, ServerResponse } from "http"; -import { unstable_getServerSession } from "next-auth"; -import { authOptions } from "../pages/api/auth/[...nextauth]"; - -export async function AuthGuardUI(req: IncomingMessageWithCookies, res: ServerResponse) { - // Get session from next auth - const session = await unstable_getServerSession(req, res, authOptions); - const user = session?.user; - - // If no user logged in, redirect - if (!user) { - return { - redirect: { - destination: "/welcome", - permanent: false, - }, - }; - } - // Otherwise, attatch user to page props - return { - props: { - user, - }, - }; -} - -type IncomingMessageWithCookies = IncomingMessage & { - cookies: Partial<{ - [key: string]: string; - }>; -} \ No newline at end of file diff --git a/src/components/classList/operatorCard.tsx b/src/components/classList/operatorCard.tsx deleted file mode 100644 index 96b2c4f..0000000 --- a/src/components/classList/operatorCard.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { Anchor, Avatar, Box, Text, Title, Tooltip } from "@mantine/core"; -import { Class, Manufacturer } from "@prisma/client"; -import { useRouter } from "next/router"; - -export function OperatorSetThumbnail({ opSet, operator }: { opSet: OperatorSetFull, operator: OperatorFull }) { - const router = useRouter(); - return ( -
-
- - - - - router.push(`/mf/${opSet.class.manufacturer.id}`)} - style={{cursor: 'pointer'}} - src={opSet.class.manufacturer.logoUrl} - size={40}>{opSet.class.manufacturer.name.substring(0,2)} - - - router.push(`/op/${operator.code}`)} - style={{cursor: 'pointer'}} - src={operator.logoUrl} - radius="xl" - size={40}/> - - - - - - Class {opSet.class.no} - {opSet._count.rstock} units - -
- router.push(`/op/${operator.code}/${opSet.class.no}`)}>View -
- ) -} - -export function ClassThumbnail({classObj, manufacturer}: { classObj: ClassWithOperators, manufacturer: Manufacturer }) { - const router = useRouter(); - return ( - <> -
-
- {manufacturer.name.substring(0,2)} - - Class {classObj.no} - {classObj.model} ({classObj.type}) - -
- View -
- - ) -} \ No newline at end of file diff --git a/src/components/classList/shortTrainCard.tsx b/src/components/classList/shortTrainCard.tsx deleted file mode 100644 index 807b15e..0000000 --- a/src/components/classList/shortTrainCard.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { Button, Card, Title, Text, Checkbox, ThemeIcon } from "@mantine/core"; -import Link from "next/link"; -import { useState } from "react"; -import { ArrowRight, Check, CircleCheck, CircleDashed } from "tabler-icons-react"; - -export default function ShortTrainCard({ userSeen, identifier, formation, carCount }: ShortTrain) { - - const [seen, setSeen] = useState(userSeen); - - return ( - -
- {userSeen && ( - - - - )} - {!userSeen && ( - - - - )} - {identifier} -
- {formation} - {carCount} carriages - - - -
- ); -} - -interface ShortTrain { - userSeen: boolean - identifier: string; - formation: string; - carCount: number; -} \ No newline at end of file diff --git a/src/components/errorPopup.tsx b/src/components/errorPopup.tsx deleted file mode 100644 index feca173..0000000 --- a/src/components/errorPopup.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Button, Text, Title } from "@mantine/core"; -import { closeModal, openModal } from "@mantine/modals"; - -/** - * Show an error popup modal - * @param type The type of error - * @param title A friendly short description of the error - * @param resolveMessage Tips on how to resolve the error - */ - -export default function showErrorPopup(type: string, title: string, resolveMessage: string) { - openModal({ - modalId: `error.${type}`, - title: type, - centered: true, - children: ( - <> - {title} - {resolveMessage} - - - ) - }); -} \ No newline at end of file diff --git a/src/components/footer.tsx b/src/components/footer.tsx deleted file mode 100644 index 11bf577..0000000 --- a/src/components/footer.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import { createStyles, Text, Container, ActionIcon, Code, Title, Anchor } from '@mantine/core'; - -const useStyles = createStyles((theme) => ({ - footer: { - paddingTop: theme.spacing.md, - paddingBottom: theme.spacing.md, - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[0], - borderTop: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[2] - }`, - }, - - logo: { - maxWidth: 200, - - [theme.fn.smallerThan('sm')]: { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - }, - }, - - inner: { - display: 'flex', - justifyContent: 'space-between', - - [theme.fn.smallerThan('sm')]: { - flexDirection: 'column', - alignItems: 'center', - }, - }, - - groups: { - display: 'flex', - flexWrap: 'wrap', - - [theme.fn.smallerThan('sm')]: { - display: 'none', - }, - }, - - wrapper: { - width: 160, - }, - - link: { - display: 'block', - color: theme.colorScheme === 'dark' ? theme.colors.dark[1] : theme.colors.gray[6], - fontSize: theme.fontSizes.sm, - paddingTop: 3, - paddingBottom: 3, - - '&:hover': { - textDecoration: 'underline', - }, - }, - - title: { - fontSize: theme.fontSizes.md, - fontWeight: 700, - fontFamily: `Greycliff CF, ${theme.fontFamily}`, - marginBottom: theme.spacing.xs / 2, - color: theme.colorScheme === 'dark' ? theme.white : theme.black, - }, - - afterFooter: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - marginTop: theme.spacing.sm, - paddingTop: theme.spacing.sm, - paddingBottom: theme.spacing.sm, - borderTop: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[2] - }`, - - [theme.fn.smallerThan('sm')]: { - flexDirection: 'column', - }, - }, - - social: { - [theme.fn.smallerThan('sm')]: { - marginTop: theme.spacing.xs, - }, - }, -})); - -interface FooterLinksProps { - data: { - title: string; - links: { label: string; link: string }[]; - }[]; -} - -export function FooterLinks() { - const { classes } = useStyles(); - - return ( -
- -
- Track <Code>Alpha</Code> -
- -
- - - Created by Jack Devey, 2022 - - - {/* - - - - - - - - - - */} - -
- ); -} \ No newline at end of file diff --git a/src/components/headerMiddle.tsx b/src/components/headerMiddle.tsx deleted file mode 100644 index 080f587..0000000 --- a/src/components/headerMiddle.tsx +++ /dev/null @@ -1,142 +0,0 @@ -import { useState } from 'react'; -import { createStyles, Header, Group, ActionIcon, Container, Burger, Title, Text, Button, Input, TextInput, Menu, UnstyledButton, Avatar } from '@mantine/core'; -import { useDisclosure } from '@mantine/hooks'; -import Link from 'next/link'; -import { Book2, ChevronDown, Logout, Search, Settings, User as UserIcon } from 'tabler-icons-react'; -import { User } from 'next-auth'; -import { signOut } from 'next-auth/react'; -import { useRouter } from 'next/router'; - -const useStyles = createStyles((theme) => ({ - inner: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - height: 56, - - - }, - - links: { - width: 260, - - [theme.fn.smallerThan('sm')]: { - display: 'none', - }, - }, - - social: { - width: 260, - - [theme.fn.smallerThan('sm')]: { - width: 'auto', - marginLeft: 'auto', - }, - }, - - burger: { - marginRight: theme.spacing.md, - - [theme.fn.largerThan('sm')]: { - display: 'none', - }, - }, - - link: { - display: 'block', - lineHeight: 1, - padding: '8px 12px', - borderRadius: theme.radius.sm, - textDecoration: 'none', - color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[7], - fontSize: theme.fontSizes.sm, - fontWeight: 500, - - '&:hover': { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[0], - }, - }, - - linkActive: { - '&, &:hover': { - backgroundColor: theme.fn.variant({ variant: 'light', color: theme.primaryColor }).background, - color: theme.fn.variant({ variant: 'light', color: theme.primaryColor }).color, - }, - }, - - user: { - color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black, - padding: `${theme.spacing.xs}px ${theme.spacing.sm}px`, - borderRadius: theme.radius.sm, - transition: 'background-color 100ms ease', - - '&:hover': { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white, - }, - }, - - userName: { - [theme.fn.smallerThan('xs')]: { - display: 'none', - }, - }, - - userActive: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white, - }, -})); - -interface HeaderMiddleProps { - links: { link: string; label: string }[]; -} - -export function HeaderMiddle({ user }: {user: User}) { - const { classes, cx } = useStyles(); - const [userMenuOpened, setUserMenuOpened] = useState(false); - console.log(user); - const router = useRouter(); - - return ( -
- - - 🚅 Track - - - {/* } - placeholder="Search"/> */} - - setUserMenuOpened(false)} - onOpen={() => setUserMenuOpened(true)} - > - - - - - - {user?.name as string} - - - - - - - } onClick={() => router.push("/sightings")}>Your Sightings - } onClick={() => router.push("/account")}>Your Account - } onClick={() => router.push("/settings")}>Settings - - } onClick={() => signOut()}>Logout - - - - -
- ); -} \ No newline at end of file diff --git a/src/components/mainPageLoading.tsx b/src/components/mainPageLoading.tsx deleted file mode 100644 index 194f2e2..0000000 --- a/src/components/mainPageLoading.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { HeaderMiddle } from "./headerMiddle"; -import { Box, Container, Skeleton, createStyles } from "@mantine/core"; -import { User } from "next-auth"; - - -export function MainPageLoading({user}: {user:User}) { - - const { classes } = useStyles(); - - return <> - - - -
- - -
-
-
- -} - -export function SubPageLoading({user}: {user:User}) { - - const { classes } = useStyles(); - - return <> - - - -
- -
-
-
- -} - - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - } -})); \ No newline at end of file diff --git a/src/components/routerTransition.tsx b/src/components/routerTransition.tsx deleted file mode 100644 index c28ff9a..0000000 --- a/src/components/routerTransition.tsx +++ /dev/null @@ -1,29 +0,0 @@ -// components/RouterTransition.tsx -import { useEffect } from 'react'; -import { useRouter } from 'next/router'; -import { - startNavigationProgress, - resetNavigationProgress, - NavigationProgress, -} from '@mantine/nprogress'; - -export function RouterTransition() { - const router = useRouter(); - - useEffect(() => { - const handleStart = (url: string) => url !== router.asPath && startNavigationProgress(); - const handleComplete = () => resetNavigationProgress(); - - router.events.on('routeChangeStart', handleStart); - router.events.on('routeChangeComplete', handleComplete); - router.events.on('routeChangeError', handleComplete); - - return () => { - router.events.off('routeChangeStart', handleStart); - router.events.off('routeChangeComplete', handleComplete); - router.events.off('routeChangeError', handleComplete); - }; - }, [router.asPath]); - - return ; -} \ No newline at end of file diff --git a/src/components/sightingCard.tsx b/src/components/sightingCard.tsx deleted file mode 100644 index 2ee831d..0000000 --- a/src/components/sightingCard.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { Anchor, Chip, Code, Text } from "@mantine/core" -import { Clock, Location } from "tabler-icons-react" -import { useRouter } from "next/router" -import { RstockSighting } from "@prisma/client"; -import { ChipGroup } from "@mantine/core/lib/Chip/ChipGroup/ChipGroup"; - -export default function SightingBlock({ sighting, hasChips = true }: SightingBlockProps) { - - const router = useRouter(); - - const stockList = sighting.rStockSightings.map((rs: RStockSightingWithRstock, i: number) => - <> - router.push("/rs/" + rs.rstock.identifier)}> - {rs.rstock.identifier} - - - ) - - return
-
- {sighting.location} - {sighting.date.toDateString()} - {hasChips && {stockList}} -
- router.push("/rs/350101")}>View -
-} - - -interface SightingBlockProps { - sighting: SightingForList - hasChips: Boolean -} \ No newline at end of file diff --git a/src/components/tickets/inlineTicketsCount.tsx b/src/components/tickets/inlineTicketsCount.tsx deleted file mode 100644 index c9cb602..0000000 --- a/src/components/tickets/inlineTicketsCount.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { Badge, Tooltip } from "@mantine/core"; - -export default function InlineTicketsCount({ count }: { count: number }) { - return <> - +{count} - -} \ No newline at end of file diff --git a/src/env/client.mjs b/src/env/client.mjs deleted file mode 100644 index d51a689..0000000 --- a/src/env/client.mjs +++ /dev/null @@ -1,36 +0,0 @@ -// @ts-check -import { clientEnv, clientSchema } from "./schema.mjs"; - -const _clientEnv = clientSchema.safeParse(clientEnv); - -export const formatErrors = ( - /** @type {import('zod').ZodFormattedError,string>} */ - errors, -) => - Object.entries(errors) - .map(([name, value]) => { - if (value && "_errors" in value) - return `${name}: ${value._errors.join(", ")}\n`; - }) - .filter(Boolean); - -if (_clientEnv.success === false) { - console.error( - "❌ Invalid environment variables:\n", - ...formatErrors(_clientEnv.error.format()), - ); - throw new Error("Invalid environment variables"); -} - -/** - * Validate that client-side environment variables are exposed to the client. - */ -for (let key of Object.keys(_clientEnv.data)) { - if (!key.startsWith("NEXT_PUBLIC_")) { - console.warn("❌ Invalid public environment variable name:", key); - - throw new Error("Invalid public environment variable name"); - } -} - -export const env = _clientEnv.data; diff --git a/src/env/schema.mjs b/src/env/schema.mjs deleted file mode 100644 index dc21498..0000000 --- a/src/env/schema.mjs +++ /dev/null @@ -1,36 +0,0 @@ -// @ts-check -import { z } from "zod"; - -/** - * Specify your server-side environment variables schema here. - * This way you can ensure the app isn't built with invalid env vars. - */ -export const serverSchema = z.object({ - DATABASE_URL: z.string().url(), - NODE_ENV: z.enum(["development", "test", "production"]), - NEXTAUTH_SECRET: z.string(), - NEXTAUTH_URL: z.string().url(), - GITHUB_CLIENT_ID: z.string(), - GITHUB_CLIENT_SECRET: z.string(), - GOOGLE_CLIENT_ID: z.string(), - GOOGLE_CLIENT_SECRET: z.string() -}); - -/** - * Specify your client-side environment variables schema here. - * This way you can ensure the app isn't built with invalid env vars. - * To expose them to the client, prefix them with `NEXT_PUBLIC_`. - */ -export const clientSchema = z.object({ - // NEXT_PUBLIC_BAR: z.string(), -}); - -/** - * You can't destruct `process.env` as a regular object, so you have to do - * it manually here. This is because Next.js evaluates this at build time, - * and only used environment variables are included in the build. - * @type {{ [k in keyof z.infer]: z.infer[k] | undefined }} - */ -export const clientEnv = { - // NEXT_PUBLIC_BAR: process.env.NEXT_PUBLIC_BAR, -}; diff --git a/src/env/server.mjs b/src/env/server.mjs deleted file mode 100644 index 22c6983..0000000 --- a/src/env/server.mjs +++ /dev/null @@ -1,30 +0,0 @@ -// @ts-check -/** - * This file is included in `/next.config.mjs` which ensures the app isn't built with invalid env vars. - * It has to be a `.mjs`-file to be imported there. - */ -import { serverSchema } from "./schema.mjs"; -import { env as clientEnv, formatErrors } from "./client.mjs"; - -const _serverEnv = serverSchema.safeParse(process.env); - -if (_serverEnv.success === false) { - console.error( - "❌ Invalid environment variables:\n", - ...formatErrors(_serverEnv.error.format()), - ); - throw new Error("Invalid environment variables"); -} - -/** - * Validate that server-side environment variables are not exposed to the client. - */ -for (let key of Object.keys(_serverEnv.data)) { - if (key.startsWith("NEXT_PUBLIC_")) { - console.warn("❌ You are exposing a server-side env-variable:", key); - - throw new Error("You are exposing a server-side env-variable"); - } -} - -export const env = { ..._serverEnv.data, ...clientEnv }; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx deleted file mode 100644 index b9c1ca3..0000000 --- a/src/pages/_app.tsx +++ /dev/null @@ -1,70 +0,0 @@ -// src/pages/_app.tsx -import { MantineProvider } from "@mantine/core"; -import { ModalsProvider } from "@mantine/modals"; -import { NotificationsProvider } from "@mantine/notifications"; -import { httpBatchLink } from "@trpc/client/links/httpBatchLink"; -import { loggerLink } from "@trpc/client/links/loggerLink"; -import { withTRPC } from "@trpc/next"; -import { SessionProvider } from "next-auth/react"; -import type { AppType } from "next/dist/shared/lib/utils"; -import superjson from "superjson"; -import { FooterLinks } from "../components/footer"; -import { RouterTransition } from "../components/routerTransition"; -import type { Router } from "../server/router"; -import "../styles/globals.css"; - -const MyApp: AppType = ({ - Component, - pageProps: { session, ...pageProps }, -}) => { - return ( - - - - - - - {/* */} - - - - - ); -}; - -const getBaseUrl = () => { - if (typeof window !== "undefined") return ""; // browser should use relative url - if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url - return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost -}; - -export default withTRPC({ - config() { - /** - * If you want to use SSR, you need to use the server's full URL - * @link https://trpc.io/docs/ssr - */ - const url = `${getBaseUrl()}/api/trpc`; - - return { - links: [ - loggerLink({ - enabled: (opts) => - process.env.NODE_ENV === "development" || - (opts.direction === "down" && opts.result instanceof Error), - }), - httpBatchLink({ url }), - ], - url, - transformer: superjson, - /** - * @link https://react-query.tanstack.com/reference/QueryClient - */ - // queryClientConfig: { defaultOptions: { queries: { staleTime: 60 } } }, - }; - }, - /** - * @link https://trpc.io/docs/ssr - */ - ssr: false, -})(MyApp); diff --git a/src/pages/account.tsx b/src/pages/account.tsx deleted file mode 100644 index e28c762..0000000 --- a/src/pages/account.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import { Anchor, Box, Card, Container, createStyles, Divider, Grid, SimpleGrid, Skeleton, Text, ThemeIcon, Title, useMantineTheme } from "@mantine/core"; -import type { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import Head from "next/head"; -import { useRouter } from "next/router"; -import { AuthGuardUI } from "../components/authGuard"; -import { HeaderMiddle } from "../components/headerMiddle"; - -const PRIMARY_COL_HEIGHT = 300; - -export default function Account({ user }: { user: User}) { - - const { classes } = useStyles(); - const theme = useMantineTheme(); - const SECONDARY_COL_HEIGHT = PRIMARY_COL_HEIGHT / 2 - theme.spacing.md / 2; - const router = useRouter(); - - return ( - <> - - Your Account - - - - - -
- {user.name} - {user.email} -
-
-
- - - Account page - - - ); -}; - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/api/auth/[...nextauth].ts b/src/pages/api/auth/[...nextauth].ts deleted file mode 100644 index 239d33e..0000000 --- a/src/pages/api/auth/[...nextauth].ts +++ /dev/null @@ -1,42 +0,0 @@ -import NextAuth, { type NextAuthOptions } from "next-auth"; -import GithubProvider from "next-auth/providers/github"; -import GoogleProvider from "next-auth/providers/google"; - -// Prisma adapter for NextAuth, optional and can be removed -import { PrismaAdapter } from "@next-auth/prisma-adapter"; -import { prisma } from "../../../server/db"; -import { env } from "../../../env/server.mjs"; - -export const authOptions: NextAuthOptions = { - // Include user.id on session - callbacks: { - session({ session, user }) { - if (session.user) { - session.user.id = user.id; - } - return session; - }, - }, - // Configure one or more authentication providers - adapter: PrismaAdapter(prisma), - providers: [ - GithubProvider({ - clientId: env.GITHUB_CLIENT_ID, - clientSecret: env.GITHUB_CLIENT_SECRET, - }), - GoogleProvider({ - clientId: env.GOOGLE_CLIENT_ID, - clientSecret: env.GOOGLE_CLIENT_SECRET, - authorization: { - params: { - prompt: "consent", - access_type: "offline", - response_type: "code" - } - } - }), - // ...add more providers here - ], -}; - -export default NextAuth(authOptions); diff --git a/src/pages/api/trpc/[trpc].ts b/src/pages/api/trpc/[trpc].ts deleted file mode 100644 index d5d35f3..0000000 --- a/src/pages/api/trpc/[trpc].ts +++ /dev/null @@ -1,10 +0,0 @@ -// src/pages/api/trpc/[trpc].ts -import { createNextApiHandler } from "@trpc/server/adapters/next"; -import { router } from "../../../server/router"; -import { createContext } from "../../../server/context"; - -// export API handler -export default createNextApiHandler({ - router, - createContext, -}); diff --git a/src/pages/cs/[classNo].tsx b/src/pages/cs/[classNo].tsx deleted file mode 100644 index 5aa0e28..0000000 --- a/src/pages/cs/[classNo].tsx +++ /dev/null @@ -1,154 +0,0 @@ -import { Box, Card, Container, createStyles, Divider, Grid, Stack, Text, Title, Image, Tooltip, Avatar, Anchor, Checkbox } from "@mantine/core"; -import { Class, RStock } from "@prisma/client"; -import { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import Head from "next/head"; -import { useRouter } from "next/router"; -import { AttributePoint } from "../../components/attributePoint"; -import { AuthGuardUI } from "../../components/authGuard"; -import { HeaderMiddle } from "../../components/headerMiddle"; -import { MainPageLoading } from "../../components/mainPageLoading"; -import { trpc } from "../../utils/trpc"; - -export default function CS({ user }: { user: User}) { - - // Get id from router - const router = useRouter(); - const { id, classNo } = router.query; - - const { data, isLoading } = trpc.useQuery([ - "cs.get", - { classNo: classNo as string }, - ]); - - const { classes } = useStyles(); - - if (!data) return - - return ( - <> - Class {data.no} - - - -
- Class {data.no} - Rolling stock type -
-
-
- - - - - - - - - - {/* Products - - {data.classes.map((cls: ClassWithOperators, i: number) => ( - <> - - {data.classes.length - 1 != i && } - - ))} - */} - - {data.operatorSets.map((opSet: OperatorSetFull, i: number) => ( -
- {opSet.rstock.map((rStock: RStockPartial, j: number) => ( - <> -
-
- -
- {rStock.identifier} - {rStock.formation} -
-
- router.push("/rs/" + rStock.identifier)}>View -
- {!(i == data.operatorSets.length - 1 && j == opSet.rstock.length - 1) && } - - ))} -
- ))} -
-
-
- - - Used by - - - {data.operatorSets.map((opSet: OperatorSetFull) => ( - - router.push(`/op/${opSet.operator.code}`)} - style={{cursor: 'pointer'}} - src={opSet.operator.logoUrl} - radius="xl" - size="md"/> - - ))} - - - - -
-
- - ) -} - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - attributePoint: { - display: 'flex', - // For mobile - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - flexDirection: 'column', - alignItems: 'left' - }, - // For desktop - [theme.fn.largerThan('sm')]: { - justifyContent: 'space-between', - alignItems: 'center' - }, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/index.tsx b/src/pages/index.tsx deleted file mode 100644 index 2279b69..0000000 --- a/src/pages/index.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { Anchor, Box, Card, Container, createStyles, Divider, Grid, SimpleGrid, Skeleton, Text, ThemeIcon, Title, useMantineTheme } from "@mantine/core"; -import type { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import { useRouter } from "next/router"; -import { AuthGuardUI } from "../components/authGuard"; -import { HeaderMiddle } from "../components/headerMiddle"; -import { MainPageLoading } from "../components/mainPageLoading"; -import SightingBlock from "../components/sightingCard"; -import { trpc } from "../utils/trpc"; - -const PRIMARY_COL_HEIGHT = 300; - -export default function Home({ user }: { user: User}) { - - const { classes } = useStyles(); - const theme = useMantineTheme(); - const SECONDARY_COL_HEIGHT = PRIMARY_COL_HEIGHT / 2 - theme.spacing.md / 2; - const router = useRouter(); - - // Get the list of sightings - const { data: sightings, isLoading: _ } = trpc.useQuery(["si.getAll", { take: 2}]); - if (!sightings) return - - return ( - <> - - - - -
- {user.name} - Level 4 -
-
-
- - - - - Recent logs - {sightings.map((sighting: SightingForList, i: number) => ( - <> - - - - ))} - router.push("/sightings")} my={10}>See all - - - - - hi - - - - - hi - - - - - hi - - - - - - - ); -}; - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/mf/[id]/index.tsx b/src/pages/mf/[id]/index.tsx deleted file mode 100644 index 63c86af..0000000 --- a/src/pages/mf/[id]/index.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import { Box, Card, Container, createStyles, Divider, Grid, Stack, Text, Title, Image, Avatar } from "@mantine/core"; -import { Class } from "@prisma/client"; -import { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import Head from "next/head"; -import { useRouter } from "next/router"; -import { AttributePoint } from "../../../components/attributePoint"; -import { AuthGuardUI } from "../../../components/authGuard"; -import { ClassThumbnail } from "../../../components/classList/operatorCard"; -import { HeaderMiddle } from "../../../components/headerMiddle"; -import { MainPageLoading } from "../../../components/mainPageLoading"; -import { trpc } from "../../../utils/trpc"; - -export default function MF({ user }: { user: User}) { - - // Get id from router - const router = useRouter(); - const { id } = router.query; - - const { data, isLoading } = trpc.useQuery([ - "mf.get", - { id: id as string }, - ]); - - const { classes } = useStyles(); - - if (!data) return - - return ( - <> - {data.name} - - - -
- {data.name} -
- {data.name} - Manufacturer -
-
-
-
- - - - - - - - - - - - - - - - - - {data.classes.map((cls: ClassWithOperators, i: number) => ( - <> - - {data.classes.length - 1 != i && } - - ))} - - - - - - ) -} - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/op/[code]/[classNo]/index.tsx b/src/pages/op/[code]/[classNo]/index.tsx deleted file mode 100644 index 565ae21..0000000 --- a/src/pages/op/[code]/[classNo]/index.tsx +++ /dev/null @@ -1,124 +0,0 @@ -import { Anchor, Tooltip, BackgroundImage, Box, Breadcrumbs, Button, Card, Container, createStyles, Divider, Grid, LoadingOverlay, Space, Stack, Text, Title, Image, Skeleton, Alert, Avatar } from "@mantine/core"; -import { Illustration, OperatorSet, RStock } from "@prisma/client"; -import { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import Head from "next/head"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import { AttributePoint } from "../../../../components/attributePoint"; -import { AuthGuardUI } from "../../../../components/authGuard"; -import { OperatorSetThumbnail } from "../../../../components/classList/operatorCard"; -import { HeaderMiddle } from "../../../../components/headerMiddle"; -import { MainPageLoading } from "../../../../components/mainPageLoading"; -import { trpc } from "../../../../utils/trpc"; - -export default function OS({ user }: { user: User}) { - - // Get code from router - const router = useRouter(); - const { code, classNo } = router.query; - - const { data, isLoading } = trpc.useQuery([ - "os.get", - { opCode: code as string, classNo: classNo as string }, - ]); - - const { classes } = useStyles(); - - if (!data) return - - return ( - <> - {data.operator.name} - - - -
- {data.operator.shortName}'s class {classNo}s - Operator Set -
-
-
- - - - - - - - - - - - - - Rolling Stock - - {data.rstock.map((rstock: RStock, i: number) => ( - <> -
-
- {rstock.identifier} - {rstock.formation} -
- View -
- {i != data.rstock.length - 1 && } - - ))} -
-
-
- - - - - - Logo - - -
-
- - ) -} - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/op/[code]/index.tsx b/src/pages/op/[code]/index.tsx deleted file mode 100644 index 8fe5d8e..0000000 --- a/src/pages/op/[code]/index.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { Anchor, Tooltip, BackgroundImage, Box, Breadcrumbs, Button, Card, Container, createStyles, Divider, Grid, LoadingOverlay, Space, Stack, Text, Title, Image, Skeleton, Alert, Avatar, Code } from "@mantine/core"; -import { Illustration, OperatorSet } from "@prisma/client"; -import { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import Head from "next/head"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import { ArrowLeft, CircuitGroundDigital, InfoCircle } from "tabler-icons-react"; -import { AttributePoint } from "../../../components/attributePoint"; -import { AuthGuardUI } from "../../../components/authGuard"; -import { OperatorSetThumbnail } from "../../../components/classList/operatorCard"; -import { HeaderMiddle } from "../../../components/headerMiddle"; -import { MainPageLoading } from "../../../components/mainPageLoading"; -import { trpc } from "../../../utils/trpc"; - -export default function OP({ user }: { user: User}) { - - // Get code from router - const router = useRouter(); - const { code } = router.query; - - const { data, isLoading } = trpc.useQuery([ - "op.get", - { code: code as string }, - ]); - - const { classes } = useStyles(); - - if (!data) return - - return ( - <> - {data.name} - - - -
- {data.name} -
- {data.name} - Operator -
-
-
-
- - - - - {(data.code == "lml" || data.code == "lmw") && }>{data.name} is a trading name for West Midlands Trains, who operate router.push(`/op/lmw`)}>West Midlands Railway & router.push(`/op/lml`)}>London Northwestern Railway} - - - - {data.code.substring(0,2)}}/> - - - - - - - - - - {data.operatorSets.map((operatorSet: OperatorSet, i: number) => ( - <> - - {data.operatorSets.length - 1 != i && } - - ))} - - - - - - ) -} - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/rs/[identifier]/index.tsx b/src/pages/rs/[identifier]/index.tsx deleted file mode 100644 index b5a4c75..0000000 --- a/src/pages/rs/[identifier]/index.tsx +++ /dev/null @@ -1,267 +0,0 @@ -import { Anchor, Tooltip, BackgroundImage, Box, Breadcrumbs, Button, Card, Container, createStyles, Divider, Grid, LoadingOverlay, Space, Stack, Text, Title, TextInput, ColorSwatch, Group, Checkbox, Code, Badge } from "@mantine/core"; -import { Illustration } from "@prisma/client"; -import type { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import Head from "next/head"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import { ArrowLeft, Calendar, Check, CircuitGroundDigital, Clock, Location, Pin } from "tabler-icons-react"; -import { AttributePoint } from "../../../components/attributePoint"; -import { AuthGuardUI } from "../../../components/authGuard"; -import { HeaderMiddle } from "../../../components/headerMiddle"; -import { MainPageLoading } from "../../../components/mainPageLoading"; -import { RouterTransition } from "../../../components/routerTransition"; -import { trpc } from "../../../utils/trpc"; -import { showNotification } from "@mantine/notifications"; -import { TimeInput, DatePicker } from "@mantine/dates"; -import { useForm } from "@mantine/form"; -import showErrorPopup from "../../../components/errorPopup"; -import InlineTicketsCount from "../../../components/tickets/inlineTicketsCount"; -import SightingBlock from "../../../components/sightingCard"; - -export default function RS({ user }: { user: User}) { - - // Get identifier from router - const router = useRouter(); - const { identifier } = router.query; - - // Get data about the train - const { data, isLoading } = trpc.useQuery(["rs.get", { identifier: identifier as string }]); - const id = data?.id - - // Get data about the train sightings - const { data: sightings, isLoading: _ } = trpc.useQuery(["si.getAll", { rStockId: id as string, take: 2 }], { enabled: !!id}); - - // Get sighting log information - const createSighting = trpc.useMutation(['si.create']); - - // When log sighting is pressed - const logSighting = (values: LogSightingValues) => { - // Call api - createSighting.mutate({ - rStockIds: [(data.id)], - location: values.location, - date: values.date - }) - if (createSighting.isError) { - showNotification({ - title: 'ded', - color: "red", - message: createSighting.error.message - }); - - return; - } - // Show notification for confirmation - showNotification({ - title: 'Sighting logged', - message: `Your sighting of ${identifier} at ${values.location} has been saved`, - icon: - }) - } - - const { classes } = useStyles(); - - if (!data || !sightings) return - - return ( - <> - - {identifier} - - - - -
- {identifier} - Passenger train ({data.opSet.class.type}) -
-
-
- - - - - - - - = 6) && ) || - ((data.carCount < 6) && data.formation) - }/> - - - - - - - - - - - - - - - Illustrations - {data.opSet.illustrations.map((illustration: Illustration, i: number) => ( - <> - - - - - - {i != data.opSet.illustrations.length - 1 && } - - ))} - - - - - - - -
- - Seen 4 times - -
- -
- - Previous sightings - {sightings.map((sighting: SightingForList, i: number) => ( - <> - - - - ))} - + 2 more - - - Log sighting - - - logSighting(values) - }/> - - -
-
-
-
- - ) -} - -function CompactFormation({ formation }: { formation: string}) { - const formationList = formation.split(" "); - return ( - - {formationList[0]} {formationList[1]} ... {formationList[formationList.length - 2]} {formationList[formationList.length - 1]} - - ); -} - -function LogSightingForm({ onSubmit }: LogSightingFormProps) { - const form = useForm({ - initialValues: { - location: '', - date: new Date() - }, - validate: { - location: (value: string) => value ? null : 'No location provided' - } - }); - - return
onSubmit(values))}> - } - placeholder="Birmingham New St" - {...form.getInputProps('location')}/> - } - clearable={false} - dropdownType="modal" - {...form.getInputProps('date')}/> - - -} - -type LogSightingFormProps = { - onSubmit: (values: LogSightingValues) => void -} - -type LogSightingValues = { - location: string, - date: Date -} - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - flexDirection: 'column', - alignItems: 'left' - }, - - [theme.fn.largerThan('sm')]: { - justifyContent: 'space-between', - alignItems: 'center' - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/search.tsx b/src/pages/search.tsx deleted file mode 100644 index bebcc52..0000000 --- a/src/pages/search.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { Button } from "@mantine/core"; -import { SpotlightProvider, openSpotlight, useSpotlight, SpotlightAction } from "@mantine/spotlight"; -import { useState } from "react"; -import { Building, Dashboard, File, Home, Search, Train } from "tabler-icons-react"; - -export default function SearchPage() { - - - const actions: SpotlightAction[] = [ - { - title: '350101', - group: 'rolling stock', - description: '54566 6644 45666 45664 46544', - onTrigger: () => console.log('Home') - }, - { - title: 'Class 350', - group: 'Class', - description: '87 units, London Northwestern Railway', - onTrigger: () => console.log('Home') - }, - { - title: 'Class 139', - group: 'Class', - description: '2 units, West Midlands Railway', - onTrigger: () => console.log('Home') - }, - { - title: 'London Northwestern Railway', - description: '123 units, London & Midlands', - group: 'operator', - onTrigger: () => console.log('Dashboard'), - icon: , - } - - ]; - - return( - } - searchPlaceholder="Search..." - shortcut="mod + shift + C" - > - - - ) -} - -function Spot() { - const [registered, setRegistered] = useState(false); - const spotlight = useSpotlight(); - return ( - - ) -} \ No newline at end of file diff --git a/src/pages/sightings.tsx b/src/pages/sightings.tsx deleted file mode 100644 index 975d133..0000000 --- a/src/pages/sightings.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { Anchor, Box, Card, Code, Container, createStyles, Divider, Grid, SimpleGrid, Skeleton, Text, ThemeIcon, Title, useMantineTheme } from "@mantine/core"; -import type { GetServerSideProps } from "next"; -import { User } from "next-auth"; -import { useRouter } from "next/router"; -import { Clock, Location } from "tabler-icons-react"; -import { AuthGuardUI } from "../components/authGuard"; -import { HeaderMiddle } from "../components/headerMiddle"; -import { MainPageLoading, SubPageLoading } from "../components/mainPageLoading"; -import SightingBlock from "../components/sightingCard"; -import { trpc } from "../utils/trpc"; - -const PRIMARY_COL_HEIGHT = 300; - -export default function Home({ user }: { user: User}) { - - const { classes } = useStyles(); - const theme = useMantineTheme(); - const SECONDARY_COL_HEIGHT = PRIMARY_COL_HEIGHT / 2 - theme.spacing.md / 2; - const router = useRouter(); - - // Get the list of sightings - const { data, isLoading } = trpc.useQuery(["si.getAll", { take: 10}]); - if (!data) return - - return ( - <> - - - - -
- Your Sightings -
-
-
- - - - - - {data.map((sighting: SightingForList, i: number) => ( - <> - - {i != data.length - 1 && } - - ))} - - - - - Your stats - - - - - - ); -}; - -const useStyles = createStyles((theme) => ({ - header: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], - borderBottom: `1px solid ${ - theme.colorScheme === 'dark' ? theme.colors.dark![5] : theme.colors.gray![2] - }`, - }, - - headerText: { - paddingTop: 50, - paddingBottom: 40, - }, - - titleRow: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - - [theme.fn.smallerThan('sm')]: { - justifyContent: 'flex-start', - }, - }, -})); - -// Use authGuard for UI -export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { - return await AuthGuardUI(req, res); -}; \ No newline at end of file diff --git a/src/pages/welcome.tsx b/src/pages/welcome.tsx deleted file mode 100644 index 0871aee..0000000 --- a/src/pages/welcome.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import { Container, Card, Title, Text, Box, Anchor, ButtonProps, Button, Code } from '@mantine/core'; -import { useRouter } from 'next/router'; -import { BrandGithub, BrandGoogle } from 'tabler-icons-react'; -import { HeaderMiddle } from '../components/headerMiddle'; -import { signIn } from 'next-auth/react'; - -import { createStyles, Group } from '@mantine/core'; - -const BREAKPOINT = '@media (max-width: 755px)'; - -const useStyles = createStyles((theme) => ({ - wrapper: { - position: 'relative', - boxSizing: 'border-box' - }, - - inner: { - position: 'relative', - paddingTop: 200, - paddingBottom: 120, - - [BREAKPOINT]: { - paddingBottom: 80, - paddingTop: 80, - }, - }, - - title: { - fontSize: 62, - fontWeight: 900, - lineHeight: 1.1, - margin: 0, - padding: 0, - color: theme.colorScheme === 'dark' ? theme.white : theme.black, - - [BREAKPOINT]: { - fontSize: 42, - lineHeight: 1.2, - }, - }, - - description: { - marginTop: theme.spacing.xl, - fontSize: 24, - - [BREAKPOINT]: { - fontSize: 18, - }, - }, - - controls: { - marginTop: theme.spacing.xl * 2, - - [BREAKPOINT]: { - marginTop: theme.spacing.xl, - }, - }, - - control: { - height: 54, - - - [BREAKPOINT]: { - height: 54, - - flex: 1, - }, - }, -})); - -export default function Welcome() { - const { classes } = useStyles(); - - return ( -
- -

- 🚅 Track Alpha -

- - - Log, share & compare your train sightings - - - - - - - - - - - - Privacy Policy - Terms & Conditions - Contribute - -
-
- ); -}; \ No newline at end of file diff --git a/src/server/context.ts b/src/server/context.ts deleted file mode 100644 index fe9183a..0000000 --- a/src/server/context.ts +++ /dev/null @@ -1,44 +0,0 @@ -// src/server/router/context.ts -import * as trpc from "@trpc/server"; -import * as trpcNext from "@trpc/server/adapters/next"; -import { Session } from "next-auth"; -import { getServerAuthSession } from "./session"; -import { prisma } from "./db"; - -type CreateContextOptions = { - session: Session | null; -}; - -/** Use this helper for: - * - testing, where we dont have to Mock Next.js' req/res - * - trpc's `createSSGHelpers` where we don't have req/res - */ - -export const createContextInner = async (opts: CreateContextOptions) => { - return { - session: opts.session, - prisma, - }; -}; - -/** - * This is the actual context you'll use in your router - * @link https://trpc.io/docs/context - */ - -export const createContext = async ( - opts: trpcNext.CreateNextContextOptions, -) => { - const { req, res } = opts; - - // Get the session from the server using the unstable_getServerSession wrapper function - const session = await getServerAuthSession({ req, res }); - - return await createContextInner({ - session, - }); -}; - -export type Context = trpc.inferAsyncReturnType; - -export const createRouter = () => trpc.router(); diff --git a/src/server/cs/get.ts b/src/server/cs/get.ts deleted file mode 100644 index 462f56b..0000000 --- a/src/server/cs/get.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Get a single class - * @param ctx - * @param id - * @returns OperatorFull - */ - -export async function get(ctx: Context, classNo: string): Promise { - try { - return await ctx.prisma.class.findUniqueOrThrow({ - where: { no: classNo }, - include: { - manufacturer: true, - operatorSets: { - include: { - operator: true, - rstock: { - include: { - opSet: { - include: { - operator: true - } - } - } - } - } - } - } - }); - } catch(e) { - // Throw 404 on error - Errors.throw404(); - }; -} \ No newline at end of file diff --git a/src/server/cs/router.ts b/src/server/cs/router.ts deleted file mode 100644 index 4ff3971..0000000 --- a/src/server/cs/router.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { createRouter } from "../context"; -import { z } from "zod"; -import { get } from "./get"; - -/** - * Router for class - */ - -export const router = createRouter() - // cs.get - .query("get", { - input: z - .object({ - classNo: z.string() - }), - async resolve({ ctx, input }) { - return await get(ctx, input.classNo); - }, - }) \ No newline at end of file diff --git a/src/server/cs/types.d.ts b/src/server/cs/types.d.ts deleted file mode 100644 index 724c1fd..0000000 --- a/src/server/cs/types.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Full class type with - * operators as returned - * by the API - */ - -type ClassWithOperatorsAndManufacturer = Class & { - operatorSets: (OperatorSet & { - operator: Operator; - })[]; - manufacturer: Manufacturer; -} \ No newline at end of file diff --git a/src/server/db.ts b/src/server/db.ts deleted file mode 100644 index 47cfb8e..0000000 --- a/src/server/db.ts +++ /dev/null @@ -1,23 +0,0 @@ -// src/server/db/client.ts -import { PrismaClient } from "@prisma/client"; -import { env } from "../env/server.mjs"; - -declare global { - // eslint-disable-next-line no-var - var prisma: PrismaClient | undefined; -} - -/** - * Prisma singleton - */ - -export const prisma = - global.prisma || - new PrismaClient({ - log: - env.NODE_ENV === "development" ? ["query", "error", "warn"] : ["error"], - }); - -if (env.NODE_ENV !== "production") { - global.prisma = prisma; -} diff --git a/src/server/errors.ts b/src/server/errors.ts deleted file mode 100644 index cfcbe86..0000000 --- a/src/server/errors.ts +++ /dev/null @@ -1,41 +0,0 @@ -import * as trpc from '@trpc/server'; - -export namespace Errors { - - /** - * Throw a generic 404 error - * for trpc - */ - - export function throw404() { - throw new trpc.TRPCError({ - code: 'NOT_FOUND', - message: `Requested resource could not be found` - }); - } - - /** - * Throw a 401 error code - * for trpc - */ - - export function throw401() { - throw new trpc.TRPCError({ - code: 'UNAUTHORIZED', - message: `You must be logged in to use this resource` - }); - } - - /** - * Throw a 400 error code - * for trpc - */ - - export function throw400(overide: string|null = null) { - throw new trpc.TRPCError({ - code: 'BAD_REQUEST', - message: overide || `Check the inputs supplied to this function` - }); - } - -} \ No newline at end of file diff --git a/src/server/mf/get.ts b/src/server/mf/get.ts deleted file mode 100644 index 74ecf9d..0000000 --- a/src/server/mf/get.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Get a single manufacturer - * @param ctx - * @param id - * @returns OperatorFull - */ - -export async function get(ctx: Context, id: string): Promise { - try { - return await ctx.prisma.manufacturer.findUniqueOrThrow({ - where: { id: id }, - include: { - classes: { - orderBy: { - no: "asc" - }, - include: { - operatorSets: { - include: { - operator: true - } - } - } - } - } - }); - } catch(e) { - // Throw 404 on error - Errors.throw404(); - }; -} \ No newline at end of file diff --git a/src/server/mf/router.ts b/src/server/mf/router.ts deleted file mode 100644 index d4a4e5f..0000000 --- a/src/server/mf/router.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { createRouter } from "../context"; -import { z } from "zod"; -import { get } from "./get"; - -/** - * Router for manufacturer - */ - -export const router = createRouter() - // mf.get - .query("get", { - input: z - .object({ - id: z.string() - }), - async resolve({ ctx, input }) { - return await get(ctx, input.id); - }, - }) \ No newline at end of file diff --git a/src/server/mf/types.d.ts b/src/server/mf/types.d.ts deleted file mode 100644 index e06c3d0..0000000 --- a/src/server/mf/types.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Full manufacturer type - * as returned by the API - */ - -type ManufacturerFull = Manufacturer & { - classes: Class[]; -} - -/** - * Full class type with - * operators as returned - * by the API - */ - -type ClassWithOperators = Class & { - operatorSets: (OperatorSet & { - operator: Operator; - })[]; -} \ No newline at end of file diff --git a/src/server/op/get.ts b/src/server/op/get.ts deleted file mode 100644 index f8b26b3..0000000 --- a/src/server/op/get.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Get a single operating company - * @param ctx - * @param code - * @returns OperatorFull - */ - -export async function get(ctx: Context, code: string): Promise { - try { - return await ctx.prisma.operator.findUniqueOrThrow({ - where: { code: code }, - include: { - operatorSets: { - orderBy: { - class: { - no: 'asc', - }, - }, - include: { - class: { - include: { - manufacturer: true - } - }, - _count: { - select: { - rstock: true - } - } - } - } - } - }); - } catch(e) { - // Throw 404 on error - Errors.throw404(); - }; -} \ No newline at end of file diff --git a/src/server/op/router.ts b/src/server/op/router.ts deleted file mode 100644 index c0936db..0000000 --- a/src/server/op/router.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { createRouter } from "../context"; -import { z } from "zod"; -import { get } from "./get"; - -/** - * Router for operator - */ - -export const router = createRouter() - // op.get - .query("get", { - input: z - .object({ - code: z.string() - }), - async resolve({ ctx, input }) { - return await get(ctx, input.code); - }, - }) \ No newline at end of file diff --git a/src/server/op/types.d.ts b/src/server/op/types.d.ts deleted file mode 100644 index 420b1e6..0000000 --- a/src/server/op/types.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Full operator type - * as returned by the API - */ - - type OperatorFull = Operator & { - operatorSets: (OperatorSet & { - class: Class & { - manufacturer: Manufacturer; - }; - _count: { - rstock: number; - }; - })[]; -} \ No newline at end of file diff --git a/src/server/os/get.ts b/src/server/os/get.ts deleted file mode 100644 index 744779a..0000000 --- a/src/server/os/get.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Get a operator set - * @param ctx - * @param opCode - * @param classNo - * @returns OperatorSetFull - */ - -export async function get(ctx: Context, opCode: string, classNo: string): Promise { - try { - return await ctx.prisma.operatorSet.findFirstOrThrow({ - include: { - operator: true, - rstock: true, - class: { - include: { - manufacturer: true - } - } - }, - where: { - class: { - no: classNo - }, - operator: { - code: opCode - } - } - }); - } catch(e) { - // Throw 404 on error - Errors.throw404(); - }; -} \ No newline at end of file diff --git a/src/server/os/router.ts b/src/server/os/router.ts deleted file mode 100644 index 01a1774..0000000 --- a/src/server/os/router.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { createRouter } from "../context"; -import { z } from "zod"; -import { get } from "./get"; - -/** - * Router for operator set - */ - -export const router = createRouter() - // os.get - .query("get", { - input: z - .object({ - opCode: z.string().max(3).min(2), - classNo: z.string().max(3).min(2) - }), - async resolve({ ctx, input }) { - return await get(ctx, input.opCode, input.classNo); - }, - }) \ No newline at end of file diff --git a/src/server/os/types.d.ts b/src/server/os/types.d.ts deleted file mode 100644 index 9d875b8..0000000 --- a/src/server/os/types.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Full operator set - * as returned by the API - */ - -type OperatorSetFull = OperatorSet & { - rstock: RStock[]; - operator: Operator; - class: Class & { - manufacturer: Manufacturer; - }; -} \ No newline at end of file diff --git a/src/server/router.ts b/src/server/router.ts deleted file mode 100644 index b50f46d..0000000 --- a/src/server/router.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { createRouter } from "./context"; -import superjson from "superjson"; -import { router as csRouter } from "./cs/router"; -import { router as mfRouter } from "./mf/router"; -import { router as opRouter } from "./op/router"; -import { router as osRouter } from "./os/router"; -import { router as rsRouter } from "./rs/router"; -import { router as siRouter } from "./si/router"; - -export const router = createRouter() - .transformer(superjson) - .merge("cs.", csRouter) - .merge("mf.", mfRouter) - .merge("op.", opRouter) - .merge("os.", osRouter) - .merge("rs.", rsRouter) - .merge("si.", siRouter); - -export type Router = typeof router; \ No newline at end of file diff --git a/src/server/rs/get.ts b/src/server/rs/get.ts deleted file mode 100644 index 4da21a5..0000000 --- a/src/server/rs/get.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Get a single rolling stock - * @param ctx - * @param identifier - * @returns RStockFull - */ - -export async function get(ctx: Context, identifier: string): Promise { - try { - return await ctx.prisma.rStock.findUniqueOrThrow({ - where: { identifier: identifier }, - include: { - opSet: { - include: { - operator: true, - class: { - include: { - manufacturer: true - } - }, - illustrations: true - } - } - } - }); - } catch(e) { - // Throw 404 on error - Errors.throw404(); - }; -} \ No newline at end of file diff --git a/src/server/rs/getMany.ts b/src/server/rs/getMany.ts deleted file mode 100644 index f8e04c3..0000000 --- a/src/server/rs/getMany.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Context } from "../context"; - -/** - * Get a multiple rolling stock - * @param ctx - * @returns RStockFull - */ - -export async function getMany(ctx: Context, classId: string|null, operatorId: string|null): Promise { - return await ctx.prisma.rStock.findMany({ - where: { - opSet: { - ...(classId != null) && {classId: classId}, - ...(operatorId != null) && {operatorId: operatorId} - } - }, - include: { - opSet: { - include: { - operator: true - } - } - }, - orderBy: { - identifier: "asc" - } - }); -} \ No newline at end of file diff --git a/src/server/rs/router.ts b/src/server/rs/router.ts deleted file mode 100644 index f43393f..0000000 --- a/src/server/rs/router.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { createRouter } from "../context"; -import { z } from "zod"; -import { get } from "./get"; -import { getMany } from "./getMany"; -import { Errors } from "../errors"; - -/** - * Router for rolling stock - */ - -export const router = createRouter() - // rs.get - .query("get", { - input: z - .object({ - identifier: z.string().max(6).min(5) - }), - async resolve({ ctx, input }) { - return await get(ctx, input.identifier); - }, - }) - // rs.getMany - .query("getMany", { - input: z - .object({ - classId: z.string().nullable(), - operatorId: z.string().nullable() - }), - async resolve({ ctx, input }) { - // If neither of these inputs present throw error - if (input.classId && input.operatorId == null) { - Errors.throw400(); - } - - return await getMany(ctx, input.classId, input.operatorId) - } - }) \ No newline at end of file diff --git a/src/server/rs/types.d.ts b/src/server/rs/types.d.ts deleted file mode 100644 index 37f628a..0000000 --- a/src/server/rs/types.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Full rolling stock type - * as returned by the API - */ - -type RStockFull = RStock & { - opSet: OperatorSet & { - operator: Operator; - illustrations: Illustration[]; - class: Class & { - manufacturer: Manufacturer; - }; - }; -} - -type RStockPartial = RStock & { - opSet: OperatorSet & { - operator: Operator; - }; -} \ No newline at end of file diff --git a/src/server/session.ts b/src/server/session.ts deleted file mode 100644 index f4a62d4..0000000 --- a/src/server/session.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Wrapper for unstable_getServerSession https://next-auth.js.org/configuration/nextjs - -import type { GetServerSidePropsContext } from "next"; -import { unstable_getServerSession } from "next-auth"; -import { authOptions as nextAuthOptions } from "../pages/api/auth/[...nextauth]"; - -// Next API route example - /pages/api/restricted.ts -export const getServerAuthSession = async (ctx: { - req: GetServerSidePropsContext["req"]; - res: GetServerSidePropsContext["res"]; -}) => { - return await unstable_getServerSession(ctx.req, ctx.res, nextAuthOptions); -}; \ No newline at end of file diff --git a/src/server/si/create.ts b/src/server/si/create.ts deleted file mode 100644 index 6b0f9a5..0000000 --- a/src/server/si/create.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Sighting } from "@prisma/client"; -import { User } from "next-auth"; -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Create a new sighting - * @param ctx - * @param user - * @returns Sighting - */ - -export async function create( - ctx: Context, user: User, rStockIds: string[], - location: string, date: Date -): Promise { - - // Round date to nearest day, get rid of hours and minutes etc - date.setHours(0, 0, 0, 0) - - // See if there is already a sighting for this loc and date - const sighting = await ctx.prisma.sighting.findFirst({ - where: { - userId: user.id, - location: location, - date: date - } - }); - - if (sighting != null) { - // Add the trains to the pre-existing sighting - try { - await ctx.prisma.rstockSighting.createMany({ - data: rStockIds.map((id) => ({ - rstockId: id, - sightingId: sighting.id - })) - }) - } catch { - Errors.throw400("already logged on that day u idiot") - } - } else { - return await ctx.prisma.sighting.create({ - data: { - userId: user.id, - location: location, - date: date, - rStockSightings: { - createMany: { - data: rStockIds.map((id) => ( - {rstockId: id} - )) - } - } - } - }); - } -} \ No newline at end of file diff --git a/src/server/si/getAll.ts b/src/server/si/getAll.ts deleted file mode 100644 index f4997dd..0000000 --- a/src/server/si/getAll.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { User } from "next-auth"; -import { Context } from "../context"; -import { Errors } from "../errors"; - -/** - * Get all sightings - * @param ctx - * @param user - * @returns SightingFull - */ - -export async function getAll(ctx: Context, user: User, rStockId: string|null|undefined, limit: number): Promise { - return await ctx.prisma.sighting.findMany({ - where: { - userId: user.id, - ...(rStockId != null) && {rStockSightings: { - some: { - rstockId: rStockId - } - }}, - }, - take: limit, - include: { - rStockSightings: { - include: { - rstock: true - } - } - }, - orderBy: { - date: "desc" - } - }); -} \ No newline at end of file diff --git a/src/server/si/router.ts b/src/server/si/router.ts deleted file mode 100644 index 5a0bc48..0000000 --- a/src/server/si/router.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { createRouter } from "../context"; -import { z } from "zod"; -import { getAll } from "./getAll"; -import { Errors } from "../errors"; -import { create } from "./create"; - -/** - * Router for sightings - */ - -export const router = createRouter() - // si.getAll - .query("getAll", { - input: z - .object({ - rStockId: z.string().nullish(), - take: z.number().min(0).default(10) - }), - async resolve({ ctx, input }) { - // If user logged in - if (ctx.session?.user) return await getAll(ctx, ctx.session.user, input.rStockId, input.take) - // Else throw error - throw Errors.throw401(); - }, - }) - .mutation("create", { - input: z - .object({ - rStockIds: z.array(z.string()), - location: z.string(), - date: z.date() - }), - async resolve({ ctx, input }) { - // If user logged in - if (ctx.session?.user) return await create(ctx, ctx.session.user, - input.rStockIds, input.location, input.date) - // Else throw error - Errors.throw401(); - } - }) \ No newline at end of file diff --git a/src/server/si/types.d.ts b/src/server/si/types.d.ts deleted file mode 100644 index 74eeca7..0000000 --- a/src/server/si/types.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Sighting type when in a list - * as returned by the API - */ - -type SightingForList = Sighting & { - rStockSightings: RStockSightingWithRstock[]; -} - -/** - * As returned by api - */ - -type RStockSightingWithRstock = RstockSighting & { - rstock: RStock; -} \ No newline at end of file diff --git a/src/styles/globals.css b/src/styles/globals.css deleted file mode 100644 index e5e2dcc..0000000 --- a/src/styles/globals.css +++ /dev/null @@ -1,16 +0,0 @@ -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; -} diff --git a/src/types/next-auth.d.ts b/src/types/next-auth.d.ts deleted file mode 100644 index e25ea19..0000000 --- a/src/types/next-auth.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { DefaultSession } from "next-auth"; - -declare module "next-auth" { - /** - * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context - */ - interface Session { - user?: { - id: string; - } & DefaultSession["user"]; - } -} diff --git a/src/utils/trpc.ts b/src/utils/trpc.ts deleted file mode 100644 index 050164a..0000000 --- a/src/utils/trpc.ts +++ /dev/null @@ -1,26 +0,0 @@ -// src/utils/trpc.ts -import type { Router } from "../server/router"; -import { createReactQueryHooks } from "@trpc/react"; -import type { inferProcedureOutput, inferProcedureInput } from "@trpc/server"; - -export const trpc = createReactQueryHooks(); - -/** - * This is a helper method to infer the output of a query resolver - * @example type HelloOutput = inferQueryOutput<'hello'> - */ -export type inferQueryOutput< - TRouteKey extends keyof Router["_def"]["queries"], -> = inferProcedureOutput; - -export type inferQueryInput< - TRouteKey extends keyof Router["_def"]["queries"], -> = inferProcedureInput; - -export type inferMutationOutput< - TRouteKey extends keyof Router["_def"]["mutations"], -> = inferProcedureOutput; - -export type inferMutationInput< - TRouteKey extends keyof Router["_def"]["mutations"], -> = inferProcedureInput; diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 0608fd0..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "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, - "noUncheckedIndexedAccess": true - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.cjs", "**/*.mjs"], - "exclude": ["node_modules"] -} diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index c06dd22..0000000 --- a/yarn.lock +++ /dev/null @@ -1,2589 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/helper-module-imports@^7.16.7": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.18.6": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz" - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - -"@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/plugin-syntax-jsx@^7.17.12": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/runtime-corejs3@^7.10.2": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz" - integrity sha512-qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A== - dependencies: - core-js-pure "^3.20.2" - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.0": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz" - integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/types@^7.18.6": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz" - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@emotion/babel-plugin@^11.10.0": - version "11.10.2" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz" - integrity sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.17.12" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/serialize" "^1.1.0" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.0.13" - -"@emotion/cache@^11.10.0": - version "11.10.3" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz" - integrity sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ== - dependencies: - "@emotion/memoize" "^0.8.0" - "@emotion/sheet" "^1.2.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - stylis "4.0.13" - -"@emotion/hash@^0.9.0": - version "0.9.0" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz" - integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== - -"@emotion/memoize@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" - integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== - -"@emotion/react@^11.10.4": - version "11.10.4" - resolved "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz" - integrity sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA== - dependencies: - "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.0" - "@emotion/cache" "^11.10.0" - "@emotion/serialize" "^1.1.0" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - hoist-non-react-statics "^3.3.1" - -"@emotion/serialize@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz" - integrity sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA== - dependencies: - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/unitless" "^0.8.0" - "@emotion/utils" "^1.2.0" - csstype "^3.0.2" - -"@emotion/sheet@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz" - integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w== - -"@emotion/unitless@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz" - integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz" - integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== - -"@emotion/utils@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz" - integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== - -"@emotion/weak-memoize@^0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz" - integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== - -"@eslint/eslintrc@^1.3.0": - version "1.3.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz" - integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@floating-ui/core@^0.7.3": - version "0.7.3" - resolved "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz" - integrity sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg== - -"@floating-ui/dom@^0.5.3": - version "0.5.4" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz" - integrity sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg== - dependencies: - "@floating-ui/core" "^0.7.3" - -"@floating-ui/react-dom-interactions@0.6.6": - version "0.6.6" - resolved "https://registry.npmjs.org/@floating-ui/react-dom-interactions/-/react-dom-interactions-0.6.6.tgz" - integrity sha512-qnao6UPjSZNHnXrF+u4/n92qVroQkx0Umlhy3Avk1oIebm/5ee6yvDm4xbHob0OjY7ya8WmUnV3rQlPwX3Atwg== - dependencies: - "@floating-ui/react-dom" "^0.7.2" - aria-hidden "^1.1.3" - use-isomorphic-layout-effect "^1.1.1" - -"@floating-ui/react-dom@^0.7.2": - version "0.7.2" - resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz" - integrity sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg== - dependencies: - "@floating-ui/dom" "^0.5.3" - use-isomorphic-layout-effect "^1.1.1" - -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@mantine/core@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/core/-/core-5.2.4.tgz" - integrity sha512-SSiu6G2ER428H7DPxG2FSyBbFLE4g1/U8vpe+qBnlLPgHn/YpBx/tzLjeOFUAfZ5abjZVBVwuOUPXcJ2h2Ewtg== - dependencies: - "@floating-ui/react-dom-interactions" "0.6.6" - "@mantine/styles" "5.2.4" - "@mantine/utils" "5.2.4" - "@radix-ui/react-scroll-area" "1.0.0" - react-textarea-autosize "8.3.4" - -"@mantine/dates@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/dates/-/dates-5.2.4.tgz" - integrity sha512-KlvU5yTT3d2eSeQ4p1hcz+vsh5Od04zw9qHW06y6j15oOP1eDLIyDfUf5QKqNGdF5N+B5kw5yre9q8XwvRV4vA== - dependencies: - "@mantine/utils" "5.2.4" - -"@mantine/form@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/form/-/form-5.2.4.tgz" - integrity sha512-Z4Ogi9C3YisywiRbV/l+8Ugfl0skg2Pzr0bN0t7Vk6b4zyDfXIPSSQ44pFuwBMtDlhrVJmbbszYG+4C5b874Rg== - dependencies: - fast-deep-equal "^3.1.3" - klona "^2.0.5" - -"@mantine/hooks@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/hooks/-/hooks-5.2.4.tgz" - integrity sha512-AwJYgZTn/KknhlFftVCIAranzekwX5UNFlR4D88dDxuY7EsZSvn1b+DuJ4vAO5+XlHj03BYlEM0IauSaCAihXg== - -"@mantine/modals@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/modals/-/modals-5.2.4.tgz" - integrity sha512-8+XNlcVpUR2q3iPw74Adsn/FfndhVBZ1U8Vqpet9ypBTe2IH4oUywaCE+89rEQWOBpwqMbazHwihUDgU01Al8Q== - dependencies: - "@mantine/utils" "5.2.4" - -"@mantine/notifications@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/notifications/-/notifications-5.2.4.tgz" - integrity sha512-N/UZ8KXMIz+wMWSLFe0JwPFFfg8gHmVgU6KX3DUOsUP6QEJF2RVM6zEQ7CawhVueBvxlxjiWJ17TirI7G372GQ== - dependencies: - "@mantine/utils" "5.2.4" - react-transition-group "4.4.2" - -"@mantine/nprogress@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/nprogress/-/nprogress-5.2.4.tgz" - integrity sha512-7rW6Z5avh6lz59Z7HZ9PvA1P9ozId0fr6W51sXhniTJkAEyVjTWa7ySWjpaJVHxVYcdzkP4mI3Rqim6AcIPKAw== - dependencies: - "@mantine/utils" "5.2.4" - -"@mantine/spotlight@^5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/spotlight/-/spotlight-5.2.4.tgz" - integrity sha512-IEALzOgrcBEu9KMOhjguF162B/Tz8oTtr2PlVXOhEvoAStvM4Oji9Ui7YlmcklpnUkrKmv3x8VqroPyoXQpX3A== - dependencies: - "@mantine/utils" "5.2.4" - -"@mantine/styles@5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/styles/-/styles-5.2.4.tgz" - integrity sha512-fSKVdM9epq3Zpbi3/Xs4kvLSa5Cj1p7v022m8k8sPqOOz5oji213r3bHDhzhgW57kBN2MI/bepcCu375EiYyGA== - dependencies: - clsx "1.1.1" - csstype "3.0.9" - -"@mantine/utils@5.2.4": - version "5.2.4" - resolved "https://registry.npmjs.org/@mantine/utils/-/utils-5.2.4.tgz" - integrity sha512-U+3+OpGRb7GbmhLUZcWhGvZelaMJ42MW88bZXH3Cej5VpLRdx3UgLTP6EhbQBIFGTW7S53Xq7K7eCx2xdUFfhg== - -"@next-auth/prisma-adapter@^1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.4.tgz" - integrity sha512-jIOM6CzCbl2/Mzbx9kb2IjtHoJOeRN9wtQgLk4EUm5bhneSVGv1rtz5TDskvp2UfCa+EK9nDmug+lje41z80Gg== - -"@next/env@12.2.5": - version "12.2.5" - resolved "https://registry.npmjs.org/@next/env/-/env-12.2.5.tgz" - integrity sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw== - -"@next/eslint-plugin-next@12.2.5": - version "12.2.5" - resolved "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.5.tgz" - integrity sha512-VBjVbmqEzGiOTBq4+wpeVXt/KgknnGB6ahvC/AxiIGnN93/RCSyXhFRI4uSfftM2Ba3w7ZO7076bfKasZsA0fw== - dependencies: - glob "7.1.7" - -"@next/swc-android-arm-eabi@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz#903a5479ab4c2705d9c08d080907475f7bacf94d" - integrity sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA== - -"@next/swc-android-arm64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz#2f9a98ec4166c7860510963b31bda1f57a77c792" - integrity sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg== - -"@next/swc-darwin-arm64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz#31b1c3c659d54be546120c488a1e1bad21c24a1d" - integrity sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg== - -"@next/swc-darwin-x64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz#2e44dd82b2b7fef88238d1bc4d3bead5884cedfd" - integrity sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A== - -"@next/swc-freebsd-x64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz#e24e75d8c2581bfebc75e4f08f6ddbd116ce9dbd" - integrity sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw== - -"@next/swc-linux-arm-gnueabihf@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz#46d8c514d834d2b5f67086013f0bd5e3081e10b9" - integrity sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg== - -"@next/swc-linux-arm64-gnu@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz#91f725ac217d3a1f4f9f53b553615ba582fd3d9f" - integrity sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ== - -"@next/swc-linux-arm64-musl@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz#e627e8c867920995810250303cd9b8e963598383" - integrity sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg== - -"@next/swc-linux-x64-gnu@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz#83a5e224fbc4d119ef2e0f29d0d79c40cc43887e" - integrity sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw== - -"@next/swc-linux-x64-musl@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz#be700d48471baac1ec2e9539396625584a317e95" - integrity sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g== - -"@next/swc-win32-arm64-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz#a93e958133ad3310373fda33a79aa10af2a0aa97" - integrity sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw== - -"@next/swc-win32-ia32-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz#4f5f7ba0a98ff89a883625d4af0125baed8b2e19" - integrity sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw== - -"@next/swc-win32-x64-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz" - integrity sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@panva/hkdf@^1.0.1": - version "1.0.2" - resolved "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.2.tgz" - integrity sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA== - -"@prisma/client@^4.3.1": - version "4.3.1" - resolved "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz" - integrity sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw== - dependencies: - "@prisma/engines-version" "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" - -"@prisma/engines-version@4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b": - version "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" - resolved "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b.tgz" - integrity sha512-8yWpXkQRmiSfsi2Wb/ZS5D3RFbeu/btL9Pm/gdF4phB0Lo5KGsDFMxFMgaD64mwED2nHc8ZaEJg/+4Jymb9Znw== - -"@prisma/engines@4.3.1": - version "4.3.1" - resolved "https://registry.npmjs.org/@prisma/engines/-/engines-4.3.1.tgz" - integrity sha512-4JF/uMaEDAPdcdZNOrnzE3BvrbGpjgV0FcPT3EVoi6I86fWkloqqxBt+KcK/+fIRR0Pxj66uGR9wVH8U1Y13JA== - -"@radix-ui/number@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz" - integrity sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/primitive@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz" - integrity sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-compose-refs@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz" - integrity sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-context@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz" - integrity sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-direction@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz" - integrity sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-presence@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz" - integrity sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-use-layout-effect" "1.0.0" - -"@radix-ui/react-primitive@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz" - integrity sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-slot" "1.0.0" - -"@radix-ui/react-scroll-area@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.0.tgz" - integrity sha512-3SNFukAjS5remgtpAVR9m3Zgo23ZojBZ8V3TCyR3A+56x2mtVqKlPV4+e8rScZUFMuvtbjIdQCmsJBFBazKZig== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/number" "1.0.0" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-direction" "1.0.0" - "@radix-ui/react-presence" "1.0.0" - "@radix-ui/react-primitive" "1.0.0" - "@radix-ui/react-use-callback-ref" "1.0.0" - "@radix-ui/react-use-layout-effect" "1.0.0" - -"@radix-ui/react-slot@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.0.tgz" - integrity sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.0" - -"@radix-ui/react-use-callback-ref@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz" - integrity sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-use-layout-effect@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz" - integrity sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ== - dependencies: - "@babel/runtime" "^7.13.10" - -"@rushstack/eslint-patch@^1.1.3": - version "1.1.4" - resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz" - integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA== - -"@swc/helpers@0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.3.tgz" - integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA== - dependencies: - tslib "^2.4.0" - -"@trpc/client@^9.27.2": - version "9.27.2" - resolved "https://registry.npmjs.org/@trpc/client/-/client-9.27.2.tgz" - integrity sha512-rpsgJJMalOtki5VjcyheL0zdft23mDnoBHn5cJMZLf3ssymCZq2crbvCiUmCRU289lYHrqffaaZ+9PqCSsVKfg== - dependencies: - "@babel/runtime" "^7.9.0" - -"@trpc/next@^9.27.2": - version "9.27.2" - resolved "https://registry.npmjs.org/@trpc/next/-/next-9.27.2.tgz" - integrity sha512-5Xy13sH2c7usWyQtVQ7g7gjv7i1/3shGrtVJJEbdEXq8i0A7BUAg1Q1DjCL92d9otD2jXpnaqRAktrXLZRGCgQ== - dependencies: - "@babel/runtime" "^7.9.0" - react-ssr-prepass "^1.5.0" - -"@trpc/react@^9.27.2": - version "9.27.2" - resolved "https://registry.npmjs.org/@trpc/react/-/react-9.27.2.tgz" - integrity sha512-d2Nu3gYD7W9B5J5GylLw41jElQexb9zzwOLmCUR54azhvkIjk2w5dZLLqG3ou7L4ZsnlLOHgyO/LMwrgR4U9ZA== - dependencies: - "@babel/runtime" "^7.9.0" - -"@trpc/server@^9.27.2": - version "9.27.2" - resolved "https://registry.npmjs.org/@trpc/server/-/server-9.27.2.tgz" - integrity sha512-LcXCC004SYWVdHqjSZVpoKkcM0tJNwWtvmjmE2Jir36F0siY1CCbr7g2vz6LcOtA/q7Jj5G2/x1qMWzlPq/Bwg== - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/node@18.0.0": - version "18.0.0" - resolved "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz" - integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prop-types@*": - version "15.7.5" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-dom@18.0.5": - version "18.0.5" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz" - integrity sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@18.0.14": - version "18.0.14" - resolved "https://registry.npmjs.org/@types/react/-/react-18.0.14.tgz" - integrity sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - -"@typescript-eslint/eslint-plugin@^5.33.0": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.1.tgz" - integrity sha512-iC40UK8q1tMepSDwiLbTbMXKDxzNy+4TfPWgIL661Ym0sD42vRcQU93IsZIrmi+x292DBr60UI/gSwfdVYexCA== - dependencies: - "@typescript-eslint/scope-manager" "5.36.1" - "@typescript-eslint/type-utils" "5.36.1" - "@typescript-eslint/utils" "5.36.1" - debug "^4.3.4" - functional-red-black-tree "^1.0.1" - ignore "^5.2.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.21.0", "@typescript-eslint/parser@^5.33.0": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.1.tgz" - integrity sha512-/IsgNGOkBi7CuDfUbwt1eOqUXF9WGVBW9dwEe1pi+L32XrTsZIgmDFIi2RxjzsvB/8i+MIf5JIoTEH8LOZ368A== - dependencies: - "@typescript-eslint/scope-manager" "5.36.1" - "@typescript-eslint/types" "5.36.1" - "@typescript-eslint/typescript-estree" "5.36.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.36.1": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.1.tgz" - integrity sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w== - dependencies: - "@typescript-eslint/types" "5.36.1" - "@typescript-eslint/visitor-keys" "5.36.1" - -"@typescript-eslint/type-utils@5.36.1": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.1.tgz" - integrity sha512-xfZhfmoQT6m3lmlqDvDzv9TiCYdw22cdj06xY0obSznBsT///GK5IEZQdGliXpAOaRL34o8phEvXzEo/VJx13Q== - dependencies: - "@typescript-eslint/typescript-estree" "5.36.1" - "@typescript-eslint/utils" "5.36.1" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.36.1": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.1.tgz" - integrity sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg== - -"@typescript-eslint/typescript-estree@5.36.1": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.1.tgz" - integrity sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g== - dependencies: - "@typescript-eslint/types" "5.36.1" - "@typescript-eslint/visitor-keys" "5.36.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.36.1": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.1.tgz" - integrity sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.36.1" - "@typescript-eslint/types" "5.36.1" - "@typescript-eslint/typescript-estree" "5.36.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/visitor-keys@5.36.1": - version "5.36.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.1.tgz" - integrity sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ== - dependencies: - "@typescript-eslint/types" "5.36.1" - eslint-visitor-keys "^3.3.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-hidden@^1.1.3: - version "1.2.1" - resolved "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz" - integrity sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A== - dependencies: - tslib "^2.0.0" - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -array-includes@^3.1.4, array-includes@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz" - integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -axe-core@^4.4.3: - version "4.4.3" - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz" - integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -big-integer@^1.6.16: - version "1.6.51" - resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -broadcast-channel@^3.4.1: - version "3.7.0" - resolved "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz" - integrity sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg== - dependencies: - "@babel/runtime" "^7.7.2" - detect-node "^2.1.0" - js-sha3 "0.8.0" - microseconds "0.2.0" - nano-time "1.0.0" - oblivious-set "1.0.0" - rimraf "3.0.2" - unload "2.2.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001332: - version "1.0.30001402" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz" - integrity sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -clsx@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz" - integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^1.5.0: - version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -copy-anything@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.2.tgz" - integrity sha512-CzATjGXzUQ0EvuvgOCI6A4BGOo2bcVx8B+eC2nF862iv9fopnPQwlrbACakNCHRIJbCSBj+J/9JeDf60k64MkA== - dependencies: - is-what "^4.1.6" - -core-js-pure@^3.20.2: - version "3.25.0" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.0.tgz" - integrity sha512-IeHpLwk3uoci37yoI2Laty59+YqH9x5uR65/yiA0ARAJrTrN4YU0rmauLWfvqOuk77SlNJXj2rM6oT/dBD87+A== - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -csstype@3.0.9: - version "3.0.9" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz" - integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== - -csstype@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz" - integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dayjs@^1.11.5: - version "1.11.5" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz" - integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== - -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -detect-node@^2.0.4, detect-node@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.2" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz" - integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.2" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "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.2.5: - version "12.2.5" - resolved "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.2.5.tgz" - integrity sha512-SOowilkqPzW6DxKp3a3SYlrfPi5Ajs9MIzp9gVfUDxxH9QFM5ElkR1hX5m/iICJuvCbWgQqFBiA3mCMozluniw== - dependencies: - "@next/eslint-plugin-next" "12.2.5" - "@rushstack/eslint-patch" "^1.1.3" - "@typescript-eslint/parser" "^5.21.0" - eslint-import-resolver-node "^0.3.6" - eslint-import-resolver-typescript "^2.7.1" - eslint-plugin-import "^2.26.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.29.4" - eslint-plugin-react-hooks "^4.5.0" - -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" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-import-resolver-typescript@^2.7.1: - version "2.7.1" - resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz" - integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== - dependencies: - debug "^4.3.4" - glob "^7.2.0" - is-glob "^4.0.3" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@^2.26.0: - version "2.26.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - 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.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-react-hooks@^4.5.0: - version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.29.4: - version "7.31.4" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.4.tgz" - integrity sha512-2ry4HTT+c+hSgpnV2DXj3d5oAmH11KH8HHQwtcfRdq6/+R3nEimvMbwAqK79eb4ZW1/hp8yC5elBusZM6li/Gg== - dependencies: - array-includes "^3.1.5" - array.prototype.flatmap "^1.3.0" - 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.1" - 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.7" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "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.22.0: - version "8.22.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz" - integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== - dependencies: - "@eslint/eslintrc" "^1.3.0" - "@humanwhocodes/config-array" "^0.10.4" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.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.3" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" - grapheme-splitter "^1.0.4" - 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.1.2" - 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" - -espree@^9.3.3, espree@^9.4.0: - version "9.4.0" - resolved "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - 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.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" - integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@7.1.7, glob@^7.1.3: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - 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.2.0: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.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== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hoist-non-react-statics@^3.3.1: - version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-what@^4.1.6: - version "4.1.7" - resolved "https://registry.npmjs.org/is-what/-/is-what-4.1.7.tgz" - integrity sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -jose@^4.1.4, jose@^4.3.7: - version "4.9.2" - resolved "https://registry.npmjs.org/jose/-/jose-4.9.2.tgz" - integrity sha512-EqKvu2PqJCD3Jrg3PvcYZVS7D21qMVLSYMDAFcOdGUEOpJSLNtJO7NjLANvu3SYHVl6pdP2ff7ve6EZW2nX7Nw== - -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -klona@^2.0.5: - version "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.22" - resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" - integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== - dependencies: - language-subtag-registry "~0.3.2" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -match-sorter@^6.0.2: - version "6.3.1" - resolved "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz" - integrity sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw== - dependencies: - "@babel/runtime" "^7.12.5" - remove-accents "0.4.2" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -microseconds@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz" - integrity sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA== - -minimatch@^3.0.4, minimatch@^3.1.1, 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== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nano-time@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz" - integrity sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA== - dependencies: - big-integer "^1.6.16" - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -next-auth@^4.10.3: - version "4.10.3" - resolved "https://registry.npmjs.org/next-auth/-/next-auth-4.10.3.tgz" - integrity sha512-7zc4aXYc/EEln7Pkcsn21V1IevaTZsMLJwapfbnKA4+JY0+jFzWbt5p/ljugesGIrN4VOZhpZIw50EaFZyghJQ== - dependencies: - "@babel/runtime" "^7.16.3" - "@panva/hkdf" "^1.0.1" - cookie "^0.4.1" - jose "^4.3.7" - oauth "^0.9.15" - openid-client "^5.1.0" - preact "^10.6.3" - preact-render-to-string "^5.1.19" - uuid "^8.3.2" - -next@12.2.5: - version "12.2.5" - resolved "https://registry.npmjs.org/next/-/next-12.2.5.tgz" - integrity sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA== - dependencies: - "@next/env" "12.2.5" - "@swc/helpers" "0.4.3" - caniuse-lite "^1.0.30001332" - postcss "8.4.14" - styled-jsx "5.0.4" - use-sync-external-store "1.2.0" - optionalDependencies: - "@next/swc-android-arm-eabi" "12.2.5" - "@next/swc-android-arm64" "12.2.5" - "@next/swc-darwin-arm64" "12.2.5" - "@next/swc-darwin-x64" "12.2.5" - "@next/swc-freebsd-x64" "12.2.5" - "@next/swc-linux-arm-gnueabihf" "12.2.5" - "@next/swc-linux-arm64-gnu" "12.2.5" - "@next/swc-linux-arm64-musl" "12.2.5" - "@next/swc-linux-x64-gnu" "12.2.5" - "@next/swc-linux-x64-musl" "12.2.5" - "@next/swc-win32-arm64-msvc" "12.2.5" - "@next/swc-win32-ia32-msvc" "12.2.5" - "@next/swc-win32-x64-msvc" "12.2.5" - -oauth@^0.9.15: - version "0.9.15" - resolved "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz" - integrity sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA== - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^2.0.1: - version "2.2.0" - resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz" - 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.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.hasown@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz" - integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.19.5" - -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -oblivious-set@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz" - integrity sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw== - -oidc-token-hash@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz" - integrity sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -openid-client@^5.1.0: - version "5.1.9" - resolved "https://registry.npmjs.org/openid-client/-/openid-client-5.1.9.tgz" - integrity sha512-o/11Xos2fRPpK1zQrPfSIhIusFrAkqGSPwkD0UlUB+CCuRzd7zrrBJwIjgnVv3VUSif9ZGXh2d3GSJNH2Koh5g== - dependencies: - jose "^4.1.4" - lru-cache "^6.0.0" - object-hash "^2.0.1" - oidc-token-hash "^5.0.1" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - 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-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -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== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -postcss@8.4.14: - version "8.4.14" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -preact-render-to-string@^5.1.19: - version "5.2.2" - resolved "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.2.tgz" - integrity sha512-ZBPfzWmHjasQIzysj72VYJ6oa2bphpxNvzLRdRj/XGFKyeTBJIDmoiKJlBGfxzU4TYL2CjpAWmcFIXcV+HQEBg== - dependencies: - pretty-format "^3.8.0" - -preact@^10.6.3: - version "10.10.6" - resolved "https://registry.npmjs.org/preact/-/preact-10.10.6.tgz" - integrity sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -pretty-format@^3.8.0: - version "3.8.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz" - integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew== - -prisma@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/prisma/-/prisma-4.3.1.tgz" - integrity sha512-90xo06wtqil76Xsi3mNpc4Js3SdDRR5g4qb9h+4VWY4Y8iImJY6xc3PX+C9xxTSt1lr0Q89A0MLkJjd8ax6KiQ== - dependencies: - "@prisma/engines" "4.3.1" - -prop-types@^15.6.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-query@^3.39.2: - version "3.39.2" - resolved "https://registry.npmjs.org/react-query/-/react-query-3.39.2.tgz" - integrity sha512-F6hYDKyNgDQfQOuR1Rsp3VRzJnWHx6aRnnIZHMNGGgbL3SBgpZTDg8MQwmxOgpCAoqZJA+JSNCydF1xGJqKOCA== - dependencies: - "@babel/runtime" "^7.5.5" - broadcast-channel "^3.4.1" - match-sorter "^6.0.2" - -react-ssr-prepass@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/react-ssr-prepass/-/react-ssr-prepass-1.5.0.tgz" - integrity sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ== - -react-textarea-autosize@8.3.4: - version "8.3.4" - resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz" - integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ== - dependencies: - "@babel/runtime" "^7.10.2" - use-composed-ref "^1.3.0" - use-latest "^1.2.1" - -react-transition-group@4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz" - integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -regenerator-runtime@^0.13.4: - version "0.13.9" - 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.4.1, regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -remove-accents@0.4.2: - version "0.4.2" - resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz" - integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - version "2.0.0-next.4" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@3.0.2, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.7: - version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -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== - -source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -string.prototype.matchall@^4.0.7: - version "4.0.7" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz" - 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.5: - version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -styled-jsx@5.0.4: - version "5.0.4" - resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.4.tgz" - integrity sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ== - -stylis@4.0.13: - version "4.0.13" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz" - integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== - -superjson@^1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/superjson/-/superjson-1.9.1.tgz" - integrity sha512-oT3HA2nPKlU1+5taFgz/HDy+GEaY+CWEbLzaRJVD4gZ7zMVVC4GDNFdgvAZt6/VuIk6D2R7RtPAiCHwmdzlMmg== - dependencies: - copy-anything "^3.0.2" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tabler-icons-react@^1.54.0: - version "1.54.0" - resolved "https://registry.npmjs.org/tabler-icons-react/-/tabler-icons-react-1.54.0.tgz" - integrity sha512-k+OlS1qm4Ab0RaSapBG3cyMTd2sFJOaBAhzXHek+Y7wZayoACYTOUtcNAtkD/Y+MmFM1DTs0dqOKGan3VXKyPA== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -typescript@4.7.4: - version "4.7.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unload@2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz" - integrity sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA== - dependencies: - "@babel/runtime" "^7.6.2" - detect-node "^2.0.4" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -use-composed-ref@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" - integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== - -use-isomorphic-layout-effect@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== - -use-latest@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" - integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== - dependencies: - use-isomorphic-layout-effect "^1.1.1" - -use-sync-external-store@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zod@^3.18.0: - version "3.18.0" - resolved "https://registry.npmjs.org/zod/-/zod-3.18.0.tgz" - integrity sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA==