From 02060efe7c44cb2a0490f06fa6c6ef9068720ed3 Mon Sep 17 00:00:00 2001 From: Talha Balaj Date: Wed, 11 May 2022 13:11:06 +0000 Subject: [PATCH] Update --- .../discussion-response.resolver.ts | 24 + .../modules/discussion/discussion.module.ts | 5 +- .../modules/discussion/discussion.resolver.ts | 20 +- .../types/discussion-responce.model.ts | 33 + apps/api/src/modules/user/types/user.model.ts | 31 - apps/api/src/modules/user/user.resolver.ts | 15 +- apps/api/src/modules/user/user.service.ts | 9 +- .../organisms/question-card/question-card.tsx | 100 -- .../components/organisms/sidebar/sidebar.tsx | 1 - .../classroom/pages/classroom-layout.tsx | 22 +- .../components/main-dashboard-layout.tsx | 4 +- .../discussion/components/discussion-card.tsx | 70 + .../graphql/fragments/dicussion-fragment.tsx | 3 +- .../mutations/create-response-mutation.tsx | 12 + .../graphql/mutations/vote-on-discussion.tsx | 0 .../graphql/queries/discussion-query.tsx | 20 + .../graphql/queries/discussions-query.tsx | 2 +- .../discussion/hooks/useVoteUpdaters.ts | 48 + .../pages/discussion-detail-page.tsx | 173 +++ .../pages/discussion-list-page.tsx} | 38 +- .../components/statement-portion.tsx | 4 +- .../environment/whiteboard.component.tsx | 65 +- .../pages/app/discussions/[discussionId].tsx | 3 + apps/frontend/pages/app/discussions/index.tsx | 3 + apps/frontend/pages/app/questions.tsx | 3 - .../typings/graphql/AnnouncementsQuery.ts | 2 +- .../typings/graphql/ClassroomDetails.ts | 2 +- .../typings/graphql/ClassroomMembers.ts | 2 +- .../typings/graphql/ClassroomQuery.ts | 2 +- .../graphql/CreateAnnouncementMutation.ts | 2 +- .../graphql/CreateDiscussionResponse.ts | 22 + .../typings/graphql/DiscussionQuery.ts | 63 + apps/frontend/typings/graphql/Discussions.ts | 1 + .../typings/graphql/EnvironmentQuery.ts | 2 +- apps/frontend/typings/graphql/MeQuery.ts | 4 +- .../typings/graphql/MyClassroomsQuery.ts | 2 +- .../typings/graphql/RegularDicussion.ts | 1 + .../typings/graphql/RegularDiscussion.ts | 40 + docker/api.Dockerfile | 1 + .../migration.sql | 21 + libs/models/prisma/schema.prisma | 2 - package.json | 4 +- pnpm-lock.yaml | 1281 +++++++++++++---- 43 files changed, 1597 insertions(+), 565 deletions(-) create mode 100644 apps/api/src/modules/discussion/discussion-response.resolver.ts create mode 100644 apps/api/src/modules/discussion/types/discussion-responce.model.ts delete mode 100644 apps/frontend/components/organisms/question-card/question-card.tsx create mode 100644 apps/frontend/modules/discussion/components/discussion-card.tsx rename apps/frontend/modules/{questions => discussion}/graphql/fragments/dicussion-fragment.tsx (83%) create mode 100644 apps/frontend/modules/discussion/graphql/mutations/create-response-mutation.tsx rename apps/frontend/modules/{questions => discussion}/graphql/mutations/vote-on-discussion.tsx (100%) create mode 100644 apps/frontend/modules/discussion/graphql/queries/discussion-query.tsx rename apps/frontend/modules/{questions => discussion}/graphql/queries/discussions-query.tsx (90%) create mode 100644 apps/frontend/modules/discussion/hooks/useVoteUpdaters.ts create mode 100644 apps/frontend/modules/discussion/pages/discussion-detail-page.tsx rename apps/frontend/modules/{questions/pages/question-page.tsx => discussion/pages/discussion-list-page.tsx} (69%) create mode 100644 apps/frontend/pages/app/discussions/[discussionId].tsx create mode 100644 apps/frontend/pages/app/discussions/index.tsx delete mode 100644 apps/frontend/pages/app/questions.tsx create mode 100644 apps/frontend/typings/graphql/CreateDiscussionResponse.ts create mode 100644 apps/frontend/typings/graphql/DiscussionQuery.ts create mode 100644 apps/frontend/typings/graphql/RegularDiscussion.ts create mode 100644 libs/models/prisma/migrations/20220511124259_remove_unique_for_response/migration.sql diff --git a/apps/api/src/modules/discussion/discussion-response.resolver.ts b/apps/api/src/modules/discussion/discussion-response.resolver.ts new file mode 100644 index 0000000..7ae38c6 --- /dev/null +++ b/apps/api/src/modules/discussion/discussion-response.resolver.ts @@ -0,0 +1,24 @@ +import { + ResolveField, + Resolver, + Root, +} from '@nestjs/graphql' +import { User } from '../user/types/user.model' +import { PrismaService } from '@aelp-app/models' +import { DiscussionResponce } from './types/discussion-responce.model' + +@Resolver(() => DiscussionResponce) +export default class DiscussionResponseResolver { + constructor( + private prismaService: PrismaService + ) { } + + @ResolveField(() => User) + async user(@Root() response: DiscussionResponce) { + return this.prismaService.discussionResponce.findUnique({ + where: { + id: response.id, + } + }).user() + } +} diff --git a/apps/api/src/modules/discussion/discussion.module.ts b/apps/api/src/modules/discussion/discussion.module.ts index 5be36f8..29bad20 100644 --- a/apps/api/src/modules/discussion/discussion.module.ts +++ b/apps/api/src/modules/discussion/discussion.module.ts @@ -1,5 +1,6 @@ import { ModelsModule } from '@aelp-app/models' import { Module } from '@nestjs/common' +import DiscussionResponseResolver from './discussion-response.resolver' import DiscussionResolver from './discussion.resolver' import DiscussionService from './discussion.service' @@ -7,7 +8,7 @@ import DiscussionService from './discussion.service' imports: [ModelsModule], providers: [ DiscussionResolver, - DiscussionService, + DiscussionService, DiscussionResponseResolver ], }) -export default class DiscussionModule {} +export default class DiscussionModule { } diff --git a/apps/api/src/modules/discussion/discussion.resolver.ts b/apps/api/src/modules/discussion/discussion.resolver.ts index 1cc57c3..17e70ce 100644 --- a/apps/api/src/modules/discussion/discussion.resolver.ts +++ b/apps/api/src/modules/discussion/discussion.resolver.ts @@ -15,6 +15,7 @@ import { User } from '../user/types/user.model' import SkipAuth from '../auth/helpers/SkipAuth' import { DiscussionTag } from './types/discussion-tag.model' import { DiscussionVote } from './types/discussion-vote.model' +import { DiscussionResponce } from "./types/discussion-responce.model" @Resolver(() => Discussion) export default class DiscussionResolver { @@ -51,6 +52,16 @@ export default class DiscussionResolver { return this.discussionService.createDiscussion(data, user) } + @Mutation(() => Discussion) + async createDiscussionResponse( + @LoggedInUser() user: User, + @Args('response') response: string, + @Args('discussionId') discussionId: string + ) { + return this.discussionService.createResponce(discussionId, user, response) + } + + @Mutation(() => Discussion) async updateDiscussion( @Args('discussionId') discussionId: string, @@ -71,7 +82,7 @@ export default class DiscussionResolver { @Mutation(() => DiscussionVote) async vote( @Args('id') id: string, - @Args('isUpvote', {nullable: true}) isUpvote: boolean | null, + @Args('isUpvote', { nullable: true }) isUpvote: boolean | null, @LoggedInUser() user: User, ) { return this.discussionService.vote(id, user, isUpvote) @@ -102,9 +113,14 @@ export default class DiscussionResolver { } @ResolveField(() => [DiscussionVote]) - async votes(@Root() discussion: Discussion, @LoggedInUser() user: User) { + async votes(@Root() discussion: Discussion) { return this.discussionService.getById(discussion.id).votes({ }) } + + @ResolveField(() => [DiscussionResponce]) + async responces(@Root() discussion: Discussion) { + return this.discussionService.getById(discussion.id).responces() + } } diff --git a/apps/api/src/modules/discussion/types/discussion-responce.model.ts b/apps/api/src/modules/discussion/types/discussion-responce.model.ts new file mode 100644 index 0000000..04e177b --- /dev/null +++ b/apps/api/src/modules/discussion/types/discussion-responce.model.ts @@ -0,0 +1,33 @@ +import { Field } from '@nestjs/graphql'; +import { ObjectType } from '@nestjs/graphql'; +import { ID } from '@nestjs/graphql'; +import { User } from '../../user/types/user.model'; +import { Discussion } from './discussion.model'; + +@ObjectType() +export class DiscussionResponce { + + @Field(() => ID, { nullable: false }) + id!: string; + + @Field(() => User, { nullable: false }) + user?: User; + + @Field(() => String, { nullable: false }) + discussionId!: string; + + @Field(() => String, { nullable: false }) + responce!: string; + + @Field(() => Date, { nullable: false }) + updatedAt!: Date; + + @Field(() => Date, { nullable: false }) + createdAt!: Date; + + @Field(() => Discussion, { nullable: false }) + discussion?: Discussion; + + @Field(() => String, { nullable: false }) + userId!: string; +} diff --git a/apps/api/src/modules/user/types/user.model.ts b/apps/api/src/modules/user/types/user.model.ts index ac07065..aea7bcf 100644 --- a/apps/api/src/modules/user/types/user.model.ts +++ b/apps/api/src/modules/user/types/user.model.ts @@ -1,16 +1,9 @@ import { Field } from '@nestjs/graphql' import { ObjectType } from '@nestjs/graphql' import { ID } from '@nestjs/graphql' -import { HideField } from '@nestjs/graphql' import { UserCount } from './user-count.output' import { Country } from '../../country/types/country.model' import { Role } from '../../../global-types/role.enum' -import { CompetitionParticipant } from '../../competition/types/competition-participant.model' -import { AssessmentAnswer } from '../../assessment/types/assessment-answer.model' -import { ClassroomMember } from '../../classroom/types/classroom-member.model' -import { LinkedAccount } from '../../linked-account/types/linked-account.model' -import { Competition } from '../../competition/types/competition.model' -import { EnvironmentPermission } from '../../environment/types/environment-permission.model' @ObjectType() export class User { @@ -23,12 +16,6 @@ export class User { @Field(() => String, { nullable: true }) lastName!: string | null - @Field(() => String, { nullable: true }) - name: string | null - - @Field(() => String, { nullable: true }) - shortName: string | null - @Field(() => String, { nullable: false }) userName!: string @@ -50,24 +37,6 @@ export class User { @Field(() => Date, { nullable: false }) createdAt!: Date - @Field(() => [LinkedAccount], { nullable: true }) - linkedAccounts?: Array - - @Field(() => [ClassroomMember], { nullable: true }) - joinedClassrooms?: Array - - @Field(() => [AssessmentAnswer], { nullable: true }) - assessmentAnswers?: Array - - @Field(() => [EnvironmentPermission], { nullable: true }) - envirnmentPermissions?: Array - - @Field(() => [CompetitionParticipant], { nullable: true }) - competitionsJoined?: Array - - @Field(() => [Competition], { nullable: true }) - createdCompetitions?: Array - @Field(() => UserCount, { nullable: false }) _count?: UserCount } diff --git a/apps/api/src/modules/user/user.resolver.ts b/apps/api/src/modules/user/user.resolver.ts index 1bac4b1..e89a928 100644 --- a/apps/api/src/modules/user/user.resolver.ts +++ b/apps/api/src/modules/user/user.resolver.ts @@ -23,7 +23,7 @@ export default class UserResolver { private userService: UserService, private authService: AuthService, private ipAddressService: IPAddressLookUpService - ) {} + ) { } @SkipAuth() @Mutation(() => UserAuthInfo) @@ -41,6 +41,19 @@ export default class UserResolver { return user } + @ResolveField(() => String) + async name(@Parent() user: User) { + return user.firstName && user.lastName + ? `${user.firstName} ${user.lastName}` + : user.userName + } + + @ResolveField(() => String) + async shortName(@Parent() user: User) { + return user.firstName || user.userName + } + + @ResolveField(() => ClassroomMember) async joinedClassrooms(@Parent() user: User) { return this.userService.getUserJoinedClassrooms(user) diff --git a/apps/api/src/modules/user/user.service.ts b/apps/api/src/modules/user/user.service.ts index dfc04a9..611ce60 100644 --- a/apps/api/src/modules/user/user.service.ts +++ b/apps/api/src/modules/user/user.service.ts @@ -124,14 +124,7 @@ export class UserService { if (!user) return null - return { - ...user, - name: - user.firstName && user.lastName - ? `${user.firstName} ${user.lastName}` - : user.userName, - shortName: user.firstName || user.userName, - } + return user } async getUserJoinedClassrooms(user: User) { diff --git a/apps/frontend/components/organisms/question-card/question-card.tsx b/apps/frontend/components/organisms/question-card/question-card.tsx deleted file mode 100644 index f99fceb..0000000 --- a/apps/frontend/components/organisms/question-card/question-card.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import Avatar from '@components/primitives/avatar' -import Tag from '@components/primitives/tag/tag' -import { ArrowDownIcon, ArrowUpIcon } from '@heroicons/react/outline' -import { Discussions_discussions } from 'typings/graphql/Discussions' -import './question-card.module.scss' -import moment from 'moment' -import { HUMAN_DATE_ONLY_FORMAT } from 'lib/utils/date' -import { useMutation } from '@apollo/client' -import { VOTE_ON_DISCUSSION_MUTATION } from '@modules/questions/graphql/mutations/vote-on-discussion' -import { Vote, VoteVariables } from 'typings/graphql/Vote' -import { toast } from 'react-toastify' -import { DISCUSSIONS_QUERY } from '@modules/questions/graphql/queries/discussions-query' -import classNames from 'classnames' - -export interface DiscussionCardProps { - dicussion: Discussions_discussions -} - -export function DiscussionCard(props: DiscussionCardProps) { - const iconSizeClass = - 'h-8 w-8 p-2 hover:bg-gray-200 cursor-pointer rounded-full active:bg-gray-300' - - const [vote] = useMutation(VOTE_ON_DISCUSSION_MUTATION, { - refetchQueries: [DISCUSSIONS_QUERY], - }) - - const createVote = (isUpvote: boolean | null) => async () => { - try { - await vote({ - variables: { - discussionId: props.dicussion.id, - isUpvote, - }, - }) - } catch (e) { - toast(e.message) - } - } - - const userUpvote = - props.dicussion?.votes?.[0]?.isUpvote === undefined - ? 'NONE' - : props.dicussion?.votes?.[0].isUpvote - ? 'UPVOTED' - : 'DOWNVOTED' - - return ( -
-
-
- -
-
- -
- - {props.dicussion?.votesCount} - -
- -
-
-
-
- - Posted on{' '} - {moment(props.dicussion?.createdAt).format(HUMAN_DATE_ONLY_FORMAT)} - -

{props.dicussion?.title}

{' '} -

{props.dicussion?.description}

-
- {props.dicussion?.tags.map(tag => ( - #{tag.name} - ))} -
-
-
-
- ) -} - -export default DiscussionCard diff --git a/apps/frontend/components/organisms/sidebar/sidebar.tsx b/apps/frontend/components/organisms/sidebar/sidebar.tsx index af914d1..d3d7b72 100644 --- a/apps/frontend/components/organisms/sidebar/sidebar.tsx +++ b/apps/frontend/components/organisms/sidebar/sidebar.tsx @@ -4,7 +4,6 @@ import Link from 'next/link' import { useRouter } from 'next/router' import { Logo } from '@components/primitives' import { ChevronLeftIcon } from '@heroicons/react/outline' -import { link } from 'joi' export interface SidebarLink { name: string diff --git a/apps/frontend/modules/classroom/pages/classroom-layout.tsx b/apps/frontend/modules/classroom/pages/classroom-layout.tsx index 0276b7a..ea7a715 100644 --- a/apps/frontend/modules/classroom/pages/classroom-layout.tsx +++ b/apps/frontend/modules/classroom/pages/classroom-layout.tsx @@ -22,32 +22,22 @@ const ClassroomLinks = [ icon: InboxIcon, href: '/announcements', }, - { - name: 'Questions', - icon: QuestionMarkCircleIcon, - href: '/questions', - }, { name: 'Assessments', icon: ClipboardListIcon, href: '/assessments', }, - { - name: 'Practice', - icon: CollectionIcon, - href: '/practice', - }, { name: 'Members', icon: UsersIcon, href: '/members', }, - { - name: 'Settings', - icon: CogIcon, - allowedOnly: [ClassroomRole.OWNER], - href: '/settings', - }, + // { + // name: 'Settings', + // icon: CogIcon, + // allowedOnly: [ClassroomRole.OWNER], + // href: '/settings', + // }, ] type ClassroomLayoutProps = Omit diff --git a/apps/frontend/modules/dashboard/components/main-dashboard-layout.tsx b/apps/frontend/modules/dashboard/components/main-dashboard-layout.tsx index 16a2173..6790e82 100644 --- a/apps/frontend/modules/dashboard/components/main-dashboard-layout.tsx +++ b/apps/frontend/modules/dashboard/components/main-dashboard-layout.tsx @@ -20,9 +20,9 @@ const DashboardLinks = [ href: '/app/classrooms', }, { - name: 'Questions', + name: 'Discussions', icon: QuestionMarkCircleIcon, - href: '/app/questions', + href: '/app/discussions', }, { name: 'Leaderboard', diff --git a/apps/frontend/modules/discussion/components/discussion-card.tsx b/apps/frontend/modules/discussion/components/discussion-card.tsx new file mode 100644 index 0000000..c19337c --- /dev/null +++ b/apps/frontend/modules/discussion/components/discussion-card.tsx @@ -0,0 +1,70 @@ +import Avatar from '@components/primitives/avatar' +import Tag from '@components/primitives/tag/tag' +import { ArrowDownIcon, ArrowUpIcon } from '@heroicons/react/outline' +import { Discussions_discussions } from 'typings/graphql/Discussions' +import moment from 'moment' +import { HUMAN_DATE_ONLY_FORMAT } from 'lib/utils/date' +import classNames from 'classnames' +import Link from 'next/link' +import React from 'react' +import { useVoteUpdaters } from '../hooks/useVoteUpdaters' + +export interface DiscussionCardProps { + discussion: Discussions_discussions +} + +export function DiscussionCard({ discussion }: DiscussionCardProps) { + const iconSizeClass = + 'h-8 w-8 p-2 hover:bg-gray-200 cursor-pointer rounded-full active:bg-gray-300' + const { upvote, downvote, userVote } = useVoteUpdaters(discussion) + + return ( + +
+
+
+ +
+
+ +
+ + {discussion?.votesCount} + +
+ +
+
+
+
+ + Posted on{' '} + {moment(discussion?.createdAt).format(HUMAN_DATE_ONLY_FORMAT)} + +

{discussion?.title}

{' '} +

{discussion?.description}

+
+ {discussion?.tags.map(tag => ( + #{tag.name} + ))} +
+
+
+
+ + ) +} + +export default DiscussionCard diff --git a/apps/frontend/modules/questions/graphql/fragments/dicussion-fragment.tsx b/apps/frontend/modules/discussion/graphql/fragments/dicussion-fragment.tsx similarity index 83% rename from apps/frontend/modules/questions/graphql/fragments/dicussion-fragment.tsx rename to apps/frontend/modules/discussion/graphql/fragments/dicussion-fragment.tsx index b7bcf80..cd3eba0 100644 --- a/apps/frontend/modules/questions/graphql/fragments/dicussion-fragment.tsx +++ b/apps/frontend/modules/discussion/graphql/fragments/dicussion-fragment.tsx @@ -1,7 +1,7 @@ import { gql } from '@apollo/client' export const REGULAR_DISCUSSION_FRAGMENT = gql` - fragment RegularDicussion on Discussion { + fragment RegularDiscussion on Discussion { id title description @@ -19,6 +19,7 @@ export const REGULAR_DISCUSSION_FRAGMENT = gql` votes { id isUpvote + userId } } ` diff --git a/apps/frontend/modules/discussion/graphql/mutations/create-response-mutation.tsx b/apps/frontend/modules/discussion/graphql/mutations/create-response-mutation.tsx new file mode 100644 index 0000000..d62fb26 --- /dev/null +++ b/apps/frontend/modules/discussion/graphql/mutations/create-response-mutation.tsx @@ -0,0 +1,12 @@ +import { gql } from "@apollo/client"; + +export const CREATE_RESPONSE_MUTATION = gql` + mutation CreateDiscussionResponse( + $response: String! + $discussionId: String! + ) { + createDiscussionResponse(response: $response, discussionId: $discussionId) { + id + } + } +` diff --git a/apps/frontend/modules/questions/graphql/mutations/vote-on-discussion.tsx b/apps/frontend/modules/discussion/graphql/mutations/vote-on-discussion.tsx similarity index 100% rename from apps/frontend/modules/questions/graphql/mutations/vote-on-discussion.tsx rename to apps/frontend/modules/discussion/graphql/mutations/vote-on-discussion.tsx diff --git a/apps/frontend/modules/discussion/graphql/queries/discussion-query.tsx b/apps/frontend/modules/discussion/graphql/queries/discussion-query.tsx new file mode 100644 index 0000000..738dfdb --- /dev/null +++ b/apps/frontend/modules/discussion/graphql/queries/discussion-query.tsx @@ -0,0 +1,20 @@ +import { gql } from '@apollo/client' +import { REGULAR_DISCUSSION_FRAGMENT } from '../fragments/dicussion-fragment' + +export const DISCUSSION_QUERY = gql` + ${REGULAR_DISCUSSION_FRAGMENT} + query DiscussionQuery($id: String!) { + discussion(id: $id) { + ...RegularDiscussion + responces { + id + responce + createdAt + user { + id + name + } + } + } + } +` diff --git a/apps/frontend/modules/questions/graphql/queries/discussions-query.tsx b/apps/frontend/modules/discussion/graphql/queries/discussions-query.tsx similarity index 90% rename from apps/frontend/modules/questions/graphql/queries/discussions-query.tsx rename to apps/frontend/modules/discussion/graphql/queries/discussions-query.tsx index 5664ab4..afe63f9 100644 --- a/apps/frontend/modules/questions/graphql/queries/discussions-query.tsx +++ b/apps/frontend/modules/discussion/graphql/queries/discussions-query.tsx @@ -5,7 +5,7 @@ export const DISCUSSIONS_QUERY = gql` ${REGULAR_DISCUSSION_FRAGMENT} query Discussions($take: Int) { discussions(take: $take) { - ...RegularDicussion + ...RegularDiscussion } } ` diff --git a/apps/frontend/modules/discussion/hooks/useVoteUpdaters.ts b/apps/frontend/modules/discussion/hooks/useVoteUpdaters.ts new file mode 100644 index 0000000..f7305a0 --- /dev/null +++ b/apps/frontend/modules/discussion/hooks/useVoteUpdaters.ts @@ -0,0 +1,48 @@ +import { useMutation } from "@apollo/client" +import { useMeStore } from "@modules/auth/store/me-store" +import { toast } from "react-toastify" +import { DiscussionQuery_discussion } from "typings/graphql/DiscussionQuery" +import { Discussions_discussions } from "typings/graphql/Discussions" +import { Vote, VoteVariables } from "typings/graphql/Vote" +import { VOTE_ON_DISCUSSION_MUTATION } from "../graphql/mutations/vote-on-discussion" +import { DISCUSSION_QUERY } from "../graphql/queries/discussion-query" +import { DISCUSSIONS_QUERY } from "../graphql/queries/discussions-query" + +export const useVoteUpdaters = (discussion: DiscussionQuery_discussion | Discussions_discussions) => { + const [vote] = useMutation(VOTE_ON_DISCUSSION_MUTATION, { + refetchQueries: [DISCUSSIONS_QUERY, DISCUSSION_QUERY], + }) + + const { me } = useMeStore() + + const createVoteMutator = + (isUpvote: boolean | null) => async (e: React.SyntheticEvent) => { + try { + e.stopPropagation() + await vote({ + variables: { + discussionId: discussion.id, + isUpvote, + }, + }) + } catch (e) { + toast(e.message) + } + } + + const userVoteRecord = discussion.votes.find(vote => vote.userId === me?.id) + + const userVote = + userVoteRecord?.isUpvote === undefined + ? 'NONE' + : userVoteRecord.isUpvote + ? 'UPVOTED' + : 'DOWNVOTED' + + + return { + upvote: userVote === "UPVOTED" ? createVoteMutator(null) : createVoteMutator(true), + downvote: userVote === "DOWNVOTED" ? createVoteMutator(null) : createVoteMutator(false), + userVote, + } +} diff --git a/apps/frontend/modules/discussion/pages/discussion-detail-page.tsx b/apps/frontend/modules/discussion/pages/discussion-detail-page.tsx new file mode 100644 index 0000000..534467e --- /dev/null +++ b/apps/frontend/modules/discussion/pages/discussion-detail-page.tsx @@ -0,0 +1,173 @@ +import { useMutation } from '@apollo/client' +import AdvancedMarkdownPreview from '@components/molecules/advanced-markdown-preview/advanced-markdown-review' +import AdvancedTextEditor from '@components/molecules/advanced-text-editor/advanced-text-editor' +import TopNav from '@components/organisms/top-nav/top-nav' +import { Logo } from '@components/primitives' +import Avatar from '@components/primitives/avatar' +import Button from '@components/primitives/button' +import Center from '@components/primitives/center' +import Tag from '@components/primitives/tag/tag' +import NoResultMessage from '@components/templates/NoResultMessage' +import Query from '@components/templates/Query' +import { ArrowUpIcon, ArrowDownIcon } from '@heroicons/react/outline' +import classNames from 'classnames' +import { HUMAN_DATE_ONLY_FORMAT } from 'lib/utils/date' +import moment from 'moment' +import { useRouter } from 'next/router' +import { useState } from 'react' +import { toast } from 'react-toastify' +import { + DiscussionQuery, + DiscussionQueryVariables, +} from 'typings/graphql/DiscussionQuery' +import { CREATE_RESPONSE_MUTATION } from '../graphql/mutations/create-response-mutation' +import { DISCUSSION_QUERY } from '../graphql/queries/discussion-query' +import { useVoteUpdaters } from '../hooks/useVoteUpdaters' + +export default function DiscussionDetialPage() { + const router = useRouter() + const { discussionId } = router.query + + if (!discussionId) return null + + return ( + + query={DISCUSSION_QUERY} + variables={{ id: discussionId as string }} + > + {({ discussion }) => { + return + }} + + ) +} + +function DiscussionDetialPageContent({ + discussion, +}: { + discussion: DiscussionQuery['discussion'] +}) { + const iconSizeClass = + 'h-8 w-8 p-2 hover:bg-gray-200 cursor-pointer rounded-full active:bg-gray-300' + const { userVote, upvote, downvote } = useVoteUpdaters(discussion) + const [responseText, setResponseText] = useState('') + const [postResponse, { loading }] = useMutation(CREATE_RESPONSE_MUTATION, { + variables: { + response: responseText, + discussionId: discussion.id, + }, + refetchQueries: [DISCUSSION_QUERY], + }) + + if (discussion === null) + return ( +
+ + The discussion you are looking for does not exist. + +
+ ) + + return ( +
+ } /> +
+

{discussion.title}

+
+ Asked{' '} + {moment(discussion.createdAt).fromNow()} +
+
+
+
+ +
+
+ +
+ + {discussion?.votesCount} + +
+ +
+
+
+
+ +
+ {discussion?.tags.map(tag => ( + #{tag.name} + ))} +
+
+
+ + {discussion.responces.length > 0 && ( + <> +
+
+ {discussion.responces.length} Responses +
+
+ {discussion.responces.map(response => ( + <> +
+
+ +
+
+ +
+
+ + Responsed{' '} + {moment(response.createdAt).fromNow()} + +
+ + ))} +
+ + )} +
+
+

Your Response

+ { + setResponseText(text) + }} + expanded + /> +
+ +
+
+ ) +} diff --git a/apps/frontend/modules/questions/pages/question-page.tsx b/apps/frontend/modules/discussion/pages/discussion-list-page.tsx similarity index 69% rename from apps/frontend/modules/questions/pages/question-page.tsx rename to apps/frontend/modules/discussion/pages/discussion-list-page.tsx index 9e21c97..6852122 100644 --- a/apps/frontend/modules/questions/pages/question-page.tsx +++ b/apps/frontend/modules/discussion/pages/discussion-list-page.tsx @@ -1,20 +1,16 @@ import React from 'react' -import DiscussionCard from '@components/organisms/question-card/question-card' import Button from '@components/primitives/button' import Input from '@components/primitives/input/input' import Tag from '@components/primitives/tag/tag' import ToggleGroup from '@components/primitives/toggle-group/toggle-group' import { AnnotationIcon, SearchIcon } from '@heroicons/react/outline' import MainDashboardLayout from '@modules/dashboard/components/main-dashboard-layout' -import { useQuery } from '@apollo/client' import { DISCUSSIONS_QUERY } from '../graphql/queries/discussions-query' import { Discussions, DiscussionsVariables } from 'typings/graphql/Discussions' +import Query from '@components/templates/Query' +import DiscussionCard from '../components/discussion-card' -export default function QuestionPage() { - const { data } = useQuery( - DISCUSSIONS_QUERY - ) - +export default function DiscussionListPage() { return (
-
- {data?.discussions?.map(discussion => ( - - ))} -
+ query={DISCUSSIONS_QUERY}> + {({ discussions }) => { + return ( +
+ {discussions?.map(discussion => ( + + ))} +
+ ) + }} +

My Tags

@@ -61,15 +66,6 @@ export default function QuestionPage() { #aelp
-
-

My Tags

-
- #react - #learning - #beginner - #aelp -
-
diff --git a/apps/frontend/modules/environment/components/statement-portion.tsx b/apps/frontend/modules/environment/components/statement-portion.tsx index b2e1a9c..cc44048 100644 --- a/apps/frontend/modules/environment/components/statement-portion.tsx +++ b/apps/frontend/modules/environment/components/statement-portion.tsx @@ -9,11 +9,11 @@ export function StatementPortion() { return (
- + Statment Whiteboard - + diff --git a/apps/frontend/modules/environment/whiteboard.component.tsx b/apps/frontend/modules/environment/whiteboard.component.tsx index 9d34375..f8dfd3e 100644 --- a/apps/frontend/modules/environment/whiteboard.component.tsx +++ b/apps/frontend/modules/environment/whiteboard.component.tsx @@ -1,64 +1,11 @@ -import * as React from 'react' -import { - Renderer, - TLPageState, - TLPage, -} from '@tldraw/core' +import { Tldraw } from '@tldraw/tldraw' export default function WhiteBoard() { - const [pageState, setPageState] = React.useState({ - id: '1', - camera: { point: [0, 0], zoom: 1 }, - selectedIds: [], - }) - - const [page, setPage] = React.useState({ - id: '1', - shapes: {}, - bindings: {}, - name: 'page', - }) - - const theme = React.useMemo( - () => ({ - accent: 'rgb(255, 0, 0)', - brushFill: 'rgba(0,0,0,.05)', - brushStroke: 'rgba(0,0,0,.25)', - selectStroke: 'rgb(66, 133, 244)', - selectFill: 'rgba(65, 132, 244, 0.05)', - background: 'rgb(248, 249, 250)', - foreground: 'rgb(51, 51, 51)', - }), - [] - ) - return ( -
- -
+ ) } diff --git a/apps/frontend/pages/app/discussions/[discussionId].tsx b/apps/frontend/pages/app/discussions/[discussionId].tsx new file mode 100644 index 0000000..e16b641 --- /dev/null +++ b/apps/frontend/pages/app/discussions/[discussionId].tsx @@ -0,0 +1,3 @@ +import DiscussionDetialPage from "@modules/discussion/pages/discussion-detail-page"; + +export default DiscussionDetialPage diff --git a/apps/frontend/pages/app/discussions/index.tsx b/apps/frontend/pages/app/discussions/index.tsx new file mode 100644 index 0000000..a45a1fb --- /dev/null +++ b/apps/frontend/pages/app/discussions/index.tsx @@ -0,0 +1,3 @@ +import DiscussionListPage from '@modules/discussion/pages/discussion-list-page' + +export default DiscussionListPage diff --git a/apps/frontend/pages/app/questions.tsx b/apps/frontend/pages/app/questions.tsx deleted file mode 100644 index c11d252..0000000 --- a/apps/frontend/pages/app/questions.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import QuestionPage from '@modules/questions/pages/question-page' - -export default QuestionPage diff --git a/apps/frontend/typings/graphql/AnnouncementsQuery.ts b/apps/frontend/typings/graphql/AnnouncementsQuery.ts index e2085cc..a5d5a63 100644 --- a/apps/frontend/typings/graphql/AnnouncementsQuery.ts +++ b/apps/frontend/typings/graphql/AnnouncementsQuery.ts @@ -10,7 +10,7 @@ export interface AnnouncementsQuery_classroom_announcements_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface AnnouncementsQuery_classroom_announcements { diff --git a/apps/frontend/typings/graphql/ClassroomDetails.ts b/apps/frontend/typings/graphql/ClassroomDetails.ts index 324b03a..c85c717 100644 --- a/apps/frontend/typings/graphql/ClassroomDetails.ts +++ b/apps/frontend/typings/graphql/ClassroomDetails.ts @@ -12,7 +12,7 @@ import { ClassroomRole } from "./globalTypes"; export interface ClassroomDetails_members_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface ClassroomDetails_members { diff --git a/apps/frontend/typings/graphql/ClassroomMembers.ts b/apps/frontend/typings/graphql/ClassroomMembers.ts index 4177bf0..62f7cd0 100644 --- a/apps/frontend/typings/graphql/ClassroomMembers.ts +++ b/apps/frontend/typings/graphql/ClassroomMembers.ts @@ -12,7 +12,7 @@ import { ClassroomRole } from "./globalTypes"; export interface ClassroomMembers_members_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface ClassroomMembers_members { diff --git a/apps/frontend/typings/graphql/ClassroomQuery.ts b/apps/frontend/typings/graphql/ClassroomQuery.ts index 979728b..c1e4732 100644 --- a/apps/frontend/typings/graphql/ClassroomQuery.ts +++ b/apps/frontend/typings/graphql/ClassroomQuery.ts @@ -12,7 +12,7 @@ import { ClassroomRole } from "./globalTypes"; export interface ClassroomQuery_classroom_members_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface ClassroomQuery_classroom_members { diff --git a/apps/frontend/typings/graphql/CreateAnnouncementMutation.ts b/apps/frontend/typings/graphql/CreateAnnouncementMutation.ts index 5ef8fea..1104257 100644 --- a/apps/frontend/typings/graphql/CreateAnnouncementMutation.ts +++ b/apps/frontend/typings/graphql/CreateAnnouncementMutation.ts @@ -12,7 +12,7 @@ import { ClassroomAnnoucementCreateInput } from "./globalTypes"; export interface CreateAnnouncementMutation_createAnnouncement_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface CreateAnnouncementMutation_createAnnouncement_attachments { diff --git a/apps/frontend/typings/graphql/CreateDiscussionResponse.ts b/apps/frontend/typings/graphql/CreateDiscussionResponse.ts new file mode 100644 index 0000000..759a6b1 --- /dev/null +++ b/apps/frontend/typings/graphql/CreateDiscussionResponse.ts @@ -0,0 +1,22 @@ +/* tslint:disable */ +/* eslint-disable */ +// @generated +// This file was automatically generated and should not be edited. + +// ==================================================== +// GraphQL mutation operation: CreateDiscussionResponse +// ==================================================== + +export interface CreateDiscussionResponse_createDiscussionResponse { + __typename: "Discussion"; + id: string; +} + +export interface CreateDiscussionResponse { + createDiscussionResponse: CreateDiscussionResponse_createDiscussionResponse; +} + +export interface CreateDiscussionResponseVariables { + response: string; + discussionId: string; +} diff --git a/apps/frontend/typings/graphql/DiscussionQuery.ts b/apps/frontend/typings/graphql/DiscussionQuery.ts new file mode 100644 index 0000000..18088cf --- /dev/null +++ b/apps/frontend/typings/graphql/DiscussionQuery.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +// @generated +// This file was automatically generated and should not be edited. + +// ==================================================== +// GraphQL query operation: DiscussionQuery +// ==================================================== + +export interface DiscussionQuery_discussion_tags { + __typename: "DiscussionTag"; + id: string; + name: string; +} + +export interface DiscussionQuery_discussion_user { + __typename: "User"; + id: string; + userName: string; +} + +export interface DiscussionQuery_discussion_votes { + __typename: "DiscussionVote"; + id: string; + isUpvote: boolean; + userId: string; +} + +export interface DiscussionQuery_discussion_responces_user { + __typename: "User"; + id: string; + name: string; +} + +export interface DiscussionQuery_discussion_responces { + __typename: "DiscussionResponce"; + id: string; + responce: string; + createdAt: any; + user: DiscussionQuery_discussion_responces_user; +} + +export interface DiscussionQuery_discussion { + __typename: "Discussion"; + id: string; + title: string; + description: string | null; + createdAt: any; + updatedAt: any; + tags: DiscussionQuery_discussion_tags[] | null; + user: DiscussionQuery_discussion_user; + votesCount: number; + votes: DiscussionQuery_discussion_votes[]; + responces: DiscussionQuery_discussion_responces[]; +} + +export interface DiscussionQuery { + discussion: DiscussionQuery_discussion | null; +} + +export interface DiscussionQueryVariables { + id: string; +} diff --git a/apps/frontend/typings/graphql/Discussions.ts b/apps/frontend/typings/graphql/Discussions.ts index 6d418e3..d5e6a16 100644 --- a/apps/frontend/typings/graphql/Discussions.ts +++ b/apps/frontend/typings/graphql/Discussions.ts @@ -23,6 +23,7 @@ export interface Discussions_discussions_votes { __typename: "DiscussionVote"; id: string; isUpvote: boolean; + userId: string; } export interface Discussions_discussions { diff --git a/apps/frontend/typings/graphql/EnvironmentQuery.ts b/apps/frontend/typings/graphql/EnvironmentQuery.ts index 32fd5f0..1dd3e5b 100644 --- a/apps/frontend/typings/graphql/EnvironmentQuery.ts +++ b/apps/frontend/typings/graphql/EnvironmentQuery.ts @@ -60,7 +60,7 @@ export interface EnvironmentQuery_envirnoment_answer { export interface EnvironmentQuery_envirnoment_permissions_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface EnvironmentQuery_envirnoment_permissions { diff --git a/apps/frontend/typings/graphql/MeQuery.ts b/apps/frontend/typings/graphql/MeQuery.ts index 4f17297..58d457c 100644 --- a/apps/frontend/typings/graphql/MeQuery.ts +++ b/apps/frontend/typings/graphql/MeQuery.ts @@ -11,8 +11,8 @@ export interface MeQuery_me { __typename: "User"; id: string; userName: string; - shortName: string | null; - name: string | null; + shortName: string; + name: string; email: string; } diff --git a/apps/frontend/typings/graphql/MyClassroomsQuery.ts b/apps/frontend/typings/graphql/MyClassroomsQuery.ts index 3e995ae..6006203 100644 --- a/apps/frontend/typings/graphql/MyClassroomsQuery.ts +++ b/apps/frontend/typings/graphql/MyClassroomsQuery.ts @@ -12,7 +12,7 @@ import { ClassroomRole } from "./globalTypes"; export interface MyClassroomsQuery_classrooms_members_user { __typename: "User"; id: string; - name: string | null; + name: string; } export interface MyClassroomsQuery_classrooms_members { diff --git a/apps/frontend/typings/graphql/RegularDicussion.ts b/apps/frontend/typings/graphql/RegularDicussion.ts index b2b9b5a..8b018a0 100644 --- a/apps/frontend/typings/graphql/RegularDicussion.ts +++ b/apps/frontend/typings/graphql/RegularDicussion.ts @@ -23,6 +23,7 @@ export interface RegularDicussion_votes { __typename: "DiscussionVote"; id: string; isUpvote: boolean; + userId: string; } export interface RegularDicussion { diff --git a/apps/frontend/typings/graphql/RegularDiscussion.ts b/apps/frontend/typings/graphql/RegularDiscussion.ts new file mode 100644 index 0000000..a1bec47 --- /dev/null +++ b/apps/frontend/typings/graphql/RegularDiscussion.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +// @generated +// This file was automatically generated and should not be edited. + +// ==================================================== +// GraphQL fragment: RegularDiscussion +// ==================================================== + +export interface RegularDiscussion_tags { + __typename: "DiscussionTag"; + id: string; + name: string; +} + +export interface RegularDiscussion_user { + __typename: "User"; + id: string; + userName: string; +} + +export interface RegularDiscussion_votes { + __typename: "DiscussionVote"; + id: string; + isUpvote: boolean; + userId: string; +} + +export interface RegularDiscussion { + __typename: "Discussion"; + id: string; + title: string; + description: string | null; + createdAt: any; + updatedAt: any; + tags: RegularDiscussion_tags[] | null; + user: RegularDiscussion_user; + votesCount: number; + votes: RegularDiscussion_votes[]; +} diff --git a/docker/api.Dockerfile b/docker/api.Dockerfile index 3e84045..2dcfae0 100644 --- a/docker/api.Dockerfile +++ b/docker/api.Dockerfile @@ -4,6 +4,7 @@ WORKDIR /app COPY ./dist/apps/api/package.json ./ +RUN apk add --no-cache python3 RUN npm i -g pnpm@latest RUN pnpm install RUN pnpm i tslib diff --git a/libs/models/prisma/migrations/20220511124259_remove_unique_for_response/migration.sql b/libs/models/prisma/migrations/20220511124259_remove_unique_for_response/migration.sql new file mode 100644 index 0000000..b25736a --- /dev/null +++ b/libs/models/prisma/migrations/20220511124259_remove_unique_for_response/migration.sql @@ -0,0 +1,21 @@ +/* + Warnings: + + - You are about to drop the column `inputOutputEvaluationResultId` on the `EvaluationResult` table. All the data in the column will be lost. + - You are about to drop the `InputOutputEvaluationResult` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "EvaluationResult" DROP CONSTRAINT "EvaluationResult_inputOutputEvaluationResultId_fkey"; + +-- DropIndex +DROP INDEX "DiscussionResponce_discussionId_userId_key"; + +-- DropIndex +DROP INDEX "EvaluationResult_inputOutputEvaluationResultId_key"; + +-- AlterTable +ALTER TABLE "EvaluationResult" DROP COLUMN "inputOutputEvaluationResultId"; + +-- DropTable +DROP TABLE "InputOutputEvaluationResult"; diff --git a/libs/models/prisma/schema.prisma b/libs/models/prisma/schema.prisma index 676ef88..b0b788b 100644 --- a/libs/models/prisma/schema.prisma +++ b/libs/models/prisma/schema.prisma @@ -499,8 +499,6 @@ model DiscussionResponce { createdAt DateTime @default(now()) discussion Discussion @relation(fields: [discussionId], references: [id]) userId String - - @@unique([discussionId, userId]) } model DiscussionVote { diff --git a/package.json b/package.json index f6e9251..870800c 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@radix-ui/react-toggle-group": "^0.1.1", "@radix-ui/react-toolbar": "^0.1.4", "@tldraw/core": "^1.8.0", + "@tldraw/tldraw": "^1.11.1", "@types/tailwindcss": "^2.2.4", "@uiw/react-markdown-preview": "^3.5.1", "@uiw/react-md-editor": "^3.9.6", @@ -45,6 +46,7 @@ "classnames": "^2.3.1", "core-js": "^3.6.5", "dayzed": "^3.2.2", + "express": "^4.18.1", "google-auth-library": "^7.10.2", "graphql": "^15.0.1", "graphql-anywhere": "^4.2.7", @@ -85,7 +87,7 @@ "rehype-katex": "^6.0.2", "rehype-mermaid": "^0.1.5", "rehype-sanitize": "^5.0.1", - "rxjs": "~6.6.3", + "rxjs": "~6.6.7", "sharp": "^0.30.1", "tslib": "^2.0.0", "unique-username-generator": "^1.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ff28bd..f003b29 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,6 +39,7 @@ specifiers: '@testing-library/react': 12.1.2 '@testing-library/react-hooks': 7.0.2 '@tldraw/core': ^1.8.0 + '@tldraw/tldraw': ^1.11.1 '@types/bcrypt': ^5.0.0 '@types/cache-manager': ^3 '@types/express': ^4.17.13 @@ -79,6 +80,7 @@ specifiers: eslint-plugin-jsx-a11y: 6.4.1 eslint-plugin-react: 7.26.1 eslint-plugin-react-hooks: 4.2.0 + express: ^4.18.1 google-auth-library: ^7.10.2 graphql: ^15.0.1 graphql-anywhere: ^4.2.7 @@ -123,7 +125,7 @@ specifiers: rehype-katex: ^6.0.2 rehype-mermaid: ^0.1.5 rehype-sanitize: ^5.0.1 - rxjs: ~6.6.3 + rxjs: ~6.6.7 sass: 1.43.2 sharp: ^0.30.1 tailwindcss: ^3.0.0 @@ -159,11 +161,12 @@ dependencies: '@radix-ui/react-toggle-group': 0.1.4_react@17.0.2 '@radix-ui/react-toolbar': 0.1.4_react@17.0.2 '@tldraw/core': 1.8.0_4e589064ce40a783661f96d46f38f574 + '@tldraw/tldraw': 1.11.1_735b9cc0acb57a9cbe7affd074749629 '@types/tailwindcss': 2.2.4 '@uiw/react-markdown-preview': 3.5.1_7510db4ec16e957d3f42221e7066b6f6 '@uiw/react-md-editor': 3.9.6_7510db4ec16e957d3f42221e7066b6f6 apollo-server-errors: 3.3.1_graphql@15.8.0 - apollo-server-express: 3.6.1_graphql@15.8.0 + apollo-server-express: 3.6.1_express@4.18.1+graphql@15.8.0 axios: 0.26.0 bcrypt: 5.0.1 cache-manager: 3.6.0 @@ -171,6 +174,7 @@ dependencies: classnames: 2.3.1 core-js: 3.20.2 dayzed: 3.2.2_react@17.0.2 + express: 4.18.1 google-auth-library: 7.11.0 graphql: 15.8.0 graphql-anywhere: 4.2.7_graphql@15.8.0 @@ -249,7 +253,7 @@ devDependencies: '@typescript-eslint/eslint-plugin': 5.12.1_e342fbece61b8be0ef2324ad5011e9c4 '@typescript-eslint/parser': 5.12.1_eslint@8.10.0+typescript@4.3.5 apollo: 2.33.9_typescript@4.3.5 - autoprefixer: 10.4.5_postcss@8.4.12 + autoprefixer: 10.4.7_postcss@8.4.13 babel-jest: 27.2.3 cypress: 8.7.0 dotenv: 14.3.2 @@ -262,11 +266,11 @@ devDependencies: eslint-plugin-react: 7.26.1_eslint@8.10.0 eslint-plugin-react-hooks: 4.2.0_eslint@8.10.0 jest: 27.2.3 - postcss: 8.4.12 + postcss: 8.4.13 prettier: 2.5.1 react-test-renderer: 17.0.2_react@17.0.2 sass: 1.43.2 - tailwindcss: 3.0.13_c01214db2e04c60602bae73116393d69 + tailwindcss: 3.0.13_1479244b7b1ab8346eed707106c1912f ts-jest: 27.0.5_17065f51d4e29ee36c3fe49652512c4b typescript: 4.3.5 @@ -520,7 +524,7 @@ packages: '@babel/compat-data': 7.16.8 '@babel/core': 7.17.5 '@babel/helper-validator-option': 7.16.7 - browserslist: 4.20.2 + browserslist: 4.20.3 semver: 6.3.0 /@babel/helper-create-class-features-plugin/7.17.6: @@ -1977,12 +1981,12 @@ packages: /@codingame/monaco-editor-wrapper/1.14.4: resolution: {integrity: sha512-ypV5Mn+qMVg5Iae17OjVAUUF6vaLETe2fLa5/3c3kBOvPlmU6Lj9BvELxLCnAGfK6LNu1M6I7A4x3KrFIHxs9Q==} dependencies: - monaco-editor: /@codingame/monaco-editor/0.33.6 + monaco-editor: /@codingame/monaco-editor/0.33.7 vscode-oniguruma: 1.6.2 dev: false - /@codingame/monaco-editor/0.33.6: - resolution: {integrity: sha512-deY2oh4RPVWRcM9vTJLAKuVAqn7e7NIl4bQqhdLoRtvRJkdCZUZx9eSrT5m5jr029H93RYTA6Pjtgp9KRJDaNg==} + /@codingame/monaco-editor/0.33.7: + resolution: {integrity: sha512-4nsW5GVTuqPD042sJNWzwJnlHtvxjmvs80GiGZtA+133pvABWRgQn9VP1pqnCbRxuY2DwqIBgYpRkuMoEdjVaQ==} dev: false /@csstools/convert-colors/1.4.0: @@ -2423,7 +2427,7 @@ packages: ansi-escapes: 4.3.2 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-changed-files: 26.6.2 jest-config: 26.6.3 jest-haste-map: 26.6.2 @@ -2567,7 +2571,7 @@ packages: collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 istanbul-lib-coverage: 3.2.0 istanbul-lib-instrument: 4.0.3 istanbul-lib-report: 3.0.0 @@ -2667,7 +2671,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: callsites: 3.1.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 source-map: 0.6.1 dev: false @@ -2712,7 +2716,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/test-result': 26.6.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-haste-map: 26.6.2 jest-runner: 26.6.3 jest-runtime: 26.6.3 @@ -2745,7 +2749,7 @@ packages: chalk: 4.1.2 convert-source-map: 1.8.0 fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-haste-map: 26.6.2 jest-regex-util: 26.0.0 jest-util: 26.6.2 @@ -2889,7 +2893,7 @@ packages: dependencies: '@nestjs/common': 8.2.5_5db060b195080fd78b55ce343ba45ccf '@nestjs/core': 8.2.5_42fa41eccb07bdebd2ea25217bc96bc5 - apollo-server-express: 3.6.1_graphql@15.8.0 + apollo-server-express: 3.6.1_express@4.18.1+graphql@15.8.0 iterall: 1.3.0 lodash.omit: 4.5.0 dev: false @@ -3552,10 +3556,10 @@ packages: eslint-config-prettier: 8.4.0_eslint@8.10.0 tsconfig-paths: 3.12.0 optionalDependencies: - '@swc/core-linux-arm64-gnu': 1.2.160 - '@swc/core-linux-arm64-musl': 1.2.160 - '@swc/core-linux-x64-gnu': 1.2.160 - '@swc/core-linux-x64-musl': 1.2.160 + '@swc/core-linux-arm64-gnu': 1.2.181 + '@swc/core-linux-arm64-musl': 1.2.181 + '@swc/core-linux-x64-gnu': 1.2.181 + '@swc/core-linux-x64-musl': 1.2.181 transitivePeerDependencies: - bufferutil - canvas @@ -4276,7 +4280,7 @@ packages: '@rollup/plugin-image': 2.1.1_rollup@2.63.0 '@rollup/plugin-json': 4.1.0_rollup@2.63.0 '@rollup/plugin-node-resolve': 13.1.3_rollup@2.63.0 - autoprefixer: 10.4.5_postcss@8.3.0 + autoprefixer: 10.4.7_postcss@8.3.0 babel-loader: 8.2.3_9f2c711ad75ad18a056127c3b4aa887b babel-plugin-const-enum: 1.2.0_@babel+core@7.17.5 babel-plugin-macros: 2.8.0 @@ -4390,7 +4394,7 @@ packages: '@rollup/plugin-image': 2.1.1_rollup@2.63.0 '@rollup/plugin-json': 4.1.0_rollup@2.63.0 '@rollup/plugin-node-resolve': 13.1.3_rollup@2.63.0 - autoprefixer: 10.4.5_postcss@8.4.12 + autoprefixer: 10.4.7_postcss@8.4.13 babel-loader: 8.2.3_9f2c711ad75ad18a056127c3b4aa887b babel-plugin-const-enum: 1.2.0_@babel+core@7.17.5 babel-plugin-macros: 2.8.0 @@ -4419,15 +4423,15 @@ packages: mini-css-extract-plugin: 2.4.7_webpack@5.66.0 parse5: 4.0.0 parse5-html-rewriting-stream: 6.0.1 - postcss: 8.4.12 - postcss-import: 14.0.2_postcss@8.4.12 - postcss-loader: 6.2.1_postcss@8.4.12+webpack@5.66.0 + postcss: 8.4.13 + postcss-import: 14.0.2_postcss@8.4.13 + postcss-loader: 6.2.1_postcss@8.4.13+webpack@5.66.0 raw-loader: 4.0.2_webpack@5.66.0 react-refresh: 0.10.0 rollup: 2.63.0 rollup-plugin-copy: 3.4.0 rollup-plugin-peer-deps-external: 2.2.4_rollup@2.63.0 - rollup-plugin-postcss: 4.0.2_postcss@8.4.12+ts-node@9.1.1 + rollup-plugin-postcss: 4.0.2_postcss@8.4.13+ts-node@9.1.1 rollup-plugin-typescript2: 0.31.1_7b9b620b409e3ca311b71ee2bc9ce86f rxjs: 6.6.7 rxjs-for-await: 0.0.2_rxjs@6.6.7 @@ -5153,12 +5157,48 @@ packages: '@babel/runtime': 7.17.2 dev: false + /@radix-ui/popper/0.1.0: + resolution: {integrity: sha512-uzYeElL3w7SeNMuQpXiFlBhTT+JyaNMCwDfjKkrzugEcYrf5n52PHqncNdQPUtR42hJh8V9FsqyEDbDxkeNjJQ==} + dependencies: + '@babel/runtime': 7.17.2 + csstype: 3.0.10 + dev: false + /@radix-ui/primitive/0.1.0: resolution: {integrity: sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==} dependencies: '@babel/runtime': 7.17.2 dev: false + /@radix-ui/react-alert-dialog/0.1.7_7510db4ec16e957d3f42221e7066b6f6: + resolution: {integrity: sha512-b0+TWr0VRWMWM7QcXvvcwbMGNzpTmvPBSBpYcoaD+QnVo3jdJt0k0bghwbYBuywzdyuRNUFf33xwah/57w09QA==} + peerDependencies: + react: '>=16.8' + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-dialog': 0.1.7_7510db4ec16e957d3f42221e7066b6f6 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-slot': 0.1.2_react@17.0.2 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@radix-ui/react-arrow/0.1.4_react@17.0.2: + resolution: {integrity: sha512-BB6XzAb7Ml7+wwpFdYVtZpK1BlMgqyafSQNGzhIpSZ4uXvXOHPlR5GP8M449JkeQzgQjv9Mp1AsJxFC0KuOtuA==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-checkbox/0.1.4_react@17.0.2: resolution: {integrity: sha512-UtiV0y4CNmcAdCqRaGGPxeET/asO44rfKxtBbMIxAD4BGPfSIe4+kkF0q624S5c7q07HXO0vhOYlSObR3Fj2bg==} peerDependencies: @@ -5190,6 +5230,19 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-collection/0.1.4_react@17.0.2: + resolution: {integrity: sha512-3muGI15IdgaDFjOcO7xX8a35HQRBRF6LH9pS6UCeZeRmbslkVeHyJRQr2rzICBUoX7zgIA0kXyMDbpQnJGyJTA==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-slot': 0.1.2_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-compose-refs/0.1.0_react@17.0.2: resolution: {integrity: sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==} peerDependencies: @@ -5199,6 +5252,24 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-context-menu/0.1.6_7510db4ec16e957d3f42221e7066b6f6: + resolution: {integrity: sha512-0qa6ABaeqD+WYI+8iT0jH0QLLcV8Kv0xI+mZL4FFnG4ec9H0v+yngb5cfBBfs9e/KM8mDzFFpaeegqsQlLNqyQ==} + peerDependencies: + react: ^16.8 || ^17.0 + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-menu': 0.1.6_7510db4ec16e957d3f42221e7066b6f6 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-callback-ref': 0.1.0_react@17.0.2 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + transitivePeerDependencies: + - '@types/react' + dev: false + /@radix-ui/react-context/0.1.1_react@17.0.2: resolution: {integrity: sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==} peerDependencies: @@ -5208,6 +5279,97 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-dialog/0.1.7_7510db4ec16e957d3f42221e7066b6f6: + resolution: {integrity: sha512-jXt8srGhHBRvEr9jhEAiwwJzWCWZoGRJ030aC9ja/gkRJbZdy0iD3FwXf+Ff4RtsZyLUMHW7VUwFOlz3Ixe1Vw==} + peerDependencies: + react: ^16.8 || ^17.0 + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-dismissable-layer': 0.1.5_react@17.0.2 + '@radix-ui/react-focus-guards': 0.1.0_react@17.0.2 + '@radix-ui/react-focus-scope': 0.1.4_react@17.0.2 + '@radix-ui/react-id': 0.1.5_react@17.0.2 + '@radix-ui/react-portal': 0.1.4_react-dom@17.0.2+react@17.0.2 + '@radix-ui/react-presence': 0.1.2_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-slot': 0.1.2_react@17.0.2 + '@radix-ui/react-use-controllable-state': 0.1.0_react@17.0.2 + aria-hidden: 1.1.3 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + react-remove-scroll: 2.5.3_0d9ae6029f9b6856f7d6fb45bd27ecc7 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@radix-ui/react-dismissable-layer/0.1.5_react@17.0.2: + resolution: {integrity: sha512-J+fYWijkX4M4QKwf9dtu1oC0U6e6CEl8WhBp3Ad23yz2Hia0XCo6Pk/mp5CAFy4QBtQedTSkhW05AdtSOEoajQ==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-body-pointer-events': 0.1.1_react@17.0.2 + '@radix-ui/react-use-callback-ref': 0.1.0_react@17.0.2 + '@radix-ui/react-use-escape-keydown': 0.1.0_react@17.0.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-dropdown-menu/0.1.6_7510db4ec16e957d3f42221e7066b6f6: + resolution: {integrity: sha512-RZhtzjWwJ4ZBN7D8ek4Zn+ilHzYuYta9yIxFnbC0pfqMnSi67IQNONo1tuuNqtFh9SRHacPKc65zo+kBBlxtdg==} + peerDependencies: + react: ^16.8 || ^17.0 + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-id': 0.1.5_react@17.0.2 + '@radix-ui/react-menu': 0.1.6_7510db4ec16e957d3f42221e7066b6f6 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-controllable-state': 0.1.0_react@17.0.2 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@radix-ui/react-focus-guards/0.1.0_react@17.0.2: + resolution: {integrity: sha512-kRx/swAjEfBpQ3ns7J3H4uxpXuWCqN7MpALiSDOXiyo2vkWv0L9sxvbpZeTulINuE3CGMzicVMuNc/VWXjFKOg==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-focus-scope/0.1.4_react@17.0.2: + resolution: {integrity: sha512-fbA4ES3H4Wkxp+OeLhvN6SwL7mXNn/aBtUf7DRYxY9+Akrf7dRxl2ck4lgcpPsSg3zSDsEwLcY+h5cmj5yvlug==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-callback-ref': 0.1.0_react@17.0.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-icons/1.1.1_react@17.0.2: + resolution: {integrity: sha512-xc3wQC59rsFylVbSusQCrrM+6695ppF730Q6yqzhRdqDcRNWIm2R6ngpzBoSOQMcwnq4p805F+Gr7xo4fmtN1A==} + peerDependencies: + react: ^16.x || ^17.x || ^18.x + dependencies: + react: 17.0.2 + dev: false + /@radix-ui/react-id/0.1.4_react@17.0.2: resolution: {integrity: sha512-/hq5m/D0ZfJWOS7TLF+G0l08KDRs87LBE46JkAvgKkg1fW4jkucx9At9D9vauIPSbdNmww5kXEp566hMlA8eXA==} peerDependencies: @@ -5218,6 +5380,16 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-id/0.1.5_react@17.0.2: + resolution: {integrity: sha512-IPc4H/63bes0IZ1GJJozSEkSWcDyhNGtKFWUpJ+XtaLyQ1X3x7Mf6fWwWhDcpqlYEP+5WtAvfqcyEsyjP+ZhBQ==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-use-layout-effect': 0.1.0_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-label/0.1.4_react@17.0.2: resolution: {integrity: sha512-I59IMdUhHixk6cG4D00UN+oFxTpur9cJQSOl+4EfSTJZs+x4PqDpM7p402/gb9sXJqylsUkDMHDdaPzLwPNf7g==} peerDependencies: @@ -5231,6 +5403,79 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-label/0.1.5_react@17.0.2: + resolution: {integrity: sha512-Au9+n4/DhvjR0IHhvZ1LPdx/OW+3CGDie30ZyCkbSHIuLp4/CV4oPPGBwJ1vY99Jog3zyQhsGww9MXj8O9Aj/A==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-id': 0.1.5_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-menu/0.1.6_7510db4ec16e957d3f42221e7066b6f6: + resolution: {integrity: sha512-ho3+bhpr3oAFkOBJ8VkUb1BcGoiZBB3OmcWPqa6i5RTUKrzNX/d6rauochu2xDlWjiRtpVuiAcsTVOeIC4FbYQ==} + peerDependencies: + react: ^16.8 || ^17.0 + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-collection': 0.1.4_react@17.0.2 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-dismissable-layer': 0.1.5_react@17.0.2 + '@radix-ui/react-focus-guards': 0.1.0_react@17.0.2 + '@radix-ui/react-focus-scope': 0.1.4_react@17.0.2 + '@radix-ui/react-id': 0.1.5_react@17.0.2 + '@radix-ui/react-popper': 0.1.4_react@17.0.2 + '@radix-ui/react-portal': 0.1.4_react-dom@17.0.2+react@17.0.2 + '@radix-ui/react-presence': 0.1.2_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-roving-focus': 0.1.5_react@17.0.2 + '@radix-ui/react-use-callback-ref': 0.1.0_react@17.0.2 + '@radix-ui/react-use-direction': 0.1.0_react@17.0.2 + aria-hidden: 1.1.3 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + react-remove-scroll: 2.5.3_0d9ae6029f9b6856f7d6fb45bd27ecc7 + transitivePeerDependencies: + - '@types/react' + dev: false + + /@radix-ui/react-popper/0.1.4_react@17.0.2: + resolution: {integrity: sha512-18gDYof97t8UQa7zwklG1Dr8jIdj3u+rVOQLzPi9f5i1YQak/pVGkaqw8aY+iDUknKKuZniTk/7jbAJUYlKyOw==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/popper': 0.1.0 + '@radix-ui/react-arrow': 0.1.4_react@17.0.2 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-rect': 0.1.1_react@17.0.2 + '@radix-ui/react-use-size': 0.1.1_react@17.0.2 + '@radix-ui/rect': 0.1.1 + react: 17.0.2 + dev: false + + /@radix-ui/react-portal/0.1.4_react-dom@17.0.2+react@17.0.2: + resolution: {integrity: sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw==} + peerDependencies: + react: ^16.8 || ^17.0 + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-layout-effect': 0.1.0_react@17.0.2 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + dev: false + /@radix-ui/react-presence/0.1.1_react@17.0.2: resolution: {integrity: sha512-LsL+NcWDpFUAYCmXeH02o4pgqcSLpwxP84UIjCtpIKrsPe2vLuhcp79KC/jZJeXz+of2lUpMAxpM+eCpxFZtlg==} peerDependencies: @@ -5273,6 +5518,25 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-radio-group/0.1.5_react@17.0.2: + resolution: {integrity: sha512-ybgHsmh/V2crKvK6xZ56dpPul7b+vyxcq7obWqHbr5W6Ca11wdm0E7lS0i/Y6pgfIKYOWIARmZYDpRMEeRCPOw==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-label': 0.1.5_react@17.0.2 + '@radix-ui/react-presence': 0.1.2_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-roving-focus': 0.1.5_react@17.0.2 + '@radix-ui/react-use-controllable-state': 0.1.0_react@17.0.2 + '@radix-ui/react-use-previous': 0.1.1_react@17.0.2 + '@radix-ui/react-use-size': 0.1.1_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-roving-focus/0.1.4_react@17.0.2: resolution: {integrity: sha512-zaixcAxRcWQliUSx6l9rdfJhvcbuY7Tb4Emb7H4DWCTx1kenXH8+n9mwa8gaSIJLLSSSMzBpQATlpFw9xv/bJQ==} peerDependencies: @@ -5290,6 +5554,23 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-roving-focus/0.1.5_react@17.0.2: + resolution: {integrity: sha512-ClwKPS5JZE+PaHCoW7eu1onvE61pDv4kO8W4t5Ra3qMFQiTJLZMdpBQUhksN//DaVygoLirz4Samdr5Y1x1FSA==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-collection': 0.1.4_react@17.0.2 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-id': 0.1.5_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-use-callback-ref': 0.1.0_react@17.0.2 + '@radix-ui/react-use-controllable-state': 0.1.0_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-scroll-area/0.1.4_react@17.0.2: resolution: {integrity: sha512-QHxRsjy+hsHwQYJ9cCNgSJ5+6ioZu1KhwD1UOXoHNciuFGMX08v+uJPKXIz+ySv03Rx6cOz6f/Fk5aPHRMFi/A==} peerDependencies: @@ -5386,6 +5667,41 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-tooltip/0.1.7_react-dom@17.0.2+react@17.0.2: + resolution: {integrity: sha512-eiBUsVOHenZ0JR16tl970bB0DafJBz6mFgSGfIGIVpflFj0LIsIDiLMsYyvYdx1KwwsIUDTEZtxcPm/sWjPzqA==} + peerDependencies: + react: ^16.8 || ^17.0 + react-dom: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/primitive': 0.1.0 + '@radix-ui/react-compose-refs': 0.1.0_react@17.0.2 + '@radix-ui/react-context': 0.1.1_react@17.0.2 + '@radix-ui/react-id': 0.1.5_react@17.0.2 + '@radix-ui/react-popper': 0.1.4_react@17.0.2 + '@radix-ui/react-portal': 0.1.4_react-dom@17.0.2+react@17.0.2 + '@radix-ui/react-presence': 0.1.2_react@17.0.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 + '@radix-ui/react-slot': 0.1.2_react@17.0.2 + '@radix-ui/react-use-controllable-state': 0.1.0_react@17.0.2 + '@radix-ui/react-use-escape-keydown': 0.1.0_react@17.0.2 + '@radix-ui/react-use-previous': 0.1.1_react@17.0.2 + '@radix-ui/react-use-rect': 0.1.1_react@17.0.2 + '@radix-ui/react-visually-hidden': 0.1.4_react@17.0.2 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + dev: false + + /@radix-ui/react-use-body-pointer-events/0.1.1_react@17.0.2: + resolution: {integrity: sha512-R8leV2AWmJokTmERM8cMXFHWSiv/fzOLhG/JLmRBhLTAzOj37EQizssq4oW0Z29VcZy2tODMi9Pk/htxwb+xpA==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-use-layout-effect': 0.1.0_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-use-callback-ref/0.1.0_react@17.0.2: resolution: {integrity: sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==} peerDependencies: @@ -5414,6 +5730,16 @@ packages: react: 17.0.2 dev: false + /@radix-ui/react-use-escape-keydown/0.1.0_react@17.0.2: + resolution: {integrity: sha512-tDLZbTGFmvXaazUXXv8kYbiCcbAE8yKgng9s95d8fCO+Eundv0Jngbn/hKPhDDs4jj9ChwRX5cDDnlaN+ugYYQ==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/react-use-callback-ref': 0.1.0_react@17.0.2 + react: 17.0.2 + dev: false + /@radix-ui/react-use-layout-effect/0.1.0_react@17.0.2: resolution: {integrity: sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==} peerDependencies: @@ -5423,8 +5749,45 @@ packages: react: 17.0.2 dev: false - /@radix-ui/react-use-previous/0.1.0_react@17.0.2: - resolution: {integrity: sha512-0fxNc33rYnCzDMPSiSnfS8YklnxQo8WqbAQXPAgIaaA1jRu2qFB916PL4qCIW+avcAAqFD38vWhqDqcVmBharA==} + /@radix-ui/react-use-previous/0.1.0_react@17.0.2: + resolution: {integrity: sha512-0fxNc33rYnCzDMPSiSnfS8YklnxQo8WqbAQXPAgIaaA1jRu2qFB916PL4qCIW+avcAAqFD38vWhqDqcVmBharA==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-use-previous/0.1.1_react@17.0.2: + resolution: {integrity: sha512-O/ZgrDBr11dR8rhO59ED8s5zIXBRFi8MiS+CmFGfi7MJYdLbfqVOmQU90Ghf87aifEgWe6380LA69KBneaShAg==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-use-rect/0.1.1_react@17.0.2: + resolution: {integrity: sha512-kHNNXAsP3/PeszEmM/nxBBS9Jbo93sO+xuMTcRfwzXsmxT5gDXQzAiKbZQ0EecCPtJIzqvr7dlaQi/aP1PKYqQ==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + '@radix-ui/rect': 0.1.1 + react: 17.0.2 + dev: false + + /@radix-ui/react-use-size/0.1.0_react@17.0.2: + resolution: {integrity: sha512-TcZAsR+BYI46w/RbaSFCRACl+Jh6mDqhu6GS2r0iuJpIVrj8atff7qtTjmMmfGtEDNEjhl7DxN3pr1nTS/oruQ==} + peerDependencies: + react: ^16.8 || ^17.0 + dependencies: + '@babel/runtime': 7.17.2 + react: 17.0.2 + dev: false + + /@radix-ui/react-use-size/0.1.1_react@17.0.2: + resolution: {integrity: sha512-pTgWM5qKBu6C7kfKxrKPoBI2zZYZmp2cSXzpUiGM3qEBQlMLtYhaY2JXdXUCxz+XmD1YEjc8oRwvyfsD4AG4WA==} peerDependencies: react: ^16.8 || ^17.0 dependencies: @@ -5432,15 +5795,22 @@ packages: react: 17.0.2 dev: false - /@radix-ui/react-use-size/0.1.0_react@17.0.2: - resolution: {integrity: sha512-TcZAsR+BYI46w/RbaSFCRACl+Jh6mDqhu6GS2r0iuJpIVrj8atff7qtTjmMmfGtEDNEjhl7DxN3pr1nTS/oruQ==} + /@radix-ui/react-visually-hidden/0.1.4_react@17.0.2: + resolution: {integrity: sha512-K/q6AEEzqeeEq/T0NPChvBqnwlp8Tl4NnQdrI/y8IOY7BRR+Ug0PEsVk6g48HJ7cA1//COugdxXXVVK/m0X1mA==} peerDependencies: react: ^16.8 || ^17.0 dependencies: '@babel/runtime': 7.17.2 + '@radix-ui/react-primitive': 0.1.4_react@17.0.2 react: 17.0.2 dev: false + /@radix-ui/rect/0.1.1: + resolution: {integrity: sha512-g3hnE/UcOg7REdewduRPAK88EPuLZtaq7sA9ouu8S+YEtnyFRI16jgv6GZYe3VMoQLL1T171ebmEPtDjyxWLzw==} + dependencies: + '@babel/runtime': 7.17.2 + dev: false + /@rollup/plugin-babel/5.3.0_@babel+core@7.17.5+rollup@2.63.0: resolution: {integrity: sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==} engines: {node: '>= 10.0.0'} @@ -5612,6 +5982,14 @@ packages: dependencies: '@sinonjs/commons': 1.8.3 + /@stitches/react/1.2.8_react@17.0.2: + resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==} + peerDependencies: + react: '>= 16.3.0' + dependencies: + react: 17.0.2 + dev: false + /@storybook/node-logger/6.1.20: resolution: {integrity: sha512-Z6337htb1mxIccvCx2Ai0v9LPDlBlmXzeWhap3q2Y6hg8g1p4+0W5Y6bG9RmXqJoXLaT1trO8uAXgGO7AN92yg==} dependencies: @@ -5971,8 +6349,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu/1.2.160: - resolution: {integrity: sha512-sB18roiv8m/zsY6tXLSrbUls0eKkSkxOEF0ennXVEtz97rMJ+WWnkOc8gI+rUpj3MHbVAIxyDNyyZU4cH5g1jQ==} + /@swc/core-linux-arm64-gnu/1.2.181: + resolution: {integrity: sha512-+7fzDwsvcbhPafKdminMQrU3Ej1NHltXy7k+zgjj8BDPZbfi8hRzQcONeBV7sfl4xvw3d3roNHu2UMmKzLNs0w==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -5990,8 +6368,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl/1.2.160: - resolution: {integrity: sha512-PJ7Ukb+BRR3pGYcUag8qRWOB11eByc5YLx/xAMSc3bRmaYW/oj6s8k+1DYiR//BAuNQdf14MpMFzDuWiDEUh7A==} + /@swc/core-linux-arm64-musl/1.2.181: + resolution: {integrity: sha512-U9k8pv2oCxYYfu9DdOO1ZZgqbmF97NgJzSaIu3PsTedF4RcGIiPcuGOFqrUECsGUW2i6uKejE8onbXPj9UmaZQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -6009,8 +6387,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu/1.2.160: - resolution: {integrity: sha512-wVh8Q86xz3t0y5zoUryWQ64bFG/YxdcykBgaog8lU9xkFb1KSqVRE9ia7aKA12/ZtAfpJZLRBleZxBAcaCg9FQ==} + /@swc/core-linux-x64-gnu/1.2.181: + resolution: {integrity: sha512-9AQXrvZ9BFQJeqYMpKQZRf9h/DEwhfHIR39krehO+g594i+mkkp+UNTToez6Ifn+NBYl58xyEcQGwsYIqtdYVw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -6028,8 +6406,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl/1.2.160: - resolution: {integrity: sha512-AnWdarl9WWuDdbc2AX1w76W1jaekSCokxRrWdSGUgQytaZRtybKZEgThvJCQDrSlYQD4XDOhhVRCurTvy4JsfQ==} + /@swc/core-linux-x64-musl/1.2.181: + resolution: {integrity: sha512-Pq/aBMj3F4CR4tXq85t7IW3piu76a677nIoo6QtBkAjrQ5QuJqpaez/5aewipG+kIXpiu/DNFIN+cISa1QeC8A==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -6212,12 +6590,61 @@ packages: - react-native dev: false + /@tldraw/core/1.9.1_4e589064ce40a783661f96d46f38f574: + resolution: {integrity: sha512-gyQFYwuoizDu0K4a8s/M1i3n8ouGF4Uc6zT7+jmJC7ITODBLPY5/xlPe4p58Kyc6Yicj9UVlzhm370k+al3MAQ==} + peerDependencies: + react: '>=16.8' + react-dom: ^16.8 || ^17.0 + dependencies: + '@tldraw/intersect': 1.7.1 + '@tldraw/vec': 1.7.0 + '@use-gesture/react': 10.2.7_react@17.0.2 + mobx-react-lite: 3.3.0_4e589064ce40a783661f96d46f38f574 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + resize-observer-polyfill: 1.5.1 + transitivePeerDependencies: + - mobx + - react-native + dev: false + /@tldraw/intersect/1.7.1: resolution: {integrity: sha512-azJvJv4selqiQemipQE9Z1uax0j5XzIoHXQuRL4nm4EFiuS3n6jTTyWr9aQN3f7GgQbhcseq/ynytxfo9df02w==} dependencies: '@tldraw/vec': 1.7.0 dev: false + /@tldraw/tldraw/1.11.1_735b9cc0acb57a9cbe7affd074749629: + resolution: {integrity: sha512-mWpS/HsECMBBf/IR5x1BKevr5XWDF2FL4n/efqXpYqwb8k0aJBqT8b5/1KP8dnfBlbUNhiPxTb1OmfhRh2VrrQ==} + peerDependencies: + react: ^17.0 + react-dom: ^17.0 + dependencies: + '@radix-ui/react-alert-dialog': 0.1.7_7510db4ec16e957d3f42221e7066b6f6 + '@radix-ui/react-checkbox': 0.1.4_react@17.0.2 + '@radix-ui/react-context-menu': 0.1.6_7510db4ec16e957d3f42221e7066b6f6 + '@radix-ui/react-dropdown-menu': 0.1.6_7510db4ec16e957d3f42221e7066b6f6 + '@radix-ui/react-icons': 1.1.1_react@17.0.2 + '@radix-ui/react-radio-group': 0.1.5_react@17.0.2 + '@radix-ui/react-tooltip': 0.1.7_react-dom@17.0.2+react@17.0.2 + '@stitches/react': 1.2.8_react@17.0.2 + '@tldraw/core': 1.9.1_4e589064ce40a783661f96d46f38f574 + '@tldraw/intersect': 1.7.1 + '@tldraw/vec': 1.7.0 + idb-keyval: 6.1.0 + perfect-freehand: 1.0.16 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + react-hotkey-hook: 1.0.2 + react-hotkeys-hook: 3.4.4_react-dom@17.0.2+react@17.0.2 + tslib: 2.3.1 + zustand: 3.7.2_react@17.0.2 + transitivePeerDependencies: + - '@types/react' + - mobx + - react-native + dev: false + /@tldraw/vec/1.7.0: resolution: {integrity: sha512-uidcNCtm6kL6M4GcXvPb0+WxVeJ3H1csYqsPwDNhVwIrF6eCUKNCoh+70G0kUk2S0EIMmufp3COhagIS8Xnqig==} dev: false @@ -6756,8 +7183,8 @@ packages: dependencies: '@types/yargs-parser': 20.2.1 - /@types/yauzl/2.9.2: - resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==} + /@types/yauzl/2.10.0: + resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: '@types/node': 17.0.8 @@ -7483,6 +7910,14 @@ packages: dependencies: mime-types: 2.1.34 negotiator: 0.6.2 + dev: false + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.34 + negotiator: 0.6.3 /acorn-globals/6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} @@ -8008,7 +8443,7 @@ packages: graphql: 15.8.0 dev: false - /apollo-server-express/3.6.1_graphql@15.8.0: + /apollo-server-express/3.6.1_express@4.18.1+graphql@15.8.0: resolution: {integrity: sha512-29imWvRPn5GsQq02Akt0+jejpWzpOIZfUmgoiFm4YB7somvhDNw15Pu7fv4sISK8ehNIDF68IpLd2cpY8sCkYQ==} engines: {node: '>=12.0'} peerDependencies: @@ -8025,6 +8460,7 @@ packages: apollo-server-types: 3.5.0_graphql@15.8.0 body-parser: 1.19.1 cors: 2.8.5 + express: 4.18.1 graphql: 15.8.0 parseurl: 1.3.3 dev: false @@ -8155,6 +8591,13 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /aria-hidden/1.1.3: + resolution: {integrity: sha512-RhVWFtKH5BiGMycI72q2RAFMLQi8JP9bLuQXgR5a8Znp7P5KOIADSJeyfI8PCVxLEp067B2HbP5JIiI/PXIZeA==} + engines: {node: '>=8.5.0'} + dependencies: + tslib: 1.14.1 + dev: false + /aria-query/4.2.2: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} @@ -8346,15 +8789,15 @@ packages: tslib: 1.14.1 dev: false - /autoprefixer/10.4.5_postcss@8.3.0: - resolution: {integrity: sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==} + /autoprefixer/10.4.7_postcss@8.3.0: + resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.20.2 - caniuse-lite: 1.0.30001332 + browserslist: 4.20.3 + caniuse-lite: 1.0.30001339 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -8362,27 +8805,27 @@ packages: postcss-value-parser: 4.2.0 dev: true - /autoprefixer/10.4.5_postcss@8.4.12: - resolution: {integrity: sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==} + /autoprefixer/10.4.7_postcss@8.4.13: + resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.20.2 - caniuse-lite: 1.0.30001332 + browserslist: 4.20.3 + caniuse-lite: 1.0.30001339 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /autoprefixer/9.8.8: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: - browserslist: 4.20.2 - caniuse-lite: 1.0.30001332 + browserslist: 4.20.3 + caniuse-lite: 1.0.30001339 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -8492,7 +8935,7 @@ packages: babel-plugin-istanbul: 6.1.1 babel-preset-jest: 26.6.2_@babel+core@7.12.3 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 slash: 3.0.0 transitivePeerDependencies: - supports-color @@ -8511,7 +8954,7 @@ packages: babel-plugin-istanbul: 6.1.1 babel-preset-jest: 26.6.2_@babel+core@7.17.5 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 slash: 3.0.0 transitivePeerDependencies: - supports-color @@ -9019,6 +9462,24 @@ packages: qs: 6.9.6 raw-body: 2.4.2 type-is: 1.6.18 + dev: false + + /body-parser/1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.4 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 /bonjour/3.5.0: resolution: {integrity: sha1-jokKGD2O6aI5OzhExpGkK897yfU=} @@ -9159,8 +9620,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001332 - electron-to-chromium: 1.4.90 + caniuse-lite: 1.0.30001339 + electron-to-chromium: 1.4.137 escalade: 3.1.1 node-releases: 1.1.77 dev: false @@ -9170,21 +9631,21 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001312 + caniuse-lite: 1.0.30001339 electron-to-chromium: 1.4.75 escalade: 3.1.1 node-releases: 2.0.2 picocolors: 1.0.0 - /browserslist/4.20.2: - resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} + /browserslist/4.20.3: + resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001332 - electron-to-chromium: 1.4.90 + caniuse-lite: 1.0.30001339 + electron-to-chromium: 1.4.137 escalade: 3.1.1 - node-releases: 2.0.2 + node-releases: 2.0.4 picocolors: 1.0.0 /bs-logger/0.2.6: @@ -9276,6 +9737,10 @@ packages: resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} engines: {node: '>= 0.8'} + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + /cacache/12.0.4: resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} dependencies: @@ -9283,7 +9748,7 @@ packages: chownr: 1.1.4 figgy-pudding: 3.5.2 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 infer-owner: 1.0.4 lru-cache: 5.1.1 mississippi: 3.0.0 @@ -9414,16 +9879,16 @@ packages: /caniuse-api/3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.20.2 - caniuse-lite: 1.0.30001332 + browserslist: 4.19.3 + caniuse-lite: 1.0.30001339 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 /caniuse-lite/1.0.30001312: resolution: {integrity: sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==} - /caniuse-lite/1.0.30001332: - resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==} + /caniuse-lite/1.0.30001339: + resolution: {integrity: sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ==} /capital-case/1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -10046,7 +10511,7 @@ packages: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} engines: {node: '>= 0.8.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 bytes: 3.0.0 compressible: 2.0.18 debug: 2.6.9 @@ -10077,7 +10542,7 @@ packages: engines: {node: '>=4'} dependencies: dot-prop: 4.2.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 make-dir: 1.3.0 unique-string: 1.0.0 write-file-atomic: 2.4.3 @@ -10089,7 +10554,7 @@ packages: engines: {node: '>=8'} dependencies: dot-prop: 5.3.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 make-dir: 3.1.0 unique-string: 2.0.0 write-file-atomic: 3.0.3 @@ -10166,8 +10631,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /cookie/0.4.1: - resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} + /cookie/0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} /copy-concurrently/1.0.5: @@ -10209,7 +10674,7 @@ packages: /core-js-compat/3.20.2: resolution: {integrity: sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==} dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 semver: 7.0.0 /core-js-pure/3.20.2: @@ -10404,13 +10869,13 @@ packages: timsort: 0.3.0 dev: true - /css-declaration-sorter/6.1.4_postcss@8.4.12: + /css-declaration-sorter/6.1.4_postcss@8.4.13: resolution: {integrity: sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==} engines: {node: '>= 10'} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 timsort: 0.3.0 /css-has-pseudo/0.10.0: @@ -10456,12 +10921,12 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.12 - postcss: 8.4.12 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.12 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.12 - postcss-modules-scope: 3.0.0_postcss@8.4.12 - postcss-modules-values: 4.0.0_postcss@8.4.12 + icss-utils: 5.1.0_postcss@8.4.13 + postcss: 8.4.13 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.13 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.13 + postcss-modules-scope: 3.0.0_postcss@8.4.13 + postcss-modules-values: 4.0.0_postcss@8.4.13 postcss-value-parser: 4.2.0 semver: 7.3.5 webpack: 5.66.0 @@ -10482,9 +10947,9 @@ packages: esbuild: optional: true dependencies: - cssnano: 5.0.15_postcss@8.4.12 + cssnano: 5.0.15_postcss@8.4.13 jest-worker: 27.5.1 - postcss: 8.4.12 + postcss: 8.4.13 schema-utils: 4.0.0 serialize-javascript: 6.0.0 source-map: 0.6.1 @@ -10661,42 +11126,42 @@ packages: postcss-unique-selectors: 5.0.2_postcss@8.3.0 dev: true - /cssnano-preset-default/5.1.10_postcss@8.4.12: + /cssnano-preset-default/5.1.10_postcss@8.4.13: resolution: {integrity: sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.1.4_postcss@8.4.12 - cssnano-utils: 3.0.0_postcss@8.4.12 - postcss: 8.4.12 - postcss-calc: 8.2.2_postcss@8.4.12 - postcss-colormin: 5.2.3_postcss@8.4.12 - postcss-convert-values: 5.0.2_postcss@8.4.12 - postcss-discard-comments: 5.0.1_postcss@8.4.12 - postcss-discard-duplicates: 5.0.1_postcss@8.4.12 - postcss-discard-empty: 5.0.1_postcss@8.4.12 - postcss-discard-overridden: 5.0.2_postcss@8.4.12 - postcss-merge-longhand: 5.0.4_postcss@8.4.12 - postcss-merge-rules: 5.0.4_postcss@8.4.12 - postcss-minify-font-values: 5.0.2_postcss@8.4.12 - postcss-minify-gradients: 5.0.4_postcss@8.4.12 - postcss-minify-params: 5.0.3_postcss@8.4.12 - postcss-minify-selectors: 5.1.1_postcss@8.4.12 - postcss-normalize-charset: 5.0.1_postcss@8.4.12 - postcss-normalize-display-values: 5.0.2_postcss@8.4.12 - postcss-normalize-positions: 5.0.2_postcss@8.4.12 - postcss-normalize-repeat-style: 5.0.2_postcss@8.4.12 - postcss-normalize-string: 5.0.2_postcss@8.4.12 - postcss-normalize-timing-functions: 5.0.2_postcss@8.4.12 - postcss-normalize-unicode: 5.0.2_postcss@8.4.12 - postcss-normalize-url: 5.0.4_postcss@8.4.12 - postcss-normalize-whitespace: 5.0.2_postcss@8.4.12 - postcss-ordered-values: 5.0.3_postcss@8.4.12 - postcss-reduce-initial: 5.0.2_postcss@8.4.12 - postcss-reduce-transforms: 5.0.2_postcss@8.4.12 - postcss-svgo: 5.0.3_postcss@8.4.12 - postcss-unique-selectors: 5.0.2_postcss@8.4.12 + css-declaration-sorter: 6.1.4_postcss@8.4.13 + cssnano-utils: 3.0.0_postcss@8.4.13 + postcss: 8.4.13 + postcss-calc: 8.2.2_postcss@8.4.13 + postcss-colormin: 5.2.3_postcss@8.4.13 + postcss-convert-values: 5.0.2_postcss@8.4.13 + postcss-discard-comments: 5.0.1_postcss@8.4.13 + postcss-discard-duplicates: 5.0.1_postcss@8.4.13 + postcss-discard-empty: 5.0.1_postcss@8.4.13 + postcss-discard-overridden: 5.0.2_postcss@8.4.13 + postcss-merge-longhand: 5.0.4_postcss@8.4.13 + postcss-merge-rules: 5.0.4_postcss@8.4.13 + postcss-minify-font-values: 5.0.2_postcss@8.4.13 + postcss-minify-gradients: 5.0.4_postcss@8.4.13 + postcss-minify-params: 5.0.3_postcss@8.4.13 + postcss-minify-selectors: 5.1.1_postcss@8.4.13 + postcss-normalize-charset: 5.0.1_postcss@8.4.13 + postcss-normalize-display-values: 5.0.2_postcss@8.4.13 + postcss-normalize-positions: 5.0.2_postcss@8.4.13 + postcss-normalize-repeat-style: 5.0.2_postcss@8.4.13 + postcss-normalize-string: 5.0.2_postcss@8.4.13 + postcss-normalize-timing-functions: 5.0.2_postcss@8.4.13 + postcss-normalize-unicode: 5.0.2_postcss@8.4.13 + postcss-normalize-url: 5.0.4_postcss@8.4.13 + postcss-normalize-whitespace: 5.0.2_postcss@8.4.13 + postcss-ordered-values: 5.0.3_postcss@8.4.13 + postcss-reduce-initial: 5.0.2_postcss@8.4.13 + postcss-reduce-transforms: 5.0.2_postcss@8.4.13 + postcss-svgo: 5.0.3_postcss@8.4.13 + postcss-unique-selectors: 5.0.2_postcss@8.4.13 /cssnano-util-get-arguments/4.0.0: resolution: {integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=} @@ -10729,13 +11194,13 @@ packages: postcss: 8.3.0 dev: true - /cssnano-utils/3.0.0_postcss@8.4.12: + /cssnano-utils/3.0.0_postcss@8.4.13: resolution: {integrity: sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /cssnano/4.1.11: resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} @@ -10759,15 +11224,15 @@ packages: yaml: 1.10.2 dev: true - /cssnano/5.0.15_postcss@8.4.12: + /cssnano/5.0.15_postcss@8.4.13: resolution: {integrity: sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.1.10_postcss@8.4.12 + cssnano-preset-default: 5.1.10_postcss@8.4.13 lilconfig: 2.0.4 - postcss: 8.4.12 + postcss: 8.4.13 yaml: 1.10.2 /csso/4.2.0: @@ -11606,6 +12071,10 @@ packages: resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} engines: {node: '>= 0.6'} + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + /dequal/2.0.2: resolution: {integrity: sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==} engines: {node: '>=6'} @@ -11620,6 +12089,11 @@ packages: /destroy/1.0.4: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} + dev: false + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} @@ -11641,6 +12115,10 @@ packages: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} + /detect-node-es/1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dev: false + /detect-node/2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -11929,12 +12407,12 @@ packages: dependencies: jake: 10.8.2 + /electron-to-chromium/1.4.137: + resolution: {integrity: sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==} + /electron-to-chromium/1.4.75: resolution: {integrity: sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q==} - /electron-to-chromium/1.4.90: - resolution: {integrity: sha512-ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==} - /elegant-spinner/1.0.1: resolution: {integrity: sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=} engines: {node: '>=0.10.0'} @@ -11992,7 +12470,7 @@ packages: resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} engines: {node: '>=6.9.0'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 memory-fs: 0.5.0 tapable: 1.1.3 dev: false @@ -12969,7 +13447,7 @@ packages: resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} engines: {node: '>= 0.10.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 array-flatten: 1.1.1 body-parser: 1.19.0 content-disposition: 0.5.3 @@ -13001,37 +13479,38 @@ packages: vary: 1.1.2 dev: false - /express/4.17.2: - resolution: {integrity: sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==} + /express/4.18.1: + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} engines: {node: '>= 0.10.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.19.1 + body-parser: 1.20.0 content-disposition: 0.5.4 content-type: 1.0.4 - cookie: 0.4.1 + cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 - depd: 1.1.2 + depd: 2.0.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.1.2 + finalhandler: 1.2.0 fresh: 0.5.2 + http-errors: 2.0.0 merge-descriptors: 1.0.1 methods: 1.1.2 - on-finished: 2.3.0 + on-finished: 2.4.1 parseurl: 1.3.3 path-to-regexp: 0.1.7 proxy-addr: 2.0.7 - qs: 6.9.6 + qs: 6.10.3 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 + send: 0.18.0 + serve-static: 1.15.0 setprototypeof: 1.2.0 - statuses: 1.5.0 + statuses: 2.0.1 type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 @@ -13102,7 +13581,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.9.2 + '@types/yauzl': 2.10.0 transitivePeerDependencies: - supports-color dev: true @@ -13304,6 +13783,19 @@ packages: parseurl: 1.3.3 statuses: 1.5.0 unpipe: 1.0.0 + dev: false + + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 /find-cache-dir/2.1.0: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} @@ -13519,7 +14011,7 @@ packages: resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} engines: {node: '>=12'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -13528,7 +14020,7 @@ packages: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jsonfile: 4.0.0 universalify: 0.1.2 @@ -13536,7 +14028,7 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jsonfile: 4.0.0 universalify: 0.1.2 @@ -13561,7 +14053,7 @@ packages: /fs-write-stream-atomic/1.0.10: resolution: {integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 iferr: 0.1.5 imurmurhash: 0.1.4 readable-stream: 2.3.7 @@ -13672,6 +14164,11 @@ packages: has: 1.0.3 has-symbols: 1.0.2 + /get-nonce/1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + dev: false + /get-own-enumerable-property-symbols/3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} dev: false @@ -14021,6 +14518,9 @@ packages: resolution: {integrity: sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==} dev: true + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs/4.2.9: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} @@ -14438,6 +14938,10 @@ packages: /hosted-git-info/2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + /hotkeys-js/3.8.7: + resolution: {integrity: sha512-ckAx3EkUr5XjDwjEHDorHxRO2Kb7z6Z2Sxul4MbBkN8Nho7XDslQsgMJT+CiJ5Z4TgRxxvKHEpuLE3imzqy4Lg==} + dev: false + /hpack.js/2.1.6: resolution: {integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=} dependencies: @@ -14582,6 +15086,17 @@ packages: setprototypeof: 1.2.0 statuses: 1.5.0 toidentifier: 1.0.1 + dev: false + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 /http-parser-js/0.5.5: resolution: {integrity: sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==} @@ -14751,13 +15266,19 @@ packages: postcss: 8.3.0 dev: true - /icss-utils/5.1.0_postcss@8.4.12: + /icss-utils/5.1.0_postcss@8.4.13: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 + + /idb-keyval/6.1.0: + resolution: {integrity: sha512-u/qHZ75rlD3gH+Zah8dAJVJcGW/RfCnfNrFkElC5RpRCnpsCXXhqjVk+6MoVKJ3WhmNbRYdI6IIVP88e+5sxGw==} + dependencies: + safari-14-idb-fix: 3.0.0 + dev: false /identity-obj-proxy/3.0.0: resolution: {integrity: sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=} @@ -14970,6 +15491,12 @@ packages: engines: {node: '>= 0.10'} dev: true + /invariant/2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: false + /ip-regex/2.1.0: resolution: {integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=} engines: {node: '>=4'} @@ -15672,7 +16199,7 @@ packages: '@jest/types': 26.6.2 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 import-local: 3.1.0 is-ci: 2.0.0 jest-config: 26.6.3 @@ -15734,7 +16261,7 @@ packages: chalk: 4.1.2 deepmerge: 4.2.2 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-environment-jsdom: 26.6.2 jest-environment-node: 26.6.2 jest-get-type: 26.3.0 @@ -15993,7 +16520,7 @@ packages: '@types/node': 17.0.8 anymatch: 3.1.2 fb-watchman: 2.0.1 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-regex-util: 26.0.0 jest-serializer: 26.6.2 jest-util: 26.6.2 @@ -16120,7 +16647,7 @@ packages: '@jest/types': 26.6.2 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 micromatch: 4.0.4 pretty-format: 26.6.2 slash: 3.0.0 @@ -16237,7 +16764,7 @@ packages: dependencies: '@jest/types': 26.6.2 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-pnp-resolver: 1.2.2_jest-resolve@26.6.0 jest-util: 26.6.2 read-pkg-up: 7.0.1 @@ -16251,7 +16778,7 @@ packages: dependencies: '@jest/types': 26.6.2 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-pnp-resolver: 1.2.2_jest-resolve@26.6.2 jest-util: 26.6.2 read-pkg-up: 7.0.1 @@ -16301,7 +16828,7 @@ packages: chalk: 4.1.2 emittery: 0.7.2 exit: 0.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-config: 26.6.3 jest-docblock: 26.0.0 jest-haste-map: 26.6.2 @@ -16372,7 +16899,7 @@ packages: collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.0 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-config: 26.6.3 jest-haste-map: 26.6.2 jest-message-util: 26.6.2 @@ -16427,7 +16954,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@types/node': 17.0.8 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 dev: false /jest-serializer/27.4.0: @@ -16447,7 +16974,7 @@ packages: '@types/prettier': 2.4.4 chalk: 4.1.2 expect: 26.6.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 jest-diff: 26.6.2 jest-get-type: 26.3.0 jest-haste-map: 26.6.2 @@ -16495,7 +17022,7 @@ packages: '@jest/types': 26.6.2 '@types/node': 17.0.8 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 is-ci: 2.0.0 micromatch: 4.0.4 dev: false @@ -16806,7 +17333,7 @@ packages: /jsonfile/4.0.0: resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} optionalDependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -16988,7 +17515,7 @@ packages: tslib: 1.14.1 optionalDependencies: errno: 0.1.8 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 @@ -17123,7 +17650,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.5.2 + rxjs: 7.5.5 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -17132,7 +17659,7 @@ packages: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -17142,7 +17669,7 @@ packages: resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==} engines: {node: '>=6'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 parse-json: 4.0.0 pify: 4.0.1 strip-bom: 3.0.0 @@ -18254,7 +18781,7 @@ packages: concat-stream: 1.6.2 mkdirp: 0.5.5 object-assign: 4.1.1 - on-finished: 2.3.0 + on-finished: 2.4.1 type-is: 1.6.18 xtend: 4.0.2 dev: false @@ -18297,8 +18824,8 @@ packages: stylis: 4.0.13 dev: false - /nanoid/3.3.1: - resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -18344,6 +18871,11 @@ packages: /negotiator/0.6.2: resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} engines: {node: '>= 0.6'} + dev: false + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} /neo-async/2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -18531,6 +19063,9 @@ packages: /node-releases/2.0.2: resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} + /node-releases/2.0.4: + resolution: {integrity: sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==} + /nopt/5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -18804,6 +19339,13 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 + dev: false + + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 /on-headers/1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} @@ -19316,6 +19858,10 @@ packages: resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} dev: true + /perfect-freehand/1.0.16: + resolution: {integrity: sha512-D4+avUeR8CHSl2vaPbPYX/dNpSMRYO3VOFp7qSSc+LRkSgzQbLATVnXosy7VxtsSHEh1C5t8K8sfmo0zCVnfWQ==} + dev: false + /performance-now/2.1.0: resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=} @@ -19427,13 +19973,13 @@ packages: postcss-selector-parser: 6.0.9 dev: false - /postcss-browser-comments/3.0.0_browserslist@4.20.2: + /postcss-browser-comments/3.0.0_browserslist@4.20.3: resolution: {integrity: sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==} engines: {node: '>=8.0.0'} peerDependencies: browserslist: ^4 dependencies: - browserslist: 4.20.2 + browserslist: 4.20.3 postcss: 7.0.39 dev: false @@ -19455,12 +20001,12 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-calc/8.2.2_postcss@8.4.12: + /postcss-calc/8.2.2_postcss@8.4.13: resolution: {integrity: sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 postcss-value-parser: 4.2.0 @@ -19510,7 +20056,7 @@ packages: resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} engines: {node: '>=6.9.0'} dependencies: - browserslist: 4.20.2 + browserslist: 4.20.3 color: 3.2.1 has: 1.0.3 postcss: 7.0.39 @@ -19523,23 +20069,23 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 caniuse-api: 3.0.0 colord: 2.9.2 postcss: 8.3.0 postcss-value-parser: 4.2.0 dev: true - /postcss-colormin/5.2.3_postcss@8.4.12: + /postcss-colormin/5.2.3_postcss@8.4.13: resolution: {integrity: sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 caniuse-api: 3.0.0 colord: 2.9.2 - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-convert-values/4.0.1: @@ -19560,13 +20106,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-convert-values/5.0.2_postcss@8.4.12: + /postcss-convert-values/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-custom-media/7.0.8: @@ -19616,13 +20162,13 @@ packages: postcss: 8.3.0 dev: true - /postcss-discard-comments/5.0.1_postcss@8.4.12: + /postcss-discard-comments/5.0.1_postcss@8.4.13: resolution: {integrity: sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /postcss-discard-duplicates/4.0.2: resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} @@ -19640,13 +20186,13 @@ packages: postcss: 8.3.0 dev: true - /postcss-discard-duplicates/5.0.1_postcss@8.4.12: + /postcss-discard-duplicates/5.0.1_postcss@8.4.13: resolution: {integrity: sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /postcss-discard-empty/4.0.1: resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} @@ -19664,13 +20210,13 @@ packages: postcss: 8.3.0 dev: true - /postcss-discard-empty/5.0.1_postcss@8.4.12: + /postcss-discard-empty/5.0.1_postcss@8.4.13: resolution: {integrity: sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /postcss-discard-overridden/4.0.1: resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} @@ -19688,13 +20234,13 @@ packages: postcss: 8.3.0 dev: true - /postcss-discard-overridden/5.0.2_postcss@8.4.12: + /postcss-discard-overridden/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /postcss-double-position-gradients/1.0.0: resolution: {integrity: sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==} @@ -19765,13 +20311,13 @@ packages: resolve: 1.22.0 dev: true - /postcss-import/14.0.2_postcss@8.4.12: + /postcss-import/14.0.2_postcss@8.4.13: resolution: {integrity: sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.0 @@ -19782,14 +20328,14 @@ packages: postcss: 7.0.39 dev: false - /postcss-js/4.0.0_postcss@8.4.12: + /postcss-js/4.0.0_postcss@8.4.13: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.12 + postcss: 8.4.13 dev: true /postcss-lab-function/2.0.1: @@ -19859,7 +20405,7 @@ packages: webpack: 5.66.0 dev: true - /postcss-loader/6.2.1_postcss@8.4.12+webpack@5.66.0: + /postcss-loader/6.2.1_postcss@8.4.13+webpack@5.66.0: resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -19868,7 +20414,7 @@ packages: dependencies: cosmiconfig: 7.0.1 klona: 2.0.5 - postcss: 8.4.12 + postcss: 8.4.13 semver: 7.3.5 webpack: 5.66.0 @@ -19907,21 +20453,21 @@ packages: stylehacks: 5.0.1_postcss@8.3.0 dev: true - /postcss-merge-longhand/5.0.4_postcss@8.4.12: + /postcss-merge-longhand/5.0.4_postcss@8.4.13: resolution: {integrity: sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 - stylehacks: 5.0.1_postcss@8.4.12 + stylehacks: 5.0.1_postcss@8.4.13 /postcss-merge-rules/4.0.3: resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} engines: {node: '>=6.9.0'} dependencies: - browserslist: 4.20.2 + browserslist: 4.20.3 caniuse-api: 3.0.0 cssnano-util-same-parent: 4.0.1 postcss: 7.0.39 @@ -19935,23 +20481,23 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 caniuse-api: 3.0.0 cssnano-utils: 3.0.0_postcss@8.3.0 postcss: 8.3.0 postcss-selector-parser: 6.0.9 dev: true - /postcss-merge-rules/5.0.4_postcss@8.4.12: + /postcss-merge-rules/5.0.4_postcss@8.4.13: resolution: {integrity: sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 caniuse-api: 3.0.0 - cssnano-utils: 3.0.0_postcss@8.4.12 - postcss: 8.4.12 + cssnano-utils: 3.0.0_postcss@8.4.13 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 /postcss-minify-font-values/4.0.2: @@ -19972,13 +20518,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-minify-font-values/5.0.2_postcss@8.4.12: + /postcss-minify-font-values/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-minify-gradients/4.0.2: @@ -20003,15 +20549,15 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-minify-gradients/5.0.4_postcss@8.4.12: + /postcss-minify-gradients/5.0.4_postcss@8.4.13: resolution: {integrity: sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.2 - cssnano-utils: 3.0.0_postcss@8.4.12 - postcss: 8.4.12 + cssnano-utils: 3.0.0_postcss@8.4.13 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-minify-params/4.0.2: @@ -20019,7 +20565,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: alphanum-sort: 1.0.2 - browserslist: 4.20.2 + browserslist: 4.20.3 cssnano-util-get-arguments: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 @@ -20033,22 +20579,22 @@ packages: postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 - browserslist: 4.20.2 + browserslist: 4.19.3 cssnano-utils: 3.0.0_postcss@8.3.0 postcss: 8.3.0 postcss-value-parser: 4.2.0 dev: true - /postcss-minify-params/5.0.3_postcss@8.4.12: + /postcss-minify-params/5.0.3_postcss@8.4.13: resolution: {integrity: sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 - browserslist: 4.20.2 - cssnano-utils: 3.0.0_postcss@8.4.12 - postcss: 8.4.12 + browserslist: 4.19.3 + cssnano-utils: 3.0.0_postcss@8.4.13 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-minify-selectors/4.0.2: @@ -20072,14 +20618,14 @@ packages: postcss-selector-parser: 6.0.9 dev: true - /postcss-minify-selectors/5.1.1_postcss@8.4.12: + /postcss-minify-selectors/5.1.1_postcss@8.4.13: resolution: {integrity: sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 - postcss: 8.4.12 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 /postcss-modules-extract-imports/2.0.0: @@ -20098,13 +20644,13 @@ packages: postcss: 8.3.0 dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.4.12: + /postcss-modules-extract-imports/3.0.0_postcss@8.4.13: resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /postcss-modules-local-by-default/3.0.3: resolution: {integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==} @@ -20128,14 +20674,14 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.4.12: + /postcss-modules-local-by-default/4.0.0_postcss@8.4.13: resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.12 - postcss: 8.4.12 + icss-utils: 5.1.0_postcss@8.4.13 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 postcss-value-parser: 4.2.0 @@ -20157,13 +20703,13 @@ packages: postcss-selector-parser: 6.0.9 dev: true - /postcss-modules-scope/3.0.0_postcss@8.4.12: + /postcss-modules-scope/3.0.0_postcss@8.4.13: resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 /postcss-modules-values/3.0.0: @@ -20183,14 +20729,14 @@ packages: postcss: 8.3.0 dev: true - /postcss-modules-values/4.0.0_postcss@8.4.12: + /postcss-modules-values/4.0.0_postcss@8.4.13: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.12 - postcss: 8.4.12 + icss-utils: 5.1.0_postcss@8.4.13 + postcss: 8.4.13 /postcss-modules/4.3.0_postcss@8.3.0: resolution: {integrity: sha512-zoUttLDSsbWDinJM9jH37o7hulLRyEgH6fZm2PchxN7AZ8rkdWiALyNhnQ7+jg7cX9f10m6y5VhHsrjO0Mf/DA==} @@ -20208,7 +20754,7 @@ packages: string-hash: 1.1.3 dev: true - /postcss-modules/4.3.0_postcss@8.4.12: + /postcss-modules/4.3.0_postcss@8.4.13: resolution: {integrity: sha512-zoUttLDSsbWDinJM9jH37o7hulLRyEgH6fZm2PchxN7AZ8rkdWiALyNhnQ7+jg7cX9f10m6y5VhHsrjO0Mf/DA==} peerDependencies: postcss: ^8.0.0 @@ -20216,20 +20762,20 @@ packages: generic-names: 4.0.0 icss-replace-symbols: 1.1.0 lodash.camelcase: 4.3.0 - postcss: 8.4.12 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.12 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.12 - postcss-modules-scope: 3.0.0_postcss@8.4.12 - postcss-modules-values: 4.0.0_postcss@8.4.12 + postcss: 8.4.13 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.13 + postcss-modules-local-by-default: 4.0.0_postcss@8.4.13 + postcss-modules-scope: 3.0.0_postcss@8.4.13 + postcss-modules-values: 4.0.0_postcss@8.4.13 string-hash: 1.1.3 - /postcss-nested/5.0.6_postcss@8.4.12: + /postcss-nested/5.0.6_postcss@8.4.13: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 dev: true @@ -20256,13 +20802,13 @@ packages: postcss: 8.3.0 dev: true - /postcss-normalize-charset/5.0.1_postcss@8.4.12: + /postcss-normalize-charset/5.0.1_postcss@8.4.13: resolution: {integrity: sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 /postcss-normalize-display-values/4.0.2: resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} @@ -20283,13 +20829,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-display-values/5.0.2_postcss@8.4.12: + /postcss-normalize-display-values/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-positions/4.0.2: @@ -20312,13 +20858,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-positions/5.0.2_postcss@8.4.12: + /postcss-normalize-positions/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-repeat-style/4.0.2: @@ -20341,13 +20887,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-repeat-style/5.0.2_postcss@8.4.12: + /postcss-normalize-repeat-style/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-string/4.0.2: @@ -20369,13 +20915,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-string/5.0.2_postcss@8.4.12: + /postcss-normalize-string/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-timing-functions/4.0.2: @@ -20397,20 +20943,20 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-timing-functions/5.0.2_postcss@8.4.12: + /postcss-normalize-timing-functions/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-unicode/4.0.1: resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} engines: {node: '>=6.9.0'} dependencies: - browserslist: 4.20.2 + browserslist: 4.20.3 postcss: 7.0.39 postcss-value-parser: 3.3.1 dev: false @@ -20421,19 +20967,19 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 postcss: 8.3.0 postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-unicode/5.0.2_postcss@8.4.12: + /postcss-normalize-unicode/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 - postcss: 8.4.12 + browserslist: 4.19.3 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-url/4.0.1: @@ -20457,14 +21003,14 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-url/5.0.4_postcss@8.4.12: + /postcss-normalize-url/5.0.4_postcss@8.4.13: resolution: {integrity: sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: normalize-url: 6.1.0 - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize-whitespace/4.0.2: @@ -20485,13 +21031,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-normalize-whitespace/5.0.2_postcss@8.4.12: + /postcss-normalize-whitespace/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-normalize/8.0.1: @@ -20499,9 +21045,9 @@ packages: engines: {node: '>=8.0.0'} dependencies: '@csstools/normalize.css': 10.1.0 - browserslist: 4.20.2 + browserslist: 4.20.3 postcss: 7.0.39 - postcss-browser-comments: 3.0.0_browserslist@4.20.2 + postcss-browser-comments: 3.0.0_browserslist@4.20.3 sanitize.css: 10.0.0 dev: false @@ -20525,14 +21071,14 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-ordered-values/5.0.3_postcss@8.4.12: + /postcss-ordered-values/5.0.3_postcss@8.4.13: resolution: {integrity: sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.0.0_postcss@8.4.12 - postcss: 8.4.12 + cssnano-utils: 3.0.0_postcss@8.4.13 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-overflow-shorthand/2.0.0: @@ -20561,8 +21107,8 @@ packages: engines: {node: '>=6.0.0'} dependencies: autoprefixer: 9.8.8 - browserslist: 4.20.2 - caniuse-lite: 1.0.30001332 + browserslist: 4.20.3 + caniuse-lite: 1.0.30001339 css-blank-pseudo: 0.1.4 css-has-pseudo: 0.10.0 css-prefers-color-scheme: 3.1.1 @@ -20611,7 +21157,7 @@ packages: resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} engines: {node: '>=6.9.0'} dependencies: - browserslist: 4.20.2 + browserslist: 4.20.3 caniuse-api: 3.0.0 has: 1.0.3 postcss: 7.0.39 @@ -20623,20 +21169,20 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 caniuse-api: 3.0.0 postcss: 8.3.0 dev: true - /postcss-reduce-initial/5.0.2_postcss@8.4.12: + /postcss-reduce-initial/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 caniuse-api: 3.0.0 - postcss: 8.4.12 + postcss: 8.4.13 /postcss-reduce-transforms/4.0.2: resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} @@ -20658,13 +21204,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-reduce-transforms/5.0.2_postcss@8.4.12: + /postcss-reduce-transforms/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 /postcss-replace-overflow-wrap/3.0.0: @@ -20677,7 +21223,7 @@ packages: resolution: {integrity: sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==} engines: {node: '>=10.0'} dependencies: - postcss: 8.4.12 + postcss: 8.4.13 dev: false /postcss-selector-matches/4.0.0: @@ -20739,13 +21285,13 @@ packages: svgo: 2.8.0 dev: true - /postcss-svgo/5.0.3_postcss@8.4.12: + /postcss-svgo/5.0.3_postcss@8.4.13: resolution: {integrity: sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.12 + postcss: 8.4.13 postcss-value-parser: 4.2.0 svgo: 2.8.0 @@ -20769,14 +21315,14 @@ packages: postcss-selector-parser: 6.0.9 dev: true - /postcss-unique-selectors/5.0.2_postcss@8.4.12: + /postcss-unique-selectors/5.0.2_postcss@8.4.13: resolution: {integrity: sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: alphanum-sort: 1.0.2 - postcss: 8.4.12 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 /postcss-value-parser/3.3.1: @@ -20817,15 +21363,15 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: colorette: 1.4.0 - nanoid: 3.3.1 + nanoid: 3.3.4 source-map-js: 0.6.2 dev: true - /postcss/8.4.12: - resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} + /postcss/8.4.13: + resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.1 + nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 @@ -20833,7 +21379,7 @@ packages: resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.1 + nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 dev: false @@ -21113,6 +21659,7 @@ packages: /qs/6.9.6: resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} engines: {node: '>=0.6'} + dev: false /query-string/4.3.4: resolution: {integrity: sha1-u7aTucqRXCMlFbIosaArYJBD2+s=} @@ -21216,6 +21763,16 @@ packages: http-errors: 1.8.1 iconv-lite: 0.4.24 unpipe: 1.0.0 + dev: false + + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 /raw-loader/4.0.2_webpack@5.66.0: resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} @@ -21334,6 +21891,21 @@ packages: react: 17.0.2 dev: false + /react-hotkey-hook/1.0.2: + resolution: {integrity: sha512-95GiOW8ORMqbBQ23+VHMF0giRmpiI8sFHPjbOR/e64zWI0QT+QO3Q/022c0HNBS/LrQsbGdjm64BNMah0WvlnA==} + dev: false + + /react-hotkeys-hook/3.4.4_react-dom@17.0.2+react@17.0.2: + resolution: {integrity: sha512-vaORq07rWgmuF3owWRhgFV/3VL8/l2q9lz0WyVEddJnWTtKW+AOgU5YgYKuwN6h6h7bCcLG3MFsJIjCrM/5DvQ==} + peerDependencies: + react: '>=16.8.1' + react-dom: '>=16.8.1' + dependencies: + hotkeys-js: 3.8.7 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + dev: false + /react-icons/4.3.1_react@17.0.2: resolution: {integrity: sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==} peerDependencies: @@ -21435,6 +22007,41 @@ packages: engines: {node: '>=0.10.0'} dev: false + /react-remove-scroll-bar/2.3.1_0d9ae6029f9b6856f7d6fb45bd27ecc7: + resolution: {integrity: sha512-IvGX3mJclEF7+hga8APZczve1UyGMkMG+tjS0o/U1iLgvZRpjFAQEUBJ4JETfvbNlfNnZnoDyWJCICkA15Mghg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.30 + react: 17.0.2 + react-style-singleton: 2.2.0_0d9ae6029f9b6856f7d6fb45bd27ecc7 + tslib: 2.3.1 + dev: false + + /react-remove-scroll/2.5.3_0d9ae6029f9b6856f7d6fb45bd27ecc7: + resolution: {integrity: sha512-NQ1bXrxKrnK5pFo/GhLkXeo3CrK5steI+5L+jynwwIemvZyfXqaL0L5BzwJd7CSwNCU723DZaccvjuyOdoy3Xw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.30 + react: 17.0.2 + react-remove-scroll-bar: 2.3.1_0d9ae6029f9b6856f7d6fb45bd27ecc7 + react-style-singleton: 2.2.0_0d9ae6029f9b6856f7d6fb45bd27ecc7 + tslib: 2.3.1 + use-callback-ref: 1.3.0_0d9ae6029f9b6856f7d6fb45bd27ecc7 + use-sidecar: 1.1.2_0d9ae6029f9b6856f7d6fb45bd27ecc7 + dev: false + /react-scripts/4.0.3_f407410cea53df2f6d8f0e632ee4dc45: resolution: {integrity: sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==} engines: {node: ^10.12.0 || >=12.0.0} @@ -21563,6 +22170,23 @@ packages: - '@types/react' dev: false + /react-style-singleton/2.2.0_0d9ae6029f9b6856f7d6fb45bd27ecc7: + resolution: {integrity: sha512-nK7mN92DMYZEu3cQcAhfwE48NpzO5RpxjG4okbSqRRbfal9Pk+fG2RdQXTMp+f6all1hB9LIJSt+j7dCYrU11g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.30 + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 17.0.2 + tslib: 2.3.1 + dev: false + /react-syntax-highlighter/15.4.5_react@17.0.2: resolution: {integrity: sha512-RC90KQTxZ/b7+9iE6s9nmiFLFjWswUcfULi4GwVzdFVKVMQySkJWBuOmJFfjwjMVCo0IUUuJrWebNKyviKpwLQ==} peerDependencies: @@ -21706,7 +22330,7 @@ packages: resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 micromatch: 3.1.10 readable-stream: 2.3.7 dev: false @@ -22340,7 +22964,7 @@ packages: - ts-node dev: true - /rollup-plugin-postcss/4.0.2_postcss@8.4.12+ts-node@9.1.1: + /rollup-plugin-postcss/4.0.2_postcss@8.4.13+ts-node@9.1.1: resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==} engines: {node: '>=10'} peerDependencies: @@ -22348,13 +22972,13 @@ packages: dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 - cssnano: 5.0.15_postcss@8.4.12 + cssnano: 5.0.15_postcss@8.4.13 import-cwd: 3.0.0 p-queue: 6.6.2 pify: 5.0.0 - postcss: 8.4.12 + postcss: 8.4.13 postcss-load-config: 3.1.1_ts-node@9.1.1 - postcss-modules: 4.3.0_postcss@8.4.12 + postcss-modules: 4.3.0_postcss@8.4.13 promise.series: 0.2.0 resolve: 1.22.0 rollup-pluginutils: 2.8.2 @@ -22482,8 +23106,8 @@ packages: dependencies: tslib: 1.14.1 - /rxjs/7.5.2: - resolution: {integrity: sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==} + /rxjs/7.5.5: + resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: tslib: 2.3.1 dev: true @@ -22495,6 +23119,10 @@ packages: mri: 1.2.0 dev: false + /safari-14-idb-fix/3.0.0: + resolution: {integrity: sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog==} + dev: false + /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -22750,23 +23378,23 @@ packages: statuses: 1.5.0 dev: false - /send/0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 + depd: 2.0.0 + destroy: 1.2.0 encodeurl: 1.0.2 escape-html: 1.0.3 etag: 1.8.1 fresh: 0.5.2 - http-errors: 1.8.1 + http-errors: 2.0.0 mime: 1.6.0 ms: 2.1.3 - on-finished: 2.3.0 + on-finished: 2.4.1 range-parser: 1.2.1 - statuses: 1.5.0 + statuses: 2.0.1 /sentence-case/3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} @@ -22804,7 +23432,7 @@ packages: resolution: {integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=} engines: {node: '>= 0.8.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 batch: 0.6.1 debug: 2.6.9 escape-html: 1.0.3 @@ -22822,14 +23450,14 @@ packages: send: 0.17.1 dev: false - /serve-static/1.14.2: - resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.17.2 + send: 0.18.0 /set-blocking/2.0.0: resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} @@ -23320,6 +23948,10 @@ packages: resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} engines: {node: '>= 0.6'} + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + /stream-browserify/2.0.2: resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} dependencies: @@ -23604,7 +24236,7 @@ packages: resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} engines: {node: '>=6.9.0'} dependencies: - browserslist: 4.20.2 + browserslist: 4.20.3 postcss: 7.0.39 postcss-selector-parser: 3.1.2 dev: false @@ -23615,19 +24247,19 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 + browserslist: 4.19.3 postcss: 8.3.0 postcss-selector-parser: 6.0.9 dev: true - /stylehacks/5.0.1_postcss@8.4.12: + /stylehacks/5.0.1_postcss@8.4.13: resolution: {integrity: sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.20.2 - postcss: 8.4.12 + browserslist: 4.19.3 + postcss: 8.4.13 postcss-selector-parser: 6.0.9 /stylis/4.0.13: @@ -23794,7 +24426,7 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 - /tailwindcss/3.0.13_c01214db2e04c60602bae73116393d69: + /tailwindcss/3.0.13_1479244b7b1ab8346eed707106c1912f: resolution: {integrity: sha512-raRPGFwQSGXn/3h0ttHND9jyPYfqk/ur2NXtlQuK25+ZnrCjlH1s1j4/oPswHGMoZzGNykUVycZ/LcROanUE0A==} engines: {node: '>=12.13.0'} hasBin: true @@ -23803,7 +24435,7 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - autoprefixer: 10.4.5_postcss@8.4.12 + autoprefixer: 10.4.7_postcss@8.4.13 chalk: 4.1.2 chokidar: 3.5.3 color-name: 1.1.4 @@ -23816,10 +24448,10 @@ packages: is-glob: 4.0.3 normalize-path: 3.0.0 object-hash: 2.2.0 - postcss: 8.4.12 - postcss-js: 4.0.0_postcss@8.4.12 + postcss: 8.4.13 + postcss-js: 4.0.0_postcss@8.4.13 postcss-load-config: 3.1.1 - postcss-nested: 5.0.6_postcss@8.4.12 + postcss-nested: 5.0.6_postcss@8.4.13 postcss-selector-parser: 6.0.9 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 @@ -24854,6 +25486,37 @@ packages: punycode: 1.3.2 querystring: 0.2.0 + /use-callback-ref/1.3.0_0d9ae6029f9b6856f7d6fb45bd27ecc7: + resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.30 + react: 17.0.2 + tslib: 2.3.1 + dev: false + + /use-sidecar/1.1.2_0d9ae6029f9b6856f7d6fb45bd27ecc7: + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 17.0.30 + detect-node-es: 1.1.0 + react: 17.0.2 + tslib: 2.3.1 + dev: false + /use-subscription/1.5.1_react@17.0.2: resolution: {integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==} peerDependencies: @@ -25104,7 +25767,7 @@ packages: /watchpack/1.7.5: resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 neo-async: 2.6.2 optionalDependencies: chokidar: 3.5.3 @@ -25193,7 +25856,7 @@ packages: connect-history-api-fallback: 1.6.0 debug: 4.3.3_supports-color@6.1.0 del: 4.1.1 - express: 4.17.2 + express: 4.18.1 html-entities: 1.4.0 http-proxy-middleware: 0.19.1_debug@4.3.3 import-local: 2.0.0 @@ -25246,7 +25909,7 @@ packages: connect-history-api-fallback: 1.6.0 default-gateway: 6.0.3 del: 6.0.0 - express: 4.17.2 + express: 4.18.1 graceful-fs: 4.2.9 html-entities: 2.3.2 http-proxy-middleware: 2.0.1 @@ -25752,7 +26415,7 @@ packages: /write-file-atomic/2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 imurmurhash: 0.1.4 signal-exit: 3.0.6 dev: false @@ -25980,6 +26643,18 @@ packages: /zen-observable/0.8.15: resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} + /zustand/3.7.2_react@17.0.2: + resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} + engines: {node: '>=12.7.0'} + peerDependencies: + react: '>=16.8' + peerDependenciesMeta: + react: + optional: true + dependencies: + react: 17.0.2 + dev: false + /zustand/4.0.0-rc.0_react@17.0.2: resolution: {integrity: sha512-jMimx6EIlLb/hwgnkVZ4Wd/UI73wXedUB6L/kcdIYbOYHcjIFRc7JEB8IXFZt+1rQq2qwuts7kN6kuHhFss47A==} engines: {node: '>=12.7.0'}