diff --git a/frontend/next.config.mjs b/frontend/next.config.mjs index 8bb052d..c727f64 100644 --- a/frontend/next.config.mjs +++ b/frontend/next.config.mjs @@ -1,6 +1,31 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, + webpack: (config) => { + const fileLoaderRule = config.module.rules.find((rule) => + rule.test?.test?.(".svg"), + ); + config.module.rules.push( + // Reapply the existing rule, but only for svg imports ending in ?url + { + ...fileLoaderRule, + test: /\.svg$/i, + resourceQuery: /url/, // *.svg?url + }, + // Convert all other *.svg imports to React components + { + test: /\.svg$/i, + issuer: fileLoaderRule.issuer, + // exclude if *.svg?url + resourceQuery: { not: [...fileLoaderRule.resourceQuery.not, /url/] }, + use: ["@svgr/webpack"], + }, + ); + + fileLoaderRule.exclude = /\.svg$/i; + + return config; + }, images: { minimumCacheTTL: 31536000, deviceSizes: [640, 750, 828, 1080, 1200, 1920], diff --git a/frontend/package.json b/frontend/package.json index da42b2e..d32bdea 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -20,9 +20,11 @@ "next": "^15.1.4", "react": "^19.0.0", "react-dom": "^19.0.0", - "react-use": "^17.6.0" + "react-use": "^17.6.0", + "swiper": "^11.2.6" }, "devDependencies": { + "@svgr/webpack": "^8.1.0", "@types/node": "^22.10.5", "@types/react": "^19.0.4", "@types/react-dom": "^19.0.2", diff --git a/frontend/src/app/for-lawyers/components/Card.tsx b/frontend/src/app/enterprise/components/Card.tsx similarity index 100% rename from frontend/src/app/for-lawyers/components/Card.tsx rename to frontend/src/app/enterprise/components/Card.tsx diff --git a/frontend/src/app/enterprise/components/Hero.tsx b/frontend/src/app/enterprise/components/Hero.tsx new file mode 100644 index 0000000..f8c77be --- /dev/null +++ b/frontend/src/app/enterprise/components/Hero.tsx @@ -0,0 +1,37 @@ +import React from "react"; + +import Image from "next/image"; + +import { request } from "@/utils/graphQLClient"; + +import { heroQuery, HeroQueryType } from "../queries/hero"; + +const Hero: React.FC = async () => { + const { header, subtitle, background } = ( + await request(heroQuery) + ).forLawyersPageHero; + + return ( +
+
+

+ {header} +

+

{subtitle}

+
+ Hero Image Background +
+ ); +}; + +export default Hero; diff --git a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/TabelCardContent.tsx b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/TabelCardContent.tsx similarity index 94% rename from frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/TabelCardContent.tsx rename to frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/TabelCardContent.tsx index d2da1e2..f5628f6 100644 --- a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/TabelCardContent.tsx +++ b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/TabelCardContent.tsx @@ -1,7 +1,7 @@ import clsx from "clsx"; import Image from "next/image"; -import { ArbitrationMethodTableType } from "@/app/for-lawyers/queries/kleros-dispute-resolution-section"; +import { ArbitrationMethodTableType } from "@/app/enterprise/queries/kleros-dispute-resolution-section"; const TableCardContent: React.FC = ({ name, diff --git a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/index.tsx b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/index.tsx similarity index 93% rename from frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/index.tsx rename to frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/index.tsx index 27ee32d..23c7fad 100644 --- a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/index.tsx +++ b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ArbitrationMethodTable/index.tsx @@ -1,6 +1,6 @@ import clsx from "clsx"; -import { ArbitrationMethodTableType } from "@/app/for-lawyers/queries/kleros-dispute-resolution-section"; +import { ArbitrationMethodTableType } from "@/app/enterprise/queries/kleros-dispute-resolution-section"; import TableCardContent from "./TabelCardContent"; diff --git a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ResearchSection.tsx b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ResearchSection.tsx similarity index 100% rename from frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/ResearchSection.tsx rename to frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/ResearchSection.tsx diff --git a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/index.tsx b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/index.tsx similarity index 85% rename from frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/index.tsx rename to frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/index.tsx index e846dc5..e7d360d 100644 --- a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/index.tsx +++ b/frontend/src/app/enterprise/components/KlerosDisputeResolutionSection/index.tsx @@ -8,20 +8,16 @@ import { } from "../../queries/kleros-dispute-resolution-section"; import ArbitrationMethodTable from "./ArbitrationMethodTable"; -import KlerosEscrowSection from "./KlerosEscrowSection"; -import ResearchSection from "./ResearchSection"; +// import ResearchSection from "./ResearchSection"; const KlerosDisputeResolutionSection: React.FC = async () => { const { headerSubtitle, header, subtitle, - secondHeader, - secondSubtitle, thirdHeader, thirdSubtitle, arbitrationMethodTable, - publications, } = ( await request( forLawyersPageDisputeResolutionSectionQuery, @@ -46,7 +42,6 @@ const KlerosDisputeResolutionSection: React.FC = async () => { -

@@ -54,8 +49,6 @@ const KlerosDisputeResolutionSection: React.FC = async () => {

{thirdSubtitle}

- - ); }; diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/DisputeResolutionProcess.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/DisputeResolutionProcess.tsx similarity index 89% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/DisputeResolutionProcess.tsx rename to frontend/src/app/enterprise/components/KlerosEnterpriseSection/DisputeResolutionProcess.tsx index 63941bb..58d2d06 100644 --- a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/DisputeResolutionProcess.tsx +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/DisputeResolutionProcess.tsx @@ -17,8 +17,8 @@ const DisputeResolutionProcess: React.FC = ({
diff --git a/frontend/src/app/enterprise/components/KlerosEnterpriseSection/HighlightedText.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/HighlightedText.tsx new file mode 100644 index 0000000..9754ca1 --- /dev/null +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/HighlightedText.tsx @@ -0,0 +1,15 @@ +import _HighlightedText from "@/components/HighlightedText"; + +import { HighlightedText as IHighlightedText } from "../../queries/kleros-enterprise-section"; + +const HighlightedText: React.FC< + IHighlightedText & { fullTextStyle?: string; highlightedTextStyle?: string } +> = ({ fullText, highlightedText, fullTextStyle, highlightedTextStyle }) => { + return ( + <_HighlightedText + {...{ fullText, highlightedText, fullTextStyle, highlightedTextStyle }} + /> + ); +}; + +export default HighlightedText; diff --git a/frontend/src/app/enterprise/components/KlerosEnterpriseSection/Industries/index.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/Industries/index.tsx new file mode 100644 index 0000000..7346a2d --- /dev/null +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/Industries/index.tsx @@ -0,0 +1,37 @@ +import clsx from "clsx"; +import Image from "next/image"; + +import { request } from "@/utils/graphQLClient"; + +import { industriesQuery, IIndustriesQuery } from "./queries"; + +const Industries: React.FC = async () => { + const industriesData = await request(industriesQuery); + + return ( +
+ {industriesData.enterprise.industries.map(({ title, icon }) => ( +
+ {title +

+ {title} +

+
+ ))} +
+ ); +}; + +export default Industries; diff --git a/frontend/src/app/enterprise/components/KlerosEnterpriseSection/Industries/queries.ts b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/Industries/queries.ts new file mode 100644 index 0000000..9f50e83 --- /dev/null +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/Industries/queries.ts @@ -0,0 +1,25 @@ +import { gql } from "graphql-request"; + +export const industriesQuery = gql` + { + enterprise { + industries { + title + icon { + url + } + } + } + } +`; + +export type IIndustriesQuery = { + enterprise: { + industries: Array<{ + title: string; + icon: { + url: string; + }; + }>; + }; +}; diff --git a/frontend/src/app/enterprise/components/KlerosEnterpriseSection/LemonCashSection.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/LemonCashSection.tsx new file mode 100644 index 0000000..88b73a9 --- /dev/null +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/LemonCashSection.tsx @@ -0,0 +1,17 @@ +import Quote from "@/components/Quote"; +import { request } from "@/utils/graphQLClient"; + +import { + lemonCashSectionQuery, + lemonCashSectionQueryType, +} from "../../queries/lemon-cash"; + +const LemonCashSection: React.FC = async () => { + const quote = ( + await request(lemonCashSectionQuery) + ).lemonCashSection; + + return ; +}; + +export default LemonCashSection; diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/DesktopTable.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/DesktopTable.tsx similarity index 100% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/DesktopTable.tsx rename to frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/DesktopTable.tsx diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/MobileTable.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/MobileTable.tsx similarity index 95% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/MobileTable.tsx rename to frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/MobileTable.tsx index 0efd117..5309952 100644 --- a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/MobileTable.tsx +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/MobileTable.tsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import clsx from "clsx"; -import { Table } from "@/app/for-lawyers/queries/kleros-enterprise-section"; +import { Table } from "@/app/enterprise/queries/kleros-enterprise-section"; import Divider from "@/components/Divider"; import Pagination from "@/components/Pagination"; diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/index.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/index.tsx similarity index 87% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/index.tsx rename to frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/index.tsx index dc612f2..4222118 100644 --- a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/MethodsTable/index.tsx +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/MethodsTable/index.tsx @@ -1,5 +1,5 @@ "use client"; -import { Table } from "@/app/for-lawyers/queries/kleros-enterprise-section"; +import { Table } from "@/app/enterprise/queries/kleros-enterprise-section"; import { useScreenSize } from "@/hooks/useScreenSize"; import DesktopTable from "./DesktopTable"; diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/index.tsx b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/index.tsx similarity index 79% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/index.tsx rename to frontend/src/app/enterprise/components/KlerosEnterpriseSection/index.tsx index d63f1f3..ad025e6 100644 --- a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/index.tsx +++ b/frontend/src/app/enterprise/components/KlerosEnterpriseSection/index.tsx @@ -10,15 +10,12 @@ import { import Card from "../Card"; import DisputeResolutionProcess from "./DisputeResolutionProcess"; -import HighlightedText from "./HighlightedText"; +import Industries from "./Industries"; import LemonCashSection from "./LemonCashSection"; import MethodsTable from "./MethodsTable"; const KlerosEnterpriseSection: React.FC = async () => { const { - headerSubtitle, - header, - subtitle, cards, disputeResolutionProcessHeader, processDiagram, @@ -37,14 +34,6 @@ const KlerosEnterpriseSection: React.FC = async () => { "px-6 py-12 lg:py-24", )} > -
-

{headerSubtitle}

-

- {header} -

- -
-
{cards.map((card) => ( @@ -59,6 +48,9 @@ const KlerosEnterpriseSection: React.FC = async () => { /> + + +
diff --git a/frontend/src/app/enterprise/components/KlerosForGovernments/index.tsx b/frontend/src/app/enterprise/components/KlerosForGovernments/index.tsx new file mode 100644 index 0000000..eb1b5ce --- /dev/null +++ b/frontend/src/app/enterprise/components/KlerosForGovernments/index.tsx @@ -0,0 +1,80 @@ +import clsx from "clsx"; + +import Card from "@/components/CtaCard"; +import HighlightedText from "@/components/HighlightedText"; +import Quote from "@/components/Quote"; +import { request } from "@/utils/graphQLClient"; + +import { + forGovernmentsQuery, + IForGovernmentsQuery, + getBlock, + ICCText, + ICCCardsSection, + ICCLongText, + ICCQuote, + ICCHightlightText, +} from "./queries"; + +const ForGovernments: React.FC = async () => { + const sections = (await request(forGovernmentsQuery)) + .enterprise.GovernmentSection; + const [{ fullText, highlightedText }] = getBlock( + sections, + "ComponentContentHighlightText", + ); + const [{ longtext }] = getBlock( + sections, + "ComponentContentLongText", + ); + const [{ text }] = getBlock(sections, "ComponentContentText"); + const [{ cards: objectivesCards }, { cards: disputeTypesCards }] = + getBlock(sections, "ComponentContentCardsSection"); + const [quote] = getBlock(sections, "ComponentContentQuote"); + + return ( +
+
+ +

{longtext}

+
+
+ {objectivesCards.map((card) => ( + + ))} +
+ +
+

+ {text} +

+
+ {disputeTypesCards.map((card) => ( +
+ {card.title} +
+ ))} +
+
+
+ ); +}; + +export default ForGovernments; diff --git a/frontend/src/app/enterprise/components/KlerosForGovernments/queries.ts b/frontend/src/app/enterprise/components/KlerosForGovernments/queries.ts new file mode 100644 index 0000000..ab5c8b7 --- /dev/null +++ b/frontend/src/app/enterprise/components/KlerosForGovernments/queries.ts @@ -0,0 +1,109 @@ +import { gql } from "graphql-request"; + +export const forGovernmentsQuery = gql` + { + enterprise { + GovernmentSection { + __typename + ... on ComponentContentHighlightText { + fullText + highlightedText + } + ... on ComponentContentText { + text + } + ... on ComponentContentLongText { + longtext + } + ... on ComponentContentCardsSection { + cards { + icon { + url + } + title + subtitle + link { + link { + url + } + } + } + } + ... on ComponentContentQuote { + header + primarySubtitle + secondarySubtitle + icon { + url + } + testimony + testimonyAuthor + } + } + } + } +`; + +export type ICCHightlightText = { + __typename: "ComponentContentHighlightText"; + fullText: string; + highlightedText: string; +}; + +export type ICCText = { + __typename: "ComponentContentText"; + text: string; +}; + +export type ICCLongText = { + __typename: "ComponentContentLongText"; + longtext: string; +}; + +export type ICCCardsSection = { + __typename: "ComponentContentCardsSection"; + cards: Array<{ + icon: { + url: string; + }; + title: string; + subtitle: string; + link: { + link: { + url: string; + }; + }; + }>; +}; + +export type ICCQuote = { + __typename: "ComponentContentQuote"; + header: string; + primarySubtitle: string; + secondarySubtitle: string; + icon: { + url: string; + }; + testimony: string; + testimonyAuthor: string; +}; + +type GovernmentSectionBlock = + | ICCHightlightText + | ICCText + | ICCLongText + | ICCCardsSection + | ICCQuote; + +export type IForGovernmentsQuery = { + enterprise: { + GovernmentSection: GovernmentSectionBlock[]; + }; +}; + +export function getBlock( + blocks: GovernmentSectionBlock[], + typename: T["__typename"], +): T[] { + return blocks.filter((block) => block.__typename === typename) as T[]; +} diff --git a/frontend/src/app/for-lawyers/components/KlerosMediationSection/index.tsx b/frontend/src/app/enterprise/components/KlerosMediationSection/index.tsx similarity index 96% rename from frontend/src/app/for-lawyers/components/KlerosMediationSection/index.tsx rename to frontend/src/app/enterprise/components/KlerosMediationSection/index.tsx index adecd92..5dc9f74 100644 --- a/frontend/src/app/for-lawyers/components/KlerosMediationSection/index.tsx +++ b/frontend/src/app/enterprise/components/KlerosMediationSection/index.tsx @@ -1,6 +1,7 @@ import clsx from "clsx"; import ExternalLink from "@/components/ExternalLink"; +import Flowchart from "@/components/Flowchart"; import { request } from "@/utils/graphQLClient"; import { @@ -8,7 +9,6 @@ import { ForLawyersPageMediationSectionType, } from "../../queries/kleros-mediation-section"; import Card from "../Card"; -import Flowchart from "../Flowchart"; const KlerosMediationSection: React.FC = async () => { const { header, subtitle, cards, flowchart, benefitsHeader, arrowLink } = ( diff --git a/frontend/src/app/for-lawyers/page.tsx b/frontend/src/app/enterprise/page.tsx similarity index 65% rename from frontend/src/app/for-lawyers/page.tsx rename to frontend/src/app/enterprise/page.tsx index 433e545..6805d4e 100644 --- a/frontend/src/app/for-lawyers/page.tsx +++ b/frontend/src/app/enterprise/page.tsx @@ -5,9 +5,8 @@ import { getPageMetadata } from "@/utils/seo"; import Hero from "./components/Hero"; import KlerosDisputeResolutionSection from "./components/KlerosDisputeResolutionSection"; import KlerosEnterpriseSection from "./components/KlerosEnterpriseSection"; -import KlerosFellowSection from "./components/KlerosFellowSection"; -import KlerosMediationSection from "./components/KlerosMediationSection"; -import KlerosParticipateSection from "./components/KlerosParticipateSection"; +import KlerosForGovernments from "./components/KlerosForGovernments"; +// import KlerosMediationSection from "./components/KlerosMediationSection"; export const generateMetadata = async (): Promise => { return getPageMetadata("forLawyersPageSeo"); @@ -18,10 +17,8 @@ const ForLawyers: React.FC = async () => { <> - + - - ); }; diff --git a/frontend/src/app/for-lawyers/queries/hero.ts b/frontend/src/app/enterprise/queries/hero.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/hero.ts rename to frontend/src/app/enterprise/queries/hero.ts diff --git a/frontend/src/app/for-lawyers/queries/kleros-dispute-resolution-section.ts b/frontend/src/app/enterprise/queries/kleros-dispute-resolution-section.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/kleros-dispute-resolution-section.ts rename to frontend/src/app/enterprise/queries/kleros-dispute-resolution-section.ts diff --git a/frontend/src/app/for-lawyers/queries/kleros-enterprise-section.ts b/frontend/src/app/enterprise/queries/kleros-enterprise-section.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/kleros-enterprise-section.ts rename to frontend/src/app/enterprise/queries/kleros-enterprise-section.ts diff --git a/frontend/src/app/for-lawyers/queries/kleros-mediation-section.ts b/frontend/src/app/enterprise/queries/kleros-mediation-section.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/kleros-mediation-section.ts rename to frontend/src/app/enterprise/queries/kleros-mediation-section.ts diff --git a/frontend/src/app/for-lawyers/queries/lemon-cash.ts b/frontend/src/app/enterprise/queries/lemon-cash.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/lemon-cash.ts rename to frontend/src/app/enterprise/queries/lemon-cash.ts diff --git a/frontend/src/app/for-lawyers/components/Hero.tsx b/frontend/src/app/for-lawyers/components/Hero.tsx deleted file mode 100644 index 6bccd8d..0000000 --- a/frontend/src/app/for-lawyers/components/Hero.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from "react"; - -import Image from "next/image"; - -import Button from "@/components/Button"; -import CustomLink from "@/components/CustomLink"; -import ExternalLink from "@/components/ExternalLink"; -import { request } from "@/utils/graphQLClient"; - -import { heroQuery, HeroQueryType } from "../queries/hero"; - -const Hero: React.FC = async () => { - const { header, subtitle, buttons, arrowLink, background } = ( - await request(heroQuery) - ).forLawyersPageHero; - - return ( -
-
-

- {header} -

-

{subtitle}

-
- {buttons.map((button) => ( - - - - ))} -
- -
- Hero Image Background -
- ); -}; - -export default Hero; diff --git a/frontend/src/app/home/components/Enterprise/index.tsx b/frontend/src/app/home/components/Enterprise/index.tsx new file mode 100644 index 0000000..c0dcdb3 --- /dev/null +++ b/frontend/src/app/home/components/Enterprise/index.tsx @@ -0,0 +1,41 @@ +import React from "react"; + +import clsx from "clsx"; + +import CtaCard from "@/components/CtaCard"; +import { request } from "@/utils/graphQLClient"; + +import { enterpriseQuery, IEnterpriseQuery } from "./queries"; + +const Web3: React.FC = async () => { + const { title, subtitle, cards } = await request( + enterpriseQuery, + ).then(({ homeEnterprise }) => homeEnterprise); + + return ( +
+
+

+ {title} +

+

{subtitle}

+
+ {cards.map(({ icon, title, subtitle }) => ( + + ))} +
+
+
+ ); +}; + +export default Web3; diff --git a/frontend/src/app/home/components/Enterprise/queries.ts b/frontend/src/app/home/components/Enterprise/queries.ts new file mode 100644 index 0000000..c676747 --- /dev/null +++ b/frontend/src/app/home/components/Enterprise/queries.ts @@ -0,0 +1,31 @@ +import { gql } from "graphql-request"; + +export const enterpriseQuery = gql` + { + homeEnterprise { + title + subtitle + cards { + icon { + url + } + title + subtitle + } + } + } +`; + +export type IEnterpriseQuery = { + homeEnterprise: { + title: string; + subtitle: string; + cards: Array<{ + icon: { + url: string; + }; + title: string; + subtitle: string; + }>; + }; +}; diff --git a/frontend/src/app/home/components/Hero.tsx b/frontend/src/app/home/components/Hero.tsx index 448086a..0c68121 100644 --- a/frontend/src/app/home/components/Hero.tsx +++ b/frontend/src/app/home/components/Hero.tsx @@ -4,36 +4,26 @@ import Image from "next/image"; import Button from "@/components/Button"; import CustomLink from "@/components/CustomLink"; -import ExternalLink from "@/components/ExternalLink"; import { request } from "@/utils/graphQLClient"; import { HeroQueryType, heroQuery } from "../queries/hero"; -import TokenStats from "./TokenStats"; - const Hero: React.FC = async () => { const heroData = await request(heroQuery); - const { - title, - subtitle, - primaryButton, - secondaryButton, - arrowLink, - background, - tokenStats, - } = heroData.homePageHero; + const { title, subtitle, primaryButton, secondaryButton, background } = + heroData.homePageHero; return ( -
+

{title}

{subtitle}

-
+
-
@@ -44,12 +34,6 @@ const Hero: React.FC = async () => {
- -
{ const howKlerosWorks = await request( homeHowKlerosWorksQuery, ); - const { label, title, subtitle, explainer } = + const { title, subtitle, explainer } = howKlerosWorks.homeHowKlerosWorksSection; return ( -
+
-

{title}

diff --git a/frontend/src/app/home/components/LearnPosts.tsx b/frontend/src/app/home/components/LearnPosts.tsx index e05ba56..75f22a4 100644 --- a/frontend/src/app/home/components/LearnPosts.tsx +++ b/frontend/src/app/home/components/LearnPosts.tsx @@ -1,5 +1,7 @@ import React from "react"; +import clsx from "clsx"; + import CtaCard from "@/components/CtaCard"; import CustomLink from "@/components/CustomLink"; import { request } from "@/utils/graphQLClient"; @@ -23,9 +25,10 @@ const LearnPosts: React.FC = async () => {

{subtitle}

{cards.map(({ icon, title, subtitle, link }) => ( = ({ tokenStats }) => { - const screenSize = useScreenSize(); - return screenSize === "lg" ? ( -
- {tokenStats.map(({ key, primaryValue, secondaryValue }) => ( -
-
-

- {primaryValue} -

-

{secondaryValue}

-
-

{key}

-
- ))} -
- ) : null; -}; - -export default TokenStats; diff --git a/frontend/src/app/home/components/TrustedBy.tsx b/frontend/src/app/home/components/TrustedBy.tsx index f27f6f7..bb9ecf0 100644 --- a/frontend/src/app/home/components/TrustedBy.tsx +++ b/frontend/src/app/home/components/TrustedBy.tsx @@ -72,9 +72,10 @@ const PartnersCarousel: React.FC = ({ partners }) => ( alt={name} width="42" height="42" - className={ - "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2" - } + className={clsx( + "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2", + "rounded-xl", + )} loading="eager" /> diff --git a/frontend/src/app/home/components/UseCases.tsx b/frontend/src/app/home/components/UseCases.tsx index e71c24b..57d9e75 100644 --- a/frontend/src/app/home/components/UseCases.tsx +++ b/frontend/src/app/home/components/UseCases.tsx @@ -14,7 +14,7 @@ const UseCases: React.FC = async () => { return (

diff --git a/frontend/src/app/home/components/Web3/index.tsx b/frontend/src/app/home/components/Web3/index.tsx new file mode 100644 index 0000000..7c89278 --- /dev/null +++ b/frontend/src/app/home/components/Web3/index.tsx @@ -0,0 +1,41 @@ +import React from "react"; + +import clsx from "clsx"; + +import CtaCard from "@/components/CtaCard"; +import { request } from "@/utils/graphQLClient"; + +import { web3Query, IWeb3Query } from "./queries"; + +const Web3: React.FC = async () => { + const { title, subtitle, cards } = await request(web3Query).then( + ({ homePageWeb3 }) => homePageWeb3, + ); + + return ( +
+
+

+ {title} +

+

{subtitle}

+
+ {cards.map(({ icon, title, subtitle }) => ( + + ))} +
+
+
+ ); +}; + +export default Web3; diff --git a/frontend/src/app/home/components/Web3/queries.ts b/frontend/src/app/home/components/Web3/queries.ts new file mode 100644 index 0000000..1512c23 --- /dev/null +++ b/frontend/src/app/home/components/Web3/queries.ts @@ -0,0 +1,31 @@ +import { gql } from "graphql-request"; + +export const web3Query = gql` + { + homePageWeb3 { + title + subtitle + cards { + icon { + url + } + title + subtitle + } + } + } +`; + +export type IWeb3Query = { + homePageWeb3: { + title: string; + subtitle: string; + cards: Array<{ + icon: { + url: string; + }; + title: string; + subtitle: string; + }>; + }; +}; diff --git a/frontend/src/app/home/page.tsx b/frontend/src/app/home/page.tsx index c2c6899..bf03c9c 100644 --- a/frontend/src/app/home/page.tsx +++ b/frontend/src/app/home/page.tsx @@ -1,16 +1,16 @@ import type { Metadata } from "next"; -import IntegrateSection from "@/components/IntegrateSection"; import { getPageMetadata } from "@/utils/seo"; import CaseStudies from "./components/CaseStudies"; +import Enterprise from "./components/Enterprise"; import GetInTouch from "./components/GetInTouch"; import Hero from "./components/Hero"; import HowKlerosWorks from "./components/HowKlerosWorks"; import LearnPosts from "./components/LearnPosts"; import StartEarning from "./components/StartEarning"; import TrustedBy from "./components/TrustedBy"; -import UseCases from "./components/UseCases"; +import Web3 from "./components/Web3"; export const generateMetadata = async (): Promise => { return await getPageMetadata("homePageSeo"); @@ -21,11 +21,11 @@ const Home: React.FC = async () => { <> + + + - - - diff --git a/frontend/src/app/home/queries/hero.tsx b/frontend/src/app/home/queries/hero.tsx index f5faf10..b6155b9 100644 --- a/frontend/src/app/home/queries/hero.tsx +++ b/frontend/src/app/home/queries/hero.tsx @@ -23,11 +23,6 @@ export const heroQuery = gql` url } } - tokenStats { - key - primaryValue - secondaryValue - } background { url } @@ -57,11 +52,6 @@ export type HeroQueryType = { url: string; }; }; - tokenStats: Array<{ - key: string; - primaryValue: string; - secondaryValue: string; - }>; background: { url: string; }; diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 5c3a260..3775150 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -3,6 +3,9 @@ import React from "react"; import clsx from "clsx"; import { Urbanist } from "next/font/google"; +import "swiper/css"; +import "swiper/css/pagination"; + import Footer from "@/components/Footer"; import Navbar from "@/components/Navbar"; import { HeroImagesQueryType, herosImagesQuery } from "@/queries/heroImages"; @@ -42,7 +45,7 @@ export default async function RootLayout({
-
{children}
+
{children}
diff --git a/frontend/src/app/pnk-token/page.tsx b/frontend/src/app/pnk-token/page.tsx index aa75d2b..9170d9f 100644 --- a/frontend/src/app/pnk-token/page.tsx +++ b/frontend/src/app/pnk-token/page.tsx @@ -3,7 +3,7 @@ import type { Metadata } from "next"; import BuySection from "@/components/PNKToken/BuySection"; import Hero from "@/components/PNKToken/Hero"; import TokenNeedSection from "@/components/PNKToken/TokenNeedSection"; -import TokenomicsSection from "@/components/PNKToken/TokenomicsSection"; +// import TokenomicsSection from "@/components/PNKToken/TokenomicsSection"; import { heroQuery, HeroQueryType } from "@/queries/pnk-token/hero"; import { buySectionQuery, @@ -13,10 +13,10 @@ import { tokenNeedSectionQuery, TokenNeedSectionQueryType, } from "@/queries/pnk-token/token-need"; -import { - TokenomicsSectionQueryType, - tokenomicsSectionQuery, -} from "@/queries/pnk-token/tokenomics"; +// import { +// TokenomicsSectionQueryType, +// tokenomicsSectionQuery, +// } from "@/queries/pnk-token/tokenomics"; import { request } from "@/utils/graphQLClient"; import { getPageMetadata } from "@/utils/seo"; @@ -30,9 +30,9 @@ const PNKToken: React.FC = async () => { const tokenNeedData = await request( tokenNeedSectionQuery, ); - const tokenomicsData = await request( - tokenomicsSectionQuery, - ); + // const tokenomicsData = await request( + // tokenomicsSectionQuery, + // ); return ( <> @@ -41,9 +41,6 @@ const PNKToken: React.FC = async () => { - ); }; diff --git a/frontend/src/app/for-lawyers/components/KlerosParticipateSection/index.tsx b/frontend/src/app/web-three/components/KlerosParticipateSection/index.tsx similarity index 100% rename from frontend/src/app/for-lawyers/components/KlerosParticipateSection/index.tsx rename to frontend/src/app/web-three/components/KlerosParticipateSection/index.tsx diff --git a/frontend/src/app/for-builders/page.tsx b/frontend/src/app/web-three/page.tsx similarity index 89% rename from frontend/src/app/for-builders/page.tsx rename to frontend/src/app/web-three/page.tsx index c40186a..ad90ff2 100644 --- a/frontend/src/app/for-builders/page.tsx +++ b/frontend/src/app/web-three/page.tsx @@ -2,7 +2,6 @@ import type { Metadata } from "next"; import Hero from "@/components/ForBuilders/Hero"; import UseCasesSection from "@/components/ForBuilders/UseCasesSection"; -import IntegrateSection from "@/components/IntegrateSection"; import { heroQuery, HeroQueryType } from "@/queries/for-builders/hero"; import { useCasesQuery, @@ -11,6 +10,8 @@ import { import { request } from "@/utils/graphQLClient"; import { getPageMetadata } from "@/utils/seo"; +import KlerosParticipateSection from "./components/KlerosParticipateSection"; + export const generateMetadata = async (): Promise => { return await getPageMetadata("forBuildersPageSeo"); }; @@ -25,7 +26,7 @@ const ForBuilders: React.FC = async () => { - + ); }; diff --git a/frontend/src/app/for-lawyers/queries/kleros-participation-section.ts b/frontend/src/app/web-three/queries/kleros-participation-section.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/kleros-participation-section.ts rename to frontend/src/app/web-three/queries/kleros-participation-section.ts diff --git a/frontend/src/assets/svgs/icons/arrow.svg b/frontend/src/assets/svgs/icons/arrow.svg new file mode 100644 index 0000000..c1c2013 --- /dev/null +++ b/frontend/src/assets/svgs/icons/arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/components/CtaCard.tsx b/frontend/src/components/CtaCard.tsx index 8b64c01..3265463 100644 --- a/frontend/src/components/CtaCard.tsx +++ b/frontend/src/components/CtaCard.tsx @@ -45,7 +45,11 @@ const CtaCard: React.FC = ({

{title}

-

+

{description}

{typeof arrowLink !== "undefined" ? ( diff --git a/frontend/src/components/DownloadButton.tsx b/frontend/src/components/DownloadButton.tsx index 770a672..ace8d49 100644 --- a/frontend/src/components/DownloadButton.tsx +++ b/frontend/src/components/DownloadButton.tsx @@ -5,7 +5,7 @@ import React from "react"; import clsx from "clsx"; import Image from "next/image"; -import DownloadIcon from "@/assets/svgs/icons/download.svg"; +import DownloadIcon from "@/assets/svgs/icons/download.svg?url"; interface IDownloadButton { name: string; diff --git a/frontend/src/components/Dropdown/index.tsx b/frontend/src/components/Dropdown/index.tsx index 46d2160..f62a17e 100644 --- a/frontend/src/components/Dropdown/index.tsx +++ b/frontend/src/components/Dropdown/index.tsx @@ -4,7 +4,7 @@ import clsx from "clsx"; import Image from "next/image"; import { useToggle, useClickAway } from "react-use"; -import DownArrowIcon from "@/assets/svgs/icons/down-arrow-blue.svg"; +import DownArrowIcon from "@/assets/svgs/icons/down-arrow-blue.svg?url"; import DropdownItemButton from "./DropdownItemButton"; diff --git a/frontend/src/components/Earn/Hero.tsx b/frontend/src/components/Earn/Hero.tsx index d4a26d5..575c66d 100644 --- a/frontend/src/components/Earn/Hero.tsx +++ b/frontend/src/components/Earn/Hero.tsx @@ -1,6 +1,5 @@ import React from "react"; -import clsx from "clsx"; import Image from "next/image"; import { HeroQueryType } from "@/queries/earn/hero"; @@ -10,7 +9,7 @@ interface IHero { } const Hero: React.FC = ({ heroData }) => { - const { title, subtitle, statDisplay, background } = heroData.earnPageHero; + const { title, subtitle, background } = heroData.earnPageHero; return (
@@ -18,34 +17,6 @@ const Hero: React.FC = ({ heroData }) => { {title}

{subtitle}

- -
- icon -
- -
-

- {statDisplay.statValue} -

-

- {statDisplay.statValueSuffix} -

-
-
-
= ({ {title}
{description}
-
- {ctaCard.map((card) => ( - +
+ {ctaCard.map((card, i) => ( + ))}
{ cta: result.footerSubscribeCta, })); return ( -
+
{ )} >

{cta.cta_text}

- + + +
diff --git a/frontend/src/components/ForBuilders/Hero.tsx b/frontend/src/components/ForBuilders/Hero.tsx index 12c84ab..503ce6a 100644 --- a/frontend/src/components/ForBuilders/Hero.tsx +++ b/frontend/src/components/ForBuilders/Hero.tsx @@ -2,7 +2,7 @@ import React from "react"; import Image from "next/image"; -import LinkArrow from "@/assets/svgs/icons/link-arrow.svg"; +import LinkArrow from "@/assets/svgs/icons/link-arrow.svg?url"; import Button from "@/components/Button"; import { HeroQueryType } from "@/queries/for-builders/hero"; diff --git a/frontend/src/components/ForBuilders/UseCasesSection/DAOSection/KeyChallenges/SafeSnap.tsx b/frontend/src/components/ForBuilders/UseCasesSection/DAOSection/KeyChallenges/SafeSnap.tsx index da741f2..4550fd1 100644 --- a/frontend/src/components/ForBuilders/UseCasesSection/DAOSection/KeyChallenges/SafeSnap.tsx +++ b/frontend/src/components/ForBuilders/UseCasesSection/DAOSection/KeyChallenges/SafeSnap.tsx @@ -11,7 +11,12 @@ interface ISafeSnap { const SafeSnap: React.FC = ({ useCasesData }) => { return ( -
+

{useCasesData.solutionSections.title}

@@ -29,7 +34,10 @@ const SafeSnap: React.FC = ({ useCasesData }) => { key={useCasesData.solutionSections?.solution?.solution_name} solution={useCasesData.solutionSections.solution} variant="small" - className="border-gradient-purple-blue !rounded-2xl border-none before:!p-[1px]" + className={clsx( + "border-gradient-purple-blue !rounded-2xl border-none", + "before:!p-[1px]", + )} />
@@ -38,17 +46,27 @@ const SafeSnap: React.FC = ({ useCasesData }) => {
{useCasesData.solutionSections.partnersHeader}
-
+
{useCasesData.solutionSections.partners.map((partner) => ( {partner?.name} = ({ useCasesData }) => { return ( -
-

+
+

{useCasesData.sectionHeader}

diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/HighlightedText.tsx b/frontend/src/components/HighlightedText.tsx similarity index 76% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/HighlightedText.tsx rename to frontend/src/components/HighlightedText.tsx index aecf8d1..77d221c 100644 --- a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/HighlightedText.tsx +++ b/frontend/src/components/HighlightedText.tsx @@ -1,10 +1,19 @@ import clsx from "clsx"; +import { ClassValue } from "clsx"; -import { HighlightedText as IHighlightedText } from "../../queries/kleros-enterprise-section"; +interface IHighlightedText { + fullText: string; + highlightedText: string; + fullTextStyle: ClassValue; + highlightedTextStyle: ClassValue; +} -const HighlightedText: React.FC< - IHighlightedText & { fullTextStyle?: string; highlightedTextStyle?: string } -> = ({ fullText, highlightedText, fullTextStyle, highlightedTextStyle }) => { +const HighlightedText: React.FC = ({ + fullText, + highlightedText, + fullTextStyle, + highlightedTextStyle, +}) => { const FullText = ( { +interface IIntegrateSection { + listMode?: boolean; +} + +const IntegrateSection: React.FC = async ({ listMode }) => { const integrateData = await request(integrateQuery).then( (res) => res.forBuildersPageIntegrateSection, ); @@ -25,6 +28,7 @@ const IntegrateSection: React.FC = async () => {

{ button={integrateData.arrowLink} className="!mt-12 lg:!mt-16" /> -
); }; diff --git a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/KlerosEscrowSection.tsx b/frontend/src/components/KlerosEscrowSection.tsx similarity index 94% rename from frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/KlerosEscrowSection.tsx rename to frontend/src/components/KlerosEscrowSection.tsx index eb3e405..6984007 100644 --- a/frontend/src/app/for-lawyers/components/KlerosDisputeResolutionSection/KlerosEscrowSection.tsx +++ b/frontend/src/components/KlerosEscrowSection.tsx @@ -1,11 +1,10 @@ import ExternalLink from "@/components/ExternalLink"; -import { request } from "@/utils/graphQLClient"; - +import Flowchart from "@/components/Flowchart"; import { ForLawyersPageKlerosEscrowSection, forLawyersPageKlerosEscrowSectionQuery, -} from "../../queries/kleros-escrow-section"; -import Flowchart from "../Flowchart"; +} from "@/queries/kleros-escrow-section"; +import { request } from "@/utils/graphQLClient"; const KlerosEscrowSection: React.FC = async () => { const { diff --git a/frontend/src/components/MobilePagination.tsx b/frontend/src/components/MobilePagination.tsx new file mode 100644 index 0000000..d46fa5a --- /dev/null +++ b/frontend/src/components/MobilePagination.tsx @@ -0,0 +1,54 @@ +import clsx from "clsx"; + +import Arrow from "@/assets/svgs/icons/arrow.svg"; + +interface IMobilePagination { + currentPage: number; + numPages: number; + callback: (newPage: number) => void; + className?: string; +} + +const Pagination: React.FC = ({ + currentPage, + numPages, + callback, + className, +}) => { + return ( +
+ + + +
+ ); +}; + +export default Pagination; diff --git a/frontend/src/components/Navbar/AppsDropdownContent/index.tsx b/frontend/src/components/Navbar/AppsDropdownContent/index.tsx index 3cb407e..cc56e93 100644 --- a/frontend/src/components/Navbar/AppsDropdownContent/index.tsx +++ b/frontend/src/components/Navbar/AppsDropdownContent/index.tsx @@ -7,12 +7,14 @@ import Card from "./Card"; interface AppsDropdownContentProps { appsSection: AppsSection; + listMode?: boolean; closeFn?: () => void; className?: string; } const AppsDropdownContent: React.FC = ({ appsSection, + listMode = false, closeFn, className, }) => ( @@ -20,8 +22,10 @@ const AppsDropdownContent: React.FC = ({
{appsSection?.solutions.map((solution, i) => ( @@ -35,7 +39,7 @@ const AppsDropdownContent: React.FC = ({ ))}
@@ -50,9 +54,12 @@ const getVariant = (index: number): "large" | "medium" | "small" => { const getRowSpan = ( index: number, -): "md:row-span-2 lg:row-span-4" | "md:row-span-2" | undefined => { - if (index === 0) return "md:row-span-2 lg:row-span-4"; - if (index < 3) return "md:row-span-2"; +): + | "md:row-span-1 lg:row-span-4" + | "md:row-span-1 lg:row-span-2" + | undefined => { + if (index === 0) return "md:row-span-1 lg:row-span-4"; + if (index < 3) return "md:row-span-1 lg:row-span-2"; }; export default AppsDropdownContent; diff --git a/frontend/src/components/Navbar/DesktopNavigation.tsx b/frontend/src/components/Navbar/DesktopNavigation.tsx index 97ae8d3..7b5434c 100644 --- a/frontend/src/components/Navbar/DesktopNavigation.tsx +++ b/frontend/src/components/Navbar/DesktopNavigation.tsx @@ -8,7 +8,7 @@ import Image from "next/image"; import Link from "next/link"; import { useLockBodyScroll } from "react-use"; -import DownArrowIcon from "@/assets/svgs/icons/down-arrow.svg"; +import DownArrowIcon from "@/assets/svgs/icons/down-arrow.svg?url"; import { AppsSection, NavLink, diff --git a/frontend/src/components/Navbar/MobileMenu.tsx b/frontend/src/components/Navbar/MobileMenu.tsx index fc4326d..6d7b3d7 100644 --- a/frontend/src/components/Navbar/MobileMenu.tsx +++ b/frontend/src/components/Navbar/MobileMenu.tsx @@ -7,7 +7,7 @@ import clsx from "clsx"; import { motion, AnimatePresence } from "motion/react"; import Image from "next/image"; -import DownArrowIcon from "@/assets/svgs/icons/down-arrow.svg"; +import DownArrowIcon from "@/assets/svgs/icons/down-arrow.svg?url"; import Button from "@/components/Button"; import CustomLink from "@/components/CustomLink"; import { diff --git a/frontend/src/components/Navbar/index.tsx b/frontend/src/components/Navbar/index.tsx index 411e5d2..28a976e 100644 --- a/frontend/src/components/Navbar/index.tsx +++ b/frontend/src/components/Navbar/index.tsx @@ -36,7 +36,7 @@ const Navbar: React.FC = ({ navbarData }) => { "backdrop-blur-md", )} > -
+
= ({ exchanges }) => { height={64} src={exchange.icon.url} alt={exchange.name} - className={hoverEffect} + className={clsx(hoverEffect, "rounded-full bg-white")} /> ))} diff --git a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/LemonCashSection.tsx b/frontend/src/components/Quote.tsx similarity index 56% rename from frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/LemonCashSection.tsx rename to frontend/src/components/Quote.tsx index 14311d5..be62340 100644 --- a/frontend/src/app/for-lawyers/components/KlerosEnterpriseSection/LemonCashSection.tsx +++ b/frontend/src/components/Quote.tsx @@ -1,33 +1,38 @@ import clsx from "clsx"; import Image from "next/image"; -import { request } from "@/utils/graphQLClient"; - -import { - lemonCashSectionQuery, - lemonCashSectionQueryType, -} from "../../queries/lemon-cash"; - -const LemonCashSection: React.FC = async () => { - const { - header, - primarySubtitle, - secondarySubtitle, - icon, - testimony, - testimonyAuthor, - } = (await request(lemonCashSectionQuery)) - .lemonCashSection; +interface IQuote { + header: string; + primarySubtitle: string; + secondarySubtitle?: string; + icon: { + url: string; + }; + testimony: string; + testimonyAuthor: string; + className?: string; +} +const Quote: React.FC = async ({ + header, + primarySubtitle, + secondarySubtitle, + icon, + testimony, + testimonyAuthor, + className, +}) => { return ( -
-

+
+

{header}

{primarySubtitle}

-

- {secondarySubtitle} -

+ {secondarySubtitle ? ( +

+ {secondarySubtitle} +

+ ) : null}
{ height={180} src={icon.url} alt="Lemon cash" - className="flex-shrink-0" + className="flex-shrink-0 rounded-2xl" />

{testimony}

@@ -51,4 +56,4 @@ const LemonCashSection: React.FC = async () => { ); }; -export default LemonCashSection; +export default Quote; diff --git a/frontend/src/components/ResearchDevelopment/Hero.tsx b/frontend/src/components/ResearchDevelopment/Hero.tsx index e2c8f16..9e77686 100644 --- a/frontend/src/components/ResearchDevelopment/Hero.tsx +++ b/frontend/src/components/ResearchDevelopment/Hero.tsx @@ -2,47 +2,21 @@ import React from "react"; import Image from "next/image"; -import Button from "@/components/Button"; import { HeroQueryType } from "@/queries/research-development/hero"; -import CustomLink from "../CustomLink"; -import ExternalLink from "../ExternalLink"; - interface IHero { heroData: HeroQueryType; } const Hero: React.FC = ({ heroData }) => { - const { header, subtitle, buttons, arrowLink, background } = - heroData.rAndDPageHero; + const { header, subtitle, background } = heroData.rAndDPageHero; return ( -
+

{header}

{subtitle}

-
- {buttons.map((button) => ( - - - - ))} -
-
- {arrowLink.map((link) => ( - span]:text-base [&>span]:text-primary-text" - } - /> - ))} -
= ({ width={150} height={150} src={profilePic.url} - className="mb-6 aspect-square object-contain" + className="mb-6 aspect-square rounded-2xl object-contain" alt="Profile pic" /> @@ -35,10 +35,12 @@ const FellowCard: React.FC = ({

{workText}

-
- - -
+ {reportUrl ? ( +
+ + +
+ ) : null}
); }; diff --git a/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/Fellows/index.tsx b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/Fellows/index.tsx index 15b2702..8341b56 100644 --- a/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/Fellows/index.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/Fellows/index.tsx @@ -1,6 +1,7 @@ "use client"; -import { useMemo, useState } from "react"; +import { useMemo, useState, useEffect } from "react"; +import MobilePagination from "@/components/MobilePagination"; import Pagination from "@/components/Pagination"; import { useScreenSize } from "@/hooks/useScreenSize"; import { Fellow } from "@/queries/research-development/tabs-data"; @@ -23,9 +24,22 @@ const Fellows: React.FC<{ fellows: Fellow[] }> = ({ fellows }) => { itemsPerPage * (page - 1), Math.min(fellows.length, itemsPerPage * page), ), - [itemsPerPage, page], + [itemsPerPage, fellows, page], ); + const numPages = useMemo( + () => Math.ceil(fellows.length / itemsPerPage), + [fellows, itemsPerPage], + ); + + useEffect(() => { + if (itemsPerPage === 1) { + setPage(page * 2 - 1); + } else { + setPage(Math.min(Math.floor(page / 2) + 1, numPages)); + } + }, [itemsPerPage]); + return (
@@ -33,12 +47,21 @@ const Fellows: React.FC<{ fellows: Fellow[] }> = ({ fellows }) => { ))}
- setPage(val)} - className="w-full justify-center" - /> + {screenSize === "lg" ? ( + setPage(val)} + className="w-full justify-center" + /> + ) : ( + setPage(val)} + className="w-full justify-center" + /> + )}
); }; diff --git a/frontend/src/app/for-lawyers/components/KlerosFellowSection/index.tsx b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/KlerosFellowSection/index.tsx similarity index 82% rename from frontend/src/app/for-lawyers/components/KlerosFellowSection/index.tsx rename to frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/KlerosFellowSection/index.tsx index 4a68b18..ad18eec 100644 --- a/frontend/src/app/for-lawyers/components/KlerosFellowSection/index.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/KlerosFellowSection/index.tsx @@ -1,13 +1,12 @@ import clsx from "clsx"; import Image from "next/image"; -import ExternalLink from "@/components/ExternalLink"; import { request } from "@/utils/graphQLClient"; import { ForLawyersPageBecomeAFellowSection, forLawyersPageBecomeAFellowSectionQuery, -} from "../../queries/kleros-become-a-fellow-section"; +} from "./queries"; const KlerosFellowSection: React.FC = async () => { const { @@ -16,7 +15,6 @@ const KlerosFellowSection: React.FC = async () => { firstSubtitle, secondSubtitle, fellowImages, - arrowLink, } = ( await request( forLawyersPageBecomeAFellowSectionQuery, @@ -28,7 +26,7 @@ const KlerosFellowSection: React.FC = async () => { className={clsx( "bg-background-2", "flex flex-col gap-16", - "px-6 py-12 lg:px-32 lg:py-24", + "py-12 lg:py-24", )} >
@@ -52,12 +50,6 @@ const KlerosFellowSection: React.FC = async () => { /> ))}
- -
); }; diff --git a/frontend/src/app/for-lawyers/queries/kleros-become-a-fellow-section.ts b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/KlerosFellowSection/queries.ts similarity index 100% rename from frontend/src/app/for-lawyers/queries/kleros-become-a-fellow-section.ts rename to frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/KlerosFellowSection/queries.ts diff --git a/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/WaitlistSection.tsx b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/WaitlistSection.tsx index 5ccc54b..e8dffbe 100644 --- a/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/WaitlistSection.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/WaitlistSection.tsx @@ -12,6 +12,8 @@ const WaitlistSection: React.FC = ({ arrowLink, icon, }) => { + const fellowshipBatchIsLive = false; + return (
= ({ {header}

- - - + {fellowshipBatchIsLive ? ( + + + + ) : null}
diff --git a/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/index.tsx b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/index.tsx index 81e8b73..9f47e02 100644 --- a/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/index.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/FellowshipTabContent/index.tsx @@ -5,6 +5,7 @@ import { } from "@/queries/research-development/tabs-data"; import Fellows from "./Fellows"; +import KlerosFellowSection from "./KlerosFellowSection"; import Testimonials from "./Testimonials"; interface IFellowshipTabContent extends RAndDPageFellowshipTabSection { @@ -32,11 +33,11 @@ const FellowshipTabContent: React.FC = ({ {testimonialsHeader}

-

{fellowsHeader}

+
); diff --git a/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/PublicationCard.tsx b/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/PublicationCard.tsx index 534d766..66109f7 100644 --- a/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/PublicationCard.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/PublicationCard.tsx @@ -1,3 +1,5 @@ +import { RefObject } from "react"; + import clsx from "clsx"; import Divider from "@/components/Divider"; @@ -9,15 +11,18 @@ import { interface IPublicationCard { publication: TeamPublication | ThirdPartyPublication; + ref?: RefObject; className?: string; } const PublicationCard: React.FC = ({ publication, + ref, className, }) => { return (
= ({ return (
-
- {items.map((publication) => ( - - ))} -
- setPage(val)} - className="w-full justify-center" - /> + {screenSize === "sm" ? ( + <> + + {teamPublications.map((publication) => ( + + + + ))} + + + ) : ( + <> +
+ {items.map((publication) => ( + + ))} +
+ setPage(val)} + className="w-full justify-center" + /> + + )}
); }; diff --git a/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/ThirdPartyPublications.tsx b/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/ThirdPartyPublications.tsx index 3f29072..b653278 100644 --- a/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/ThirdPartyPublications.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/PublicationsSection/ThirdPartyPublications.tsx @@ -1,6 +1,9 @@ "use client"; import { useMemo, useState } from "react"; +import { Pagination as SwiperPagination } from "swiper/modules"; +import { Swiper, SwiperSlide } from "swiper/react"; + import Pagination from "@/components/Pagination"; import { useScreenSize } from "@/hooks/useScreenSize"; import { ThirdPartyPublication } from "@/queries/research-development/tabs-data"; @@ -30,17 +33,45 @@ const ThirdPartyPublications: React.FC<{ return (
-
- {items.map((publication) => ( - - ))} -
- setPage(val)} - className="w-full justify-center" - /> + {screenSize === "sm" ? ( + <> + + {thirdPartyPublications.map((publication) => ( + + + + ))} + + + ) : ( + <> +
+ {items.map((publication) => ( + + ))} +
+ setPage(val)} + className="w-full justify-center" + /> + + )}
); }; diff --git a/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/ResearchSection/index.tsx b/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/ResearchSection/index.tsx index 087ecda..6679a88 100644 --- a/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/ResearchSection/index.tsx +++ b/frontend/src/components/ResearchDevelopment/TabSection/ResearchTabContent/ResearchSection/index.tsx @@ -18,8 +18,6 @@ interface IResearchSection const ResearchSection: React.FC = ({ researchHeader, - researchParagraph, - researchSecondaryHeader, researchCardLabel, researches, }) => { @@ -28,10 +26,6 @@ const ResearchSection: React.FC = ({

{researchHeader}

-

- {researchSecondaryHeader} -

-

{researchParagraph}

diff --git a/frontend/src/queries/footer.tsx b/frontend/src/queries/footer.tsx index 49ff9e0..c486f57 100644 --- a/frontend/src/queries/footer.tsx +++ b/frontend/src/queries/footer.tsx @@ -26,7 +26,12 @@ export const footerQuery = gql` } notice cta_text - cta_button + cta_button { + text + link { + url + } + } } } `; @@ -56,6 +61,11 @@ export type FooterQueryType = { }; notice: string; cta_text: string; - cta_button: string; + cta_button: { + text: string; + link: { + url: string; + }; + }; }; }; diff --git a/frontend/src/app/for-lawyers/queries/kleros-escrow-section.ts b/frontend/src/queries/kleros-escrow-section.ts similarity index 90% rename from frontend/src/app/for-lawyers/queries/kleros-escrow-section.ts rename to frontend/src/queries/kleros-escrow-section.ts index 1b06cfc..0521c63 100644 --- a/frontend/src/app/for-lawyers/queries/kleros-escrow-section.ts +++ b/frontend/src/queries/kleros-escrow-section.ts @@ -1,9 +1,8 @@ import { gql } from "graphql-request"; +import { Flowchart } from "@/app/enterprise/queries/kleros-mediation-section"; import { ArrowLink } from "@/queries/navbar"; -import { Flowchart } from "./kleros-mediation-section"; - export const forLawyersPageKlerosEscrowSectionQuery = gql` { forLawyersPageKlerosEscrowSection { diff --git a/frontend/src/queries/research-development/tabs-data.ts b/frontend/src/queries/research-development/tabs-data.ts index c0899da..d214973 100644 --- a/frontend/src/queries/research-development/tabs-data.ts +++ b/frontend/src/queries/research-development/tabs-data.ts @@ -92,7 +92,7 @@ export const tabSectionQuery = gql` } } - fellows { + fellows(sort: "createdAt:desc") { name profession workText diff --git a/frontend/svgr.d.ts b/frontend/svgr.d.ts new file mode 100644 index 0000000..cbc56ce --- /dev/null +++ b/frontend/svgr.d.ts @@ -0,0 +1,11 @@ +declare module "*.svg" { + import { FC, SVGProps } from "react"; + const content: FC>; + export default content; +} + +declare module "*.svg?url" { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const content: any; + export default content; +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 667307b..2f7722e 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -29,6 +29,7 @@ ] }, "include": [ + "svgr.d.ts", "**/*.ts", "**/*.tsx", "next-env.d.ts", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index ef45748..a7812b1 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -12,6 +12,1184 @@ __metadata: languageName: node linkType: hard +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10/db2c2122af79d31ca916755331bb4bac96feb2b334cdaca5097a6b467fdd41963b89b14b6836a14f083de7ff887fc78fa1b3c10b14e743d33e12dbfe5ee3d223 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/compat-data@npm:7.26.8" + checksum: 10/bdddf577f670e0e12996ef37e134856c8061032edb71a13418c3d4dae8135da28910b7cd6dec6e668ab3a41e42089ef7ee9c54ef52fe0860b54cb420b0d14948 + languageName: node + linkType: hard + +"@babel/core@npm:^7.21.3": + version: 7.26.10 + resolution: "@babel/core@npm:7.26.10" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.10" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/68f6707eebd6bb8beed7ceccf5153e35b86c323e40d11d796d75c626ac8f1cc4e1f795584c5ab5f886bc64150c22d5088123d68c069c63f29984c4fc054d1dab + languageName: node + linkType: hard + +"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/generator@npm:7.27.0" + dependencies: + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10/5447c402b1d841132534a0a9715e89f4f28b6f2886a23e70aaa442150dba4a1e29e4e2351814f439ee1775294dccdef9ab0a4192b6e6a5ad44e24233b3611da2 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10/41edda10df1ae106a9b4fe617bf7c6df77db992992afd46192534f5cff29f9e49a303231733782dd65c5f9409714a529f215325569f14282046e9d3b7a1ffb6c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9, @babel/helper-compilation-targets@npm:^7.26.5": + version: 7.27.0 + resolution: "@babel/helper-compilation-targets@npm:7.27.0" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/32224b512e813fc808539b4ca7fca8c224849487c365abcef8cb8b0eea635c65375b81429f82d076e9ec1f3f3b3db1d0d56aac4d482a413f58d5ad608f912155 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.25.9, @babel/helper-create-class-features-plugin@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.27.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/5db70126719ad12773a06a7ae50872c597a2a401ac73906ade3f5c1cf91d62ad6ed5fd5397320ec9b0d8bb2c5623aefda35352469abc8e42a5797dd7e9da0675 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.27.0 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + regexpu-core: "npm:^6.2.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/e5734deb62732264211df79f37943d83641f2f8fea72a1e8cf14b358622b88f5e8be3122f706cfa0cf5880000a8382b1fff23519bfd075c8ce17d03c11982e4b + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": + version: 0.6.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/dc2ebdd7bc880fff8cd09a5b0bd208e53d8b7ea9070f4b562dd3135ea6cd68ef80cf4a74f40424569a00c00eabbcdff67b2137a874c4f82f3530246dad267a3b + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/ef8cc1c1e600b012b312315f843226545a1a89f25d2f474ce2503fd939ca3f8585180f291a3a13efc56cf13eddc1d41a3a040eae9a521838fd59a6d04cc82490 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/e090be5dee94dda6cd769972231b21ddfae988acd76b703a480ac0c96f3334557d70a965bf41245d6ee43891e7571a8b400ccf2b2be5803351375d0f4e5bcf08 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/9841d2a62f61ad52b66a72d08264f23052d533afc4ce07aec2a6202adac0bfe43014c312f94feacb3291f4c5aafe681955610041ece2c276271adce3f570f2f5 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10/f09d0ad60c0715b9a60c31841b3246b47d67650c512ce85bbe24a3124f1a4d66377df793af393273bc6e1015b0a9c799626c48e53747581c1582b99167cc65dc + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10/1cc0fd8514da3bb249bed6c27227696ab5e84289749d7258098701cffc0c599b7f61ec40dd332f8613030564b79899d9826813c96f966330bcfc7145a8377857 + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/ea37ad9f8f7bcc27c109963b8ebb9d22bac7a5db2a51de199cb560e251d5593fe721e46aab2ca7d3e7a24b0aa4aff0eaf9c7307af9c2fd3a1d84268579073052 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.25.9, @babel/helper-replace-supers@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/cfb911d001a8c3d2675077dbb74ee8d7d5533b22d74f8d775cefabf19c604f6cbc22cfeb94544fe8efa626710d920f04acb22923017e68f46f5fdb1cb08b32ad + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/fdbb5248932198bc26daa6abf0d2ac42cab9c2dbb75b7e9f40d425c8f28f09620b886d40e7f9e4e08ffc7aaa2cefe6fc2c44be7c20e81f7526634702fb615bdc + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10/9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10/988dcf49159f1c920d6b9486762a93767a6e84b5e593a6342bc235f3e47cc1cb0c048d8fca531a48143e6b7fce1ff12ddbf735cf5f62cb2f07192cf7c27b89cf + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.26.10": + version: 7.27.0 + resolution: "@babel/helpers@npm:7.27.0" + dependencies: + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10/0dd40ba1e5ba4b72d1763bb381384585a56f21a61a19dc1b9a03381fe8e840207fdaa4da645d14dc028ad768087d41aad46347cc6573bd69d82f597f5a12dc6f + languageName: node + linkType: hard + +"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/parser@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.27.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10/0fee9f05c6db753882ca9d10958301493443da9f6986d7020ebd7a696b35886240016899bc0b47d871aea2abcafd64632343719742e87432c8145e0ec2af2a03 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/3c23ef34e3fd7da3578428cb488180ab6b7b96c9c141438374b6d87fa814d87de099f28098e5fc64726c19193a1da397e4d2351d40b459bcd2489993557e2c74 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/d3e14ab1cb9cb50246d20cab9539f2fbd1e7ef1ded73980c8ad7c0561b4d5e0b144d362225f0976d47898e04cbd40f2000e208b0913bd788346cf7791b96af91 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/a9d1ee3fd100d3eb6799a2f2bbd785296f356c531d75c9369f71541811fa324270258a374db103ce159156d006da2f33370330558d0133e6f7584152c34997ca + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10/5b298b28e156f64de51cdb03a2c5b80c7f978815ef1026f3ae8b9fc48d28bf0a83817d8fbecb61ef8fb94a7201f62cca5103cc6e7b9e8f28e38f766d7905b378 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/cb893e5deb9312a0120a399835b6614a016c036714de7123c8edabccc56a09c4455016e083c5c4dd485248546d4e5e55fc0e9132b3c3a9bd16abf534138fe3f2 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fab70f399aa869275690ec6c7cedb4ef361d4e8b6f55c3d7b04bfee61d52fb93c87cec2c65d73cddbaca89fb8ef5ec0921fce675c9169d9d51f18305ab34e78a + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b58f2306df4a690ca90b763d832ec05202c50af787158ff8b50cdf3354359710bce2e1eb2b5135fcabf284756ac8eadf09ca74764aa7e76d12a5cac5f6b21e67 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c122aa577166c80ee67f75aebebeef4150a132c4d3109d25d7fc058bf802946f883e330f20b78c1d3e3a5ada631c8780c263d2d01b5dbaecc69efefeedd42916 + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bb609d1ffb50b58f0c1bac8810d0e46a4f6c922aa171c458f3a19d66ee545d36e782d3bffbbc1fed0dc65a558bdce1caf5279316583c0fff5a2c1658982a8563 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0e9821e8ba7d660c36c919654e4144a70546942ae184e85b8102f2322451eae102cbfadbcadd52ce077a2b44b400ee52394c616feab7b5b9f791b910e933fd33 + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/a651d700fe63ff0ddfd7186f4ebc24447ca734f114433139e3c027bc94a900d013cf1ef2e2db8430425ba542e39ae160c3b05f06b59fd4656273a3df97679e9c + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/c29f081224859483accf55fb4d091db2aac0dcd0d7954bac5ca889030cc498d3f771aa20eb2e9cd8310084ec394d85fa084b97faf09298b6bc9541182b3eb5bb + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.26.8" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.8" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8fb43823f56281b041dbd358de4f59fccb3e20aac133a439caaeb5aaa30671b3482da9a8515b169fef108148e937c1248b7d6383979c3b30f9348e3fabd29b8e + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b3ad50fb93c171644d501864620ed23952a46648c4df10dc9c62cc9ad08031b66bd272cfdd708faeee07c23b6251b16f29ce0350473e4c79f0c32178d38ce3a6 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f2046c09bf8e588bfb1a6342d0eee733189102cf663ade27adb0130f3865123af5816b40a55ec8d8fa09271b54dfdaf977cd2f8e0b3dc97f18e690188d5a2174 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.27.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/5195fc5890cb8253c4d774d742703832829caefa118a19bca7d9bb0b0c467b61459b89a2d526eb0d262969ed257226d1a77b2504deed0eeac62ffdf02c884095 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a8d69e2c285486b63f49193cbcf7a15e1d3a5f632c1c07d7a97f65306df7f554b30270b7378dde143f8b557d1f8f6336c643377943dec8ec405e4cd11e90b9ea + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10/60cba3f125a7bc4f90706af0a011697c7ffd2eddfba336ed6f84c5f358c44c3161af18b0202475241a96dee7964d96dd3a342f46dbf85b75b38bb789326e1766 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1914ebe152f35c667fba7bf17ce0d9d0f33df2fb4491990ce9bb1f9ec5ae8cbd11d95b0dc371f7a4cc5e7ce4cf89467c3e34857302911fc6bfb6494a77f7b37e + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa1a9064d6a9d3b569b8cae6972437315a38a8f6553ee618406da5122500a06c2f20b9fa93aeed04dd895923bf6f529c09fc79d4be987ec41785ceb7d2203122 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/51b24fbead910ad0547463b2d214dd08076b22a66234b9f878b8bac117603dd23e05090ff86e9ffc373214de23d3e5bf1b095fe54cce2ca16b010264d90cf4f5 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8bdf1bb9e6e3a2cc8154ae88a3872faa6dc346d6901994505fb43ac85f858728781f1219f40b67f7bb0687c507450236cb7838ac68d457e65637f98500aa161b + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/10dbb87bc09582416f9f97ca6c40563655abf33e3fd0fee25eeaeff28e946a06651192112a2bc2b18c314a638fa15c55b8365a677ef67aa490848cefdc57e1d8 + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/f7233cf596be8c6843d31951afaf2464a62a610cb89c72c818c044765827fab78403ab8a7d3a6386f838c8df574668e2a48f6c206b1d7da965aff9c6886cb8e6 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aaca1ccda819be9b2b85af47ba08ddd2210ff2dbea222f26e4cd33f97ab020884bf81a66197e50872721e9daf36ceb5659502c82199884ea74d5d75ecda5c58b + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.26.3": + version: 7.26.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0d8da2e552a50a775fe8e6e3c32621d20d3c5d1af7ab40ca2f5c7603de057b57b1b5850f74040e4ecbe36c09ac86d92173ad1e223a2a3b3df3cc359ca4349738 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/4dfe8df86c5b1d085d591290874bb2d78a9063090d71567ed657a418010ad333c3f48af2c974b865f53bbb718987a065f89828d43279a7751db1a56c9229078d + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/plugin-transform-for-of@npm:7.26.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/25df1ea3bcecc1bcef99f273fbd8f4a73a509ab7ef3db93629817cb02f9d24868ca3760347f864c8fa4ab79ffa86fb09b2f2de1f2ba1f73f27dbe0c3973c6868 + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a8d7c8d019a6eb57eab5ca1be3e3236f175557d55b1f3b11f8ad7999e3fbb1cf37905fd8cb3a349bffb4163a558e9f33b63f631597fdc97c858757deac1b2fd7 + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e2498d84761cfd05aaea53799933d55af309c9d6204e66b38778792d171e4d1311ad34f334259a3aa3407dd0446f6bd3e390a1fcb8ce2e42fe5aabed0e41bee1 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3cca75823a38aab599bc151b0fa4d816b5e1b62d6e49c156aa90436deb6e13649f5505973151a10418b64f3f9d1c3da53e38a186402e0ed7ad98e482e70c0c14 + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8c6febb4ac53852314d28b5e2c23d5dbbff7bf1e57d61f9672e0d97531ef7778b3f0ad698dcf1179f5486e626c77127508916a65eb846a89e98a92f70ed3537b + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/db92041ae87b8f59f98b50359e0bb172480f6ba22e5e76b13bdfe07122cbf0daa9cd8ad2e78dcb47939938fed88ad57ab5989346f64b3a16953fc73dea3a9b1f + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/75d34c6e709a23bcfa0e06f722c9a72b1d9ac3e7d72a07ef54a943d32f65f97cbbf0e387d874eb9d9b4c8d33045edfa8e8441d0f8794f3c2b9f1d71b928acf2c + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.26.3": + version: 7.26.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f817f02fa04d13f1578f3026239b57f1003bebcf9f9b8d854714bed76a0e4986c79bd6d2e0ac14282c5d309454a8dab683c179709ca753b0152a69c69f3a78e3 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/03145aa89b7c867941a03755216cfb503df6d475a78df84849a157fa5f2fcc17ba114a968d0579ae34e7c61403f35d1ba5d188fdfb9ad05f19354eb7605792f9 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/47d03485fedac828832d9fee33b3b982a6db8197e8651ceb5d001890e276150b5a7ee3e9780749e1ba76453c471af907a159108832c24f93453dd45221788e97 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/434346ba05cf74e3f4704b3bdd439287b95cd2a8676afcdc607810b8c38b6f4798cd69c1419726b2e4c7204e62e4a04d31b0360e91ca57a930521c9211e07789 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/07bb3a09028ee7b8e8ede6e6390e3b3aecc5cf9adb2fc5475ff58036c552b8a3f8e63d4c43211a60545f3307cdc15919f0e54cb5455d9546daed162dc54ff94e + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.26.6": + version: 7.26.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3832609f043dd1cd8076ab6a00a201573ef3f95bb2144d57787e4a973b3189884c16b4e77ff8e84a6ca47bc3b65bb7df10dca2f6163dfffc316ac96c37b0b5a6 + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0528ef041ed88e8c3f51624ee87b8182a7f246fe4013f0572788e0727d20795b558f2b82e3989b5dd416cbd339500f0d88857de41b6d3b6fdacb1d5344bcc5b1 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/a157ac5af2721090150858f301d9c0a3a0efb8ef66b90fce326d6cc0ae45ab97b6219b3e441bf8d72a2287e95eb04dd6c12544da88ea2345e70b3fac2c0ac9e2 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1817b5d8b80e451ae1ad9080cca884f4f16df75880a158947df76a2ed8ab404d567a7dce71dd8051ef95f90fbe3513154086a32aba55cc76027f6cbabfbd7f98 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/b46a8d1e91829f3db5c252583eb00d05a779b4660abeea5500fda0f8ffa3584fd18299443c22f7fddf0ed9dfdb73c782c43b445dc468d4f89803f2356963b406 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bc838a499fd9892e163b8bc9bfbc4bf0b28cc3232ee0a6406ae078257c8096518f871d09b4a32c11f4a2d6953c3bc1984619ef748f7ad45aed0b0d9689a8eb36 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/014009a1763deb41fe9f0dbca2c4489ce0ac83dd87395f488492e8eb52399f6c883d5bd591bae3b8836f2460c3937fcebd07e57dce1e0bfe30cdbc63fdfc9d3a + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/6e3671b352c267847c53a170a1937210fa8151764d70d25005e711ef9b21969aaf422acc14f9f7fb86bc0e4ec43e7aefcc0ad9196ae02d262ec10f509f126a58 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/aa45bb5669b610afa763d774a4b5583bb60ce7d38e4fd2dedfd0703e73e25aa560e6c6124e155aa90b101601743b127d9e5d3eb00989a7e4b4ab9c2eb88475ba + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/436046ab07d54a9b44a384eeffec701d4e959a37a7547dda72e069e751ca7ff753d1782a8339e354b97c78a868b49ea97bf41bf5a44c6d7a3c0a05ad40eeb49c + languageName: node + linkType: hard + +"@babel/plugin-transform-react-constant-elements@npm:^7.21.3": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/d5843135107486c34320c4174fcd69e57335cc99a333a1d702a805675b22001be7f1b42b060faa745fd12af2c97f3825978ccbc94d12491e6b31b5c3b7c4632e + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/dc7affde0ed98e40f629ee92a2fc44fbd8008aabda1ddb3f5bd2632699d3289b08dff65b26cf3b89dab46397ec440f453d19856bbb3a9a83df5b4ac6157c5c39 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" + dependencies: + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/537d38369537f1eb56041c4b770bc0733fde1801a7f5ffef40a1217ea448f33ee2fa8e6098a58a82fd00e432c1b9426a66849496da419020c9eca3b1b1a23779 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/eb179ecdf0ae19aed254105cf78fbac35f9983f51ed04b7b67c863a4820a70a879bd5da250ac518321f86df20eac010e53e3411c8750c386d51da30e4814bfb6 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/9995c0fc7c25d3aaaa0ce84233de02eab2564ea111d0813ec5baa538eb21520402879cc787ad1ad4c2061b99cebc3beb09910e64c9592e8ccb42ae62d9e4fd9a + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.27.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/bd2f3278df31aa41cb34b051352e0d76e1feef6827a83885b6b66893a563cc9cc6bc34fc45899237e81224081ba951d8a7fed009c7de01e890646b291be7903c + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/726deca486bbd4b176f8a966eb0f4aabc19d9def3b8dabb8b3a656778eca0df1fda3f3c92b213aa5a184232fdafd5b7bd73b4e24ca4345c498ef6baff2bda4e1 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/8beda04481b25767acbd1f6b9ef7b3a9c12fbd9dcb24df45a6ad120e1dc4b247c073db60ac742f9093657d6d8c050501fc0606af042f81a3bb6a3ff862cddc47 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f774995d58d4e3a992b732cf3a9b8823552d471040e280264dd15e0735433d51b468fef04d75853d061309389c66bda10ce1b298297ce83999220eb0ad62741d + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/fe72c6545267176cdc9b6f32f30f9ced37c1cafa1290e4436b83b8f377b4f1c175dad404228c96e3efdec75da692f15bfb9db2108fcd9ad260bc9968778ee41e + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/7454b00844dbe924030dd15e2b3615b36e196500c4c47e98dabc6b37a054c5b1038ecd437e910aabf0e43bf56b973cb148d3437d50f6e2332d8309568e3e979b + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/plugin-transform-template-literals@npm:7.26.8" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/65874c8844ce906507cd5b9c78950d6173f8339b6416a2a9e763021db5a7045315a6f0e58976ec4af5e960c003ef322576c105130a644addb8f94d1a0821a972 + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.26.7": + version: 7.27.0 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/cd97a99c9aa62351fa258cc2de403a0cd8839461a5bdd648e18c8331998ca47573d2b122afda647da291c906952f65d96f68d0a53d287cf1bd34cf7e32d2bbb0 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/plugin-transform-typescript@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.0" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/61f866967d0aa1b64d28f11687bfa517e47829baab294fe42f9eae4020767f96ab4c44029af9a445b6a1ac66bc3b3e4ff24048d833812ce81eec9a9bece90b11 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/f138cbee539963fb3da13f684e6f33c9f7495220369ae12a682b358f1e25ac68936825562c38eae87f01ac9992b2129208b35ec18533567fc805ce5ed0ffd775 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/201f6f46c1beb399e79aa208b94c5d54412047511795ce1e790edcd189cef73752e6a099fdfc01b3ad12205f139ae344143b62f21f44bbe02338a95e8506a911 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/e8baae867526e179467c6ef5280d70390fa7388f8763a19a27c21302dd59b121032568be080749514b097097ceb9af716bf4b90638f1b3cf689aa837ba20150f + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/4445ef20de687cb4dcc95169742a8d9013d680aa5eee9186d8e25875bbfa7ee5e2de26a91177ccf70b1db518e36886abcd44750d28db5d7a9539f0efa6839f4b + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.20.2": + version: 7.26.9 + resolution: "@babel/preset-env@npm:7.26.9" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.26.8" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.26.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.26.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.26.8" + "@babel/plugin-transform-typeof-symbol": "npm:^7.26.7" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.40.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ac6fad331760c0bc25ed428b7696b297bad7046a75f30e544b392acfb33709f12316b9a5b0c8606f933d5756e1b9d527b46fda09693db52e851325443dd6a574 + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10/039aba98a697b920d6440c622aaa6104bb6076d65356b29dad4b3e6627ec0354da44f9621bafbeefd052cd4ac4d7f88c9a2ab094efcb50963cb352781d0c6428 + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.18.6": + version: 7.26.3 + resolution: "@babel/preset-react@npm:7.26.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-transform-react-display-name": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/88cb78c402b79f32389ee06451da51698d5b1da7641d9a47482883f537fe5441a138bd4c077d8533fd6d557406b08911c47b94402cea843db598e020bdd9a373 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.21.0": + version: 7.27.0 + resolution: "@babel/preset-typescript@npm:7.27.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" + "@babel/plugin-transform-typescript": "npm:^7.27.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3b7b44bff0ed5dec49cb056e9a3a3dbf55e51dc5f85baa98336785b2d99670a12b7f9741b8c74ae061f2942d13a9dc7ac4ae0bcaecaff04f9db934c6ab6d9f30 + languageName: node + linkType: hard + "@babel/runtime@npm:^7.1.2": version: 7.26.0 resolution: "@babel/runtime@npm:7.26.0" @@ -21,6 +1199,51 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.8.4": + version: 7.27.0 + resolution: "@babel/runtime@npm:7.27.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10/e6966e03b695feb4c0ac0856a4355231c2580bf9ebd0298f47739f85c0ea658679dd84409daf26378d42c86c1cbe7e33feab709b14e784254b6c441d91606465 + languageName: node + linkType: hard + +"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/template@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10/7159ca1daea287ad34676d45a7146675444d42c7664aca3e617abc9b1d9548c8f377f35a36bb34cf956e1d3610dcb7acfcfe890aebf81880d35f91a7bd273ee5 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/traverse@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.27.0" + "@babel/parser": "npm:^7.27.0" + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10/b0675bc16bd87187e8b090557b0650135de56a621692ad8614b20f32621350ae0fc2e1129b73b780d64a9ed4beab46849a17f90d5267b6ae6ce09ec8412a12c7 + languageName: node + linkType: hard + +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0, @babel/types@npm:^7.4.4": + version: 7.27.0 + resolution: "@babel/types@npm:7.27.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/2c322bce107c8a534dc4a23be60d570e6a4cc7ca2e44d4f0eee08c0b626104eb7e60ab8de03463bc5da1773a2f69f1e6edec1648d648d65461d6520a7f3b0770 + languageName: node + linkType: hard + "@emnapi/runtime@npm:^1.2.0": version: 1.3.1 resolution: "@emnapi/runtime@npm:1.3.1" @@ -304,7 +1527,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2": +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.8 resolution: "@jridgewell/gen-mapping@npm:0.3.8" dependencies: @@ -336,7 +1559,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24": +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -502,6 +1725,162 @@ __metadata: languageName: node linkType: hard +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3fc8e35d16f5abe0af5efe5851f27581225ac405d6a1ca44cda0df064cddfcc29a428c48c2e4bef6cebf627c9ac2f652a096030edb02cf5a120ce28d3c234710 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/ff992893c6c4ac802713ba3a97c13be34e62e6d981c813af40daabcd676df68a72a61bd1e692bb1eda3587f1b1d700ea462222ae2153bb0f46886632d4f88d08 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/0fb691b63a21bac00da3aa2dccec50d0d5a5b347ff408d60803b84410d8af168f2656e4ba1ee1f24dab0ae4e4af77901f2928752bb0434c1f6788133ec599ec8 + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/1edda65ef4f4dd8f021143c8ec276a08f6baa6f733b8e8ee2e7775597bf6b97afb47fdeefd579d6ae6c959fe2e634f55cd61d99377631212228c8cfb351b8921 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/876cec891488992e6a9aebb8155e2bea4ec461b4718c51de36e988e00e271c6d9d01ef6be17b9effd44b2b3d7db0b41c161a5904a46ae6f38b26b387ad7f3709 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/be0e2d391164428327d9ec469a52cea7d93189c6b0e2c290999e048f597d777852f701c64dca44cd45b31ed14a7f859520326e2e4ad7c3a4545d0aa235bc7e9a + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/85b434a57572f53bd2b9f0606f253e1fcf57b4a8c554ec3f2d43ed17f50d8cae200cb3aaf1ec9d626e1456e8b135dce530ae047eb0bed6d4bf98a752d6640459 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/86ca139c0be0e7df05f103c5f10874387ada1434ca0286584ba9cd367c259d74bf9c86700b856449f46cf674bd6f0cf18f8f034f6d3f0e2ce5e5435c25dbff4b + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/3a67930f080b8891e1e8e2595716b879c944d253112bae763dce59807ba23454d162216c8d66a0a0e3d4f38a649ecd6c387e545d1e1261dd69a68e9a3392ee08 + languageName: node + linkType: hard + +"@svgr/core@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + camelcase: "npm:^6.2.0" + cosmiconfig: "npm:^8.1.3" + snake-case: "npm:^3.0.4" + checksum: 10/bc98cd5fc349ab9dcf0c13c2279164726d45878cdac8999090765379c6e897a1b24aca641c12a3c33f578d06f7a09252fb090962a4695c753fb02b627a56bfe6 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" + dependencies: + "@babel/types": "npm:^7.21.3" + entities: "npm:^4.4.0" + checksum: 10/243aa9c92d66aa3f1fc82851fe1fa376808a08fcc02719fed38ebfb4e25cf3e3c1282c185300c29953d047c36acb9e3ac588d46b0af55a3b7a5186a6badec8a9 + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + "@svgr/hast-util-to-babel-ast": "npm:8.0.0" + svg-parser: "npm:^2.0.4" + peerDependencies: + "@svgr/core": "*" + checksum: 10/0418a9780753d3544912ee2dad5d2cf8d12e1ba74df8053651b3886aeda54d5f0f7d2dece0af5e0d838332c4f139a57f0dabaa3ca1afa4d1a765efce6a7656f2 + languageName: node + linkType: hard + +"@svgr/plugin-svgo@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-svgo@npm:8.1.0" + dependencies: + cosmiconfig: "npm:^8.1.3" + deepmerge: "npm:^4.3.1" + svgo: "npm:^3.0.2" + peerDependencies: + "@svgr/core": "*" + checksum: 10/59d9d214cebaacca9ca71a561f463d8b7e5a68ca9443e4792a42d903acd52259b1790c0680bc6afecc3f00a255a6cbd7ea278a9f625bac443620ea58a590c2d0 + languageName: node + linkType: hard + +"@svgr/webpack@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/webpack@npm:8.1.0" + dependencies: + "@babel/core": "npm:^7.21.3" + "@babel/plugin-transform-react-constant-elements": "npm:^7.21.3" + "@babel/preset-env": "npm:^7.20.2" + "@babel/preset-react": "npm:^7.18.6" + "@babel/preset-typescript": "npm:^7.21.0" + "@svgr/core": "npm:8.1.0" + "@svgr/plugin-jsx": "npm:8.1.0" + "@svgr/plugin-svgo": "npm:8.1.0" + checksum: 10/c6eec5b0cf2fb2ecd3a7a362d272eda35330b17c76802a3481f499b5d07ff8f87b31d2571043bff399b051a1767b1e2e499dbf186104d1c06d76f9f1535fac01 + languageName: node + linkType: hard + "@swc/counter@npm:0.1.3": version: 0.1.3 resolution: "@swc/counter@npm:0.1.3" @@ -518,6 +1897,13 @@ __metadata: languageName: node linkType: hard +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 10/7379713eca480ac0d9b6c7b063e06b00a7eac57092354556c81027066eb65b61ea141a69d0cc2e15d32e05b2834d4c9c2184793a5e36bbf5daf05ee5676af18c + languageName: node + linkType: hard + "@types/js-cookie@npm:^2.2.6": version: 2.2.7 resolution: "@types/js-cookie@npm:2.2.7" @@ -936,17 +2322,53 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.10.0": - version: 4.10.2 - resolution: "axe-core@npm:4.10.2" - checksum: 10/a69423b2ff16c15922c4ea7cf9cc5112728a2817bbe0f2cc212248d648885ffd1ba554e3a341dfc289cd9e67fc0d06f333b5c6837c5c38ca6652507381216fc1 +"axe-core@npm:^4.10.0": + version: 4.10.2 + resolution: "axe-core@npm:4.10.2" + checksum: 10/a69423b2ff16c15922c4ea7cf9cc5112728a2817bbe0f2cc212248d648885ffd1ba554e3a341dfc289cd9e67fc0d06f333b5c6837c5c38ca6652507381216fc1 + languageName: node + linkType: hard + +"axobject-query@npm:^4.1.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 10/e275dea9b673f71170d914f2d2a18be5d57d8d29717b629e7fedd907dcc2ebdc7a37803ff975874810bd423f222f299c020d28fde40a146f537448bf6bfecb6e + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.10": + version: 0.4.13 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/e238534f345edb26471438cdef8f9182892c4a857fc1cd74d8ecb3072d5126232e299d3850027cecbcb599e721cef835b9e63aba35c2db41733635d39b76c1d8 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.11.0": + version: 0.11.1 + resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + core-js-compat: "npm:^3.40.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/19a2978ee3462cc3b98e7d36e6537bf9fb1fb61f42fd96cb41e9313f2ac6f2c62380d94064366431eff537f342184720fe9bce73eb65fd57c5311d15e8648f62 languageName: node linkType: hard -"axobject-query@npm:^4.1.0": - version: 4.1.0 - resolution: "axobject-query@npm:4.1.0" - checksum: 10/e275dea9b673f71170d914f2d2a18be5d57d8d29717b629e7fedd907dcc2ebdc7a37803ff975874810bd423f222f299c020d28fde40a146f537448bf6bfecb6e +"babel-plugin-polyfill-regenerator@npm:^0.6.1": + version: 0.6.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/f4d4a803834ffa72713579d696586d8cc654c0025cbd5ec775fc5d37faa00381dcb80e5b97d4b16059443352653585596d87848b5590b1d8670c235408e73fb3 languageName: node linkType: hard @@ -964,6 +2386,13 @@ __metadata: languageName: node linkType: hard +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10/3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -992,6 +2421,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" + dependencies: + caniuse-lite: "npm:^1.0.30001688" + electron-to-chromium: "npm:^1.5.73" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.1" + bin: + browserslist: cli.js + checksum: 10/11fda105e803d891311a21a1f962d83599319165faf471c2d70e045dff82a12128f5b50b1fcba665a2352ad66147aaa248a9d2355a80aadc3f53375eb3de2e48 + languageName: node + linkType: hard + "busboy@npm:1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -1067,6 +2510,13 @@ __metadata: languageName: node linkType: hard +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10/8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + "caniuse-lite@npm:^1.0.30001579": version: 1.0.30001692 resolution: "caniuse-lite@npm:1.0.30001692" @@ -1074,6 +2524,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001688": + version: 1.0.30001709 + resolution: "caniuse-lite@npm:1.0.30001709" + checksum: 10/e48c245d3f2024df8bf89924c3717938912577772219e3a34d7f0e13a379900c07bcdf204129654cfe60988f3e7136bf7f62eeb2e263f47744740bfbb61ec317 + languageName: node + linkType: hard + "chalk@npm:^4.0.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" @@ -1200,6 +2657,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 10/9973af10727ad4b44f26703bf3e9fdc323528660a7590efe3aa9ad5042b4584c0deed84ba443f61c9d6f02dade54a5a5d3c95e306a1e1630f8374ae6db16c06d + languageName: node + linkType: hard + "commander@npm:~12.1.0": version: 12.1.0 resolution: "commander@npm:12.1.0" @@ -1214,6 +2678,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 + languageName: node + linkType: hard + "copy-to-clipboard@npm:^3.3.1": version: 3.3.3 resolution: "copy-to-clipboard@npm:3.3.3" @@ -1223,6 +2694,32 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.40.0": + version: 3.41.0 + resolution: "core-js-compat@npm:3.41.0" + dependencies: + browserslist: "npm:^4.24.4" + checksum: 10/a59da111fc437cc7ed1a1448dae6883617cabebd7731433d27ad75e0ff77df5f411204979bd8eb5668d2600f99db46eedf6f87e123109b6de728bef489d4229a + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.1.3": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/91d082baca0f33b1c085bf010f9ded4af43cbedacba8821da0fb5667184d0a848addc52c31fadd080007f904a555319c238cf5f4c03e6d58ece2e4876b2e73d6 + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" @@ -1243,6 +2740,19 @@ __metadata: languageName: node linkType: hard +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10/d486b1e7eb140468218a5ab5af53257e01f937d2173ac46981f6b7de9c5283d55427a36715dc8decfc0c079cf89259ac5b41ef58f6e1a422eee44ab8bfdc78da + languageName: node + linkType: hard + "css-tree@npm:^1.1.2": version: 1.1.3 resolution: "css-tree@npm:1.1.3" @@ -1253,6 +2763,33 @@ __metadata: languageName: node linkType: hard +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10/e5e39b82eb4767c664fa5c2cd9968c8c7e6b7fd2c0079b52680a28466d851e2826d5e64699c449d933c0e8ca0554beca43c41a9fcb09fb6a46139d462dbdf0df + languageName: node + linkType: hard + +"css-tree@npm:~2.2.0": + version: 2.2.1 + resolution: "css-tree@npm:2.2.1" + dependencies: + mdn-data: "npm:2.0.28" + source-map-js: "npm:^1.0.1" + checksum: 10/1959c4b0e268bf8db1b3a1776a5ba9ae3a464ccd1226bfa62799cb0a3d0039006e21fb95cec4dec9d687a9a9b90f692dff2d230b631527ece700f4bfb419aaf3 + languageName: node + linkType: hard + +"css-what@npm:^6.1.0": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: 10/c67a3a2d0d81843af87f8bf0a4d0845b0f952377714abbb2884e48942409d57a2110eabee003609d02ee487b054614bdfcfc59ee265728ff105bd5aa221c1d0e + languageName: node + linkType: hard + "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -1262,6 +2799,15 @@ __metadata: languageName: node linkType: hard +"csso@npm:^5.0.5": + version: 5.0.5 + resolution: "csso@npm:5.0.5" + dependencies: + css-tree: "npm:~2.2.0" + checksum: 10/4036fb2b9f8ed6b948349136b39e0b19ffb5edee934893a37b55e9a116186c4ae2a9d3ba66fbdbc07fa44a853fb478cd2d8733e4743473dcd364e7f21444ff34 + languageName: node + linkType: hard + "csstype@npm:^3.0.2, csstype@npm:^3.1.2": version: 3.1.3 resolution: "csstype@npm:3.1.3" @@ -1309,7 +2855,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:~4.4.0": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:~4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" dependencies: @@ -1337,6 +2883,13 @@ __metadata: languageName: node linkType: hard +"deepmerge@npm:^4.3.1": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10/058d9e1b0ff1a154468bf3837aea436abcfea1ba1d165ddaaf48ca93765fdd01a30d33c36173da8fbbed951dd0a267602bc782fe288b0fc4b7e1e7091afc4529 + languageName: node + linkType: hard + "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -1398,6 +2951,54 @@ __metadata: languageName: node linkType: hard +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10/e3bf9027a64450bca0a72297ecdc1e3abb7a2912268a9f3f5d33a2e29c1e2c3502c6e9f860fc6625940bfe0cfb57a44953262b9e94df76872fdfb8151097eeb3 + languageName: node + linkType: hard + +"domelementtype@npm:^2.3.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: 10/ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 + languageName: node + linkType: hard + +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10/809b805a50a9c6884a29f38aec0a4e1b4537f40e1c861950ed47d10b049febe6b79ab72adaeeebb3cc8fc1cd33f34e97048a72a9265103426d93efafa78d3e96 + languageName: node + linkType: hard + +"domutils@npm:^3.0.1": + version: 3.2.2 + resolution: "domutils@npm:3.2.2" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10/2e08842151aa406f50fe5e6d494f4ec73c2373199fa00d1f77b56ec604e566b7f226312ae35ab8160bb7f27a27c7285d574c8044779053e499282ca9198be210 + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10/a65e3519414856df0228b9f645332f974f2bf5433370f544a681122eab59e66038fc3349b4be1cdc47152779dac71a5864f1ccda2f745e767c46e9c6543b1169 + languageName: node + linkType: hard + "dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -1416,6 +3017,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.73": + version: 1.5.130 + resolution: "electron-to-chromium@npm:1.5.130" + checksum: 10/ccca4d64fb687e9cb91105fd23a3cd27dce22a9a934b12a829b8258fb38b2138d805fb14256fcf9be6bee8b29bdbb14773441ac4e2a8c811369edb8431c0d356 + languageName: node + linkType: hard + "emoji-regex@npm:^10.3.0": version: 10.4.0 resolution: "emoji-regex@npm:10.4.0" @@ -1456,6 +3064,13 @@ __metadata: languageName: node linkType: hard +"entities@npm:^4.2.0, entities@npm:^4.4.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -1477,6 +3092,15 @@ __metadata: languageName: node linkType: hard +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10/d547740aa29c34e753fb6fed2c5de81802438529c12b3673bd37b6bb1fe49b9b7abdc3c11e6062fe625d8a296b3cf769a80f878865e25e685f787763eede3ffb + languageName: node + linkType: hard + "error-stack-parser@npm:^2.0.6": version: 2.1.4 resolution: "error-stack-parser@npm:2.1.4" @@ -1624,6 +3248,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 + languageName: node + linkType: hard + "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -2139,6 +3770,7 @@ __metadata: version: 0.0.0-use.local resolution: "frontend@workspace:." dependencies: + "@svgr/webpack": "npm:^8.1.0" "@types/node": "npm:^22.10.5" "@types/react": "npm:^19.0.4" "@types/react-dom": "npm:^19.0.2" @@ -2160,6 +3792,7 @@ __metadata: react: "npm:^19.0.0" react-dom: "npm:^19.0.0" react-use: "npm:^17.6.0" + swiper: "npm:^11.2.6" tailwindcss: "npm:^3.4.1" typescript: "npm:^5" languageName: unknown @@ -2228,6 +3861,13 @@ __metadata: languageName: node linkType: hard +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10/17d8333460204fbf1f9160d067e1e77f908a5447febb49424b8ab043026049835c9ef3974445c57dbd39161f4d2b04356d7de12b2eecaa27a7a7ea7d871cbedd + languageName: node + linkType: hard + "get-east-asian-width@npm:^1.0.0": version: 1.3.0 resolution: "get-east-asian-width@npm:1.3.0" @@ -2338,6 +3978,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10/9f054fa38ff8de8fa356502eb9d2dae0c928217b8b5c8de1f09f5c9b6c8a96d8b9bd3afc49acbcd384a98a81fea713c859e1b09e214c60509517bb8fc2bc13c2 + languageName: node + linkType: hard + "globals@npm:^13.19.0": version: 13.24.0 resolution: "globals@npm:13.24.0" @@ -2529,6 +4176,16 @@ __metadata: languageName: node linkType: hard +"import-fresh@npm:^3.3.0": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10/a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -2594,6 +4251,13 @@ __metadata: languageName: node linkType: hard +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10/73ced84fa35e59e2c57da2d01e12cd01479f381d7f122ce41dcbb713f09dbfc651315832cd2bf8accba7681a69e4d6f1e03941d94dd10040d415086360e7005e + languageName: node + linkType: hard + "is-arrayish@npm:^0.3.1": version: 0.3.2 resolution: "is-arrayish@npm:0.3.2" @@ -2933,7 +4597,7 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^3.0.0 || ^4.0.0": +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 @@ -2958,6 +4622,24 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967 + languageName: node + linkType: hard + +"jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" + bin: + jsesc: bin/jsesc + checksum: 10/8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3 + languageName: node + linkType: hard + "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -2965,6 +4647,13 @@ __metadata: languageName: node linkType: hard +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10/5f3a99009ed5f2a5a67d06e2f298cc97bc86d462034173308156f15b43a6e850be8511dc204b9b94566305da2947f7d90289657237d210351a39059ff9d666cf + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -2990,6 +4679,15 @@ __metadata: languageName: node linkType: hard +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10/1db67b853ff0de3534085d630691d3247de53a2ed1390ba0ddff681ea43e9b3e30ecbdb65c5e9aab49435e44059c23dbd6fee8ee619419ba37465bb0dd7135da + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -3094,6 +4792,13 @@ __metadata: languageName: node linkType: hard +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10/cd0b2819786e6e80cb9f5cda26b1a8fc073daaf04e48d4cb462fa4663ec9adb3a5387aa22d7129e48eed1afa05b482e2a6b79bfc99b86886364449500cbb00fd + languageName: node + linkType: hard + "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -3125,6 +4830,15 @@ __metadata: languageName: node linkType: hard +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10/83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010 + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -3132,6 +4846,15 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10/951d2673dcc64a7fb888bf3d13bc2fdf923faca97d89cdb405ba3dfff77e2b26e5798d405e78fcd7094c9e7b8b4dab2ddc5a4f8a11928af24a207b7c738ca3f8 + languageName: node + linkType: hard + "make-fetch-happen@npm:^14.0.3": version: 14.0.3 resolution: "make-fetch-happen@npm:14.0.3" @@ -3165,6 +4888,20 @@ __metadata: languageName: node linkType: hard +"mdn-data@npm:2.0.28": + version: 2.0.28 + resolution: "mdn-data@npm:2.0.28" + checksum: 10/aec475e0c078af00498ce2f9434d96a1fdebba9814d14b8f72cd6d5475293f4b3972d0538af2d5c5053d35e1b964af08b7d162b98e9846e9343990b75e4baef1 + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10/e4944322bf3e0461a2daa2aee7e14e208960a036289531e4ef009e53d32bd41528350c070c4a33be867980443fe4c0523518d99318423cffa7c825fe7b1154e2 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -3472,6 +5209,16 @@ __metadata: languageName: node linkType: hard +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10/0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 11.0.0 resolution: "node-gyp@npm:11.0.0" @@ -3492,6 +5239,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10/c2b33b4f0c40445aee56141f13ca692fa6805db88510e5bbb3baadb2da13e1293b738e638e15e4a8eb668bb9e97debb08e7a35409b477b5cc18f171d35a83045 + languageName: node + linkType: hard + "nopt@npm:^8.0.0": version: 8.0.0 resolution: "nopt@npm:8.0.0" @@ -3519,6 +5273,15 @@ __metadata: languageName: node linkType: hard +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10/5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 + languageName: node + linkType: hard + "object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -3700,6 +5463,18 @@ __metadata: languageName: node linkType: hard +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10/62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -3745,6 +5520,13 @@ __metadata: languageName: node linkType: hard +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10/5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -4100,6 +5882,22 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10/9150eae6fe04a8c4f2ff06077396a86a98e224c8afad8344b1b656448e89e84edcd527e4b03aa5476774129eb6ad328ed684f9c1459794a935ec0cc17ce14329 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10/dc6c95ae4b3ba6adbd7687cafac260eee4640318c7a95239d5ce847d9b9263979758389e862fe9c93d633b5792ea4ada5708df75885dc5aa05a309fa18140a87 + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.14.0": version: 0.14.1 resolution: "regenerator-runtime@npm:0.14.1" @@ -4107,6 +5905,15 @@ __metadata: languageName: node linkType: hard +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 10/c4fdcb46d11bbe32605b4b9ed76b21b8d3f241a45153e9dc6f5542fed4c7744fed459f42701f650d5d5956786bf7de57547329d1c05a9df2ed9e367b9d903302 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.5.3": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" @@ -4121,6 +5928,38 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10/4d054ffcd98ca4f6ca7bf0df6598ed5e4a124264602553308add41d4fa714a0c5bcfb5bc868ac91f7060a9c09889cc21d3180a3a14c5f9c5838442806129ced3 + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10/b930f03347e4123c917d7b40436b4f87f625b8dd3e705b447ddd44804e4616c3addb7453f0902d6e914ab0446c30e816e445089bb641a4714237fe8141a0ef9d + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10/c2d6506b3308679de5223a8916984198e0493649a67b477c66bdb875357e3785abbf3bedf7c5c2cf8967d3b3a7bdf08b7cbd39e65a70f9e1ffad584aecf5f06a + languageName: node + linkType: hard + "resize-observer-polyfill@npm:^1.5.1": version: 1.5.1 resolution: "resize-observer-polyfill@npm:1.5.1" @@ -4142,7 +5981,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.22.4, resolve@npm:^1.22.8": +"resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.22.4, resolve@npm:^1.22.8": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -4168,7 +6007,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -4558,6 +6397,16 @@ __metadata: languageName: node linkType: hard +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10/0a7a79900bbb36f8aaa922cf111702a3647ac6165736d5dc96d3ef367efc50465cac70c53cd172c382b022dac72ec91710608e5393de71f76d7142e6fd80e8a3 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" @@ -4579,7 +6428,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1": +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 @@ -4883,6 +6732,37 @@ __metadata: languageName: node linkType: hard +"svg-parser@npm:^2.0.4": + version: 2.0.4 + resolution: "svg-parser@npm:2.0.4" + checksum: 10/ec196da6ea21481868ab26911970e35488361c39ead1c6cdd977ba16c885c21a91ddcbfd113bfb01f79a822e2a751ef85b2f7f95e2cb9245558ebce12c34af1f + languageName: node + linkType: hard + +"svgo@npm:^3.0.2": + version: 3.3.2 + resolution: "svgo@npm:3.3.2" + dependencies: + "@trysound/sax": "npm:0.2.0" + commander: "npm:^7.2.0" + css-select: "npm:^5.1.0" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" + csso: "npm:^5.0.5" + picocolors: "npm:^1.0.0" + bin: + svgo: ./bin/svgo + checksum: 10/82fdea9b938884d808506104228e4d3af0050d643d5b46ff7abc903ff47a91bbf6561373394868aaf07a28f006c4057b8fbf14bbd666298abdd7cc590d4f7700 + languageName: node + linkType: hard + +"swiper@npm:^11.2.6": + version: 11.2.6 + resolution: "swiper@npm:11.2.6" + checksum: 10/1c4e32ee5ecbd2d0e281bb3d186622af3702482da12b4a003238b9e03087e4f4710d74071e362d49253271a13090e70ec9d5e0f2900eca3b59a791ec0d8fcbc7 + languageName: node + linkType: hard + "synckit@npm:^0.9.1": version: 0.9.2 resolution: "synckit@npm:0.9.2" @@ -5030,7 +6910,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 @@ -5145,6 +7025,37 @@ __metadata: languageName: node linkType: hard +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10/3c3dabdb1d22aef4904399f9e810d0b71c0b12b3815169d96fac97e56d5642840c6071cf709adcace2252bc6bb80242396c2ec74b37224eb015c5f7aca40bad7 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10/1f34a7434a23df4885b5890ac36c5b2161a809887000be560f56ad4b11126d433c0c1c39baf1016bdabed4ec54829a6190ee37aa24919aa116dc1a5a8a62965a + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 10/9fd53c657aefe5d3cb8208931b4c34fbdb30bb5aa9a6c6bf744e2f3036f00b8889eeaf30cb55a873b76b6ee8b5801ea770e1c49b3352141309f58f0ebb3011d8 + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10/243524431893649b62cc674d877bd64ef292d6071dd2fd01ab4d5ad26efbc104ffcd064f93f8a06b7e4ec54c172bf03f6417921a0d8c3a9994161fe1f88f815b + languageName: node + linkType: hard + "unique-filename@npm:^4.0.0": version: 4.0.0 resolution: "unique-filename@npm:4.0.0" @@ -5163,6 +7074,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.1": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10/87af2776054ffb9194cf95e0201547d041f72ee44ce54b144da110e65ea7ca01379367407ba21de5c9edd52c74d95395366790de67f3eb4cc4afa0fe4424e76f + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -5308,6 +7233,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10/9af0a4329c3c6b779ac4736c69fae4190ac03029fa27c1aef4e6bcc92119b73dea6fe5db5fe881fb0ce2a0e9539a42cdf60c7c21eda04d1a0b8c082e38509efb + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0"