diff --git a/apps/X/app/(pages)/profile/page.tsx b/apps/X/app/(pages)/[username]/page.tsx similarity index 100% rename from apps/X/app/(pages)/profile/page.tsx rename to apps/X/app/(pages)/[username]/page.tsx diff --git a/apps/X/app/api/post/[userPost]/route.ts b/apps/X/app/api/post/[userPost]/route.ts new file mode 100644 index 0000000..2f74a2c --- /dev/null +++ b/apps/X/app/api/post/[userPost]/route.ts @@ -0,0 +1,36 @@ +import prisma from "@repo/db/client"; +import { authOptions } from "app/lib/auth"; +import { getServerSession } from "next-auth"; +import { NextResponse } from "next/server"; + +export async function GET() { + try { + const session = await getServerSession(authOptions); + console.log("Getting the UserID ", session?.user?.id); + const userId = Number(session?.user?.id); + + console.log(typeof userId, "This is the type of UserID"); + if (!session) { + return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); + } + + const userPost = await prisma.tweet.findMany({ + include: { + user: { + select: { + name: true, + }, + }, + }, + where: { userID: userId }, + }); + console.log(userPost, "This is the the users Tweet"); + return NextResponse.json({ data: userPost }, { status: 200 }); + } catch (error) { + console.log("Getting Erroe while fetching user's Posts", error); + return NextResponse.json( + { error: "Getting error for userTweets" }, + { status: 200 } + ); + } +} diff --git a/apps/X/app/api/post/route.ts b/apps/X/app/api/post/route.ts index a4e34cc..554ac74 100644 --- a/apps/X/app/api/post/route.ts +++ b/apps/X/app/api/post/route.ts @@ -1,6 +1,5 @@ import { PrismaClient } from "@prisma/client"; import { authOptions } from "app/lib/auth"; -import { error } from "console"; import { getServerSession } from "next-auth"; //? https://github.com/code100x/cms/blob/main/src/app/api/admin/content/route.ts import { NextRequest, NextResponse } from "next/server"; @@ -29,7 +28,6 @@ export async function GET() { } catch (error) { console.log("Error while fetching from DB", error); } - return NextResponse.json({ userId: session.user.id }); } @@ -47,9 +45,6 @@ export const POST = async (req: NextRequest) => { const sessionUserId = parseInt(session.user.id); const user = await prisma.user.findFirst({ where: { id: sessionUserId } }); - // if (!user) { - // return NextResponse.json({ error: "Not a valid User" }, { status: 401 }); - // } const body = await req.json(); console.log("Request Body:", body); diff --git a/apps/X/app/api/user/route.ts b/apps/X/app/api/user/route.ts index e39eeeb..216b61a 100644 --- a/apps/X/app/api/user/route.ts +++ b/apps/X/app/api/user/route.ts @@ -6,8 +6,6 @@ import { NextResponse } from "next/server"; const prisma = new PrismaClient(); export const GET = async () => { - console.log("Hitting the user get rout"); - const session = await getServerSession(authOptions); if (!session) { return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); @@ -16,7 +14,6 @@ export const GET = async () => { const userID = session.user.id; try { - console.log("Hitting the user get rout 22"); const user = await prisma.user.findMany({ include: { tweets: { @@ -27,7 +24,7 @@ export const GET = async () => { }, where: { id: Number(userID) }, }); - console.log("This is the response", user); + //console.log("This is the User from User Route", user); return NextResponse.json({ data: user }, { status: 200 }); } catch (error) { console.log("Error while fetching from DB", error); diff --git a/apps/X/package.json b/apps/X/package.json index 8212ff0..d6795d9 100644 --- a/apps/X/package.json +++ b/apps/X/package.json @@ -11,10 +11,12 @@ "check-types": "tsc --noEmit" }, "dependencies": { + "@heroui/tabs": "^2.2.13", "@radix-ui/react-avatar": "^1.1.2", "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-popover": "^1.1.6", "@radix-ui/react-slot": "^1.1.1", + "@radix-ui/react-tabs": "^1.1.3", "@repo/ui": "*", "axios": "^1.7.9", "bcrypt": "^5.1.1", diff --git a/apps/X/src/components/ui/Profile/UserInfo.tsx b/apps/X/src/components/ui/Profile/UserInfo.tsx index 011619c..2999b72 100644 --- a/apps/X/src/components/ui/Profile/UserInfo.tsx +++ b/apps/X/src/components/ui/Profile/UserInfo.tsx @@ -1,4 +1,5 @@ "use client"; + import { TopHeader } from "@/components/TopHeader"; import { Avatar, AvatarFallback, AvatarImage } from "@radix-ui/react-avatar"; import axios from "axios"; @@ -8,6 +9,9 @@ import { AiOutlineLink } from "react-icons/ai"; import { GrLocation } from "react-icons/gr"; import { IoCalendarOutline } from "react-icons/io5"; import { PiBalloon } from "react-icons/pi"; +import { Button } from "../button"; +import { TweetComp } from "../TweetComp"; +import { NextResponse } from "next/server"; interface UserDataProps { DOB: string; @@ -17,9 +21,18 @@ interface UserDataProps { username: string; biolink: string; } +interface Tweet { + id: number; + content: string; + userID: number; + likes: number; + createdDate: string; + user: { name: string }; +} export const UserInfo = () => { const { data: session } = useSession(); const [userData, setUserData] = useState(null); + const [userTweet, setUserTweet] = useState([]); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); @@ -31,7 +44,7 @@ export const UserInfo = () => { const u_Data = response.data.data; if (Array.isArray(u_Data) && response.data.data.length > 0) { setUserData(u_Data); - console.log(u_Data, "Here it is"); + // console.log(u_Data, "Here it is"); } else { setError("No user data found"); } @@ -42,6 +55,18 @@ export const UserInfo = () => { } }; fetchUserData(); + + const fetchUserTweet = async () => { + try { + const response = await axios.get(`api/post/$[userID]`); + const tweetsByUser = response.data.data; + console.log(tweetsByUser, "This is from user"); + setUserTweet(tweetsByUser); + } catch (error) { + console.log(error); + } + }; + fetchUserTweet(); }, []); return ( @@ -49,23 +74,34 @@ export const UserInfo = () => {
-
-
- - - - +
+
+
+
+ + + + +
+
+
+
+
+ +
-
+

{session?.user?.name}

@{session?.user?.username}

@@ -109,8 +145,145 @@ export const UserInfo = () => {
+ + {/*
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+

+ This is some placeholder content the{" "} + + Profile tab associated content + + . Clicking another tab will toggle the visibility of this one + for the next. The tab JavaScript swaps classes to control the + content visibility and styling. +

+
+
+

+ This is some placeholder content the{" "} + + Dashboard tabs associated content + + . Clicking another tab will toggle the visibility of this one + for the next. The tab JavaScript swaps classes to control the + content visibility and styling. +

+
+
+

+ This is some placeholder content the{" "} + + Settings tabs associated content + + . Clicking another tab will toggle the visibility of this one + for the next. The tab JavaScript swaps classNamees to control + the content visibility and styling. +

+
+
+

+ This is some placeholder content the{" "} + + Contacts tabs associated content + + . Clicking another tab will toggle the visibility of this one + for the next. The tab JavaScript swaps classes to control the + content visibility and styling. +

+
+
*/}
+
+
+
+ {userTweet.map((tweet) => ( + + ))} +
); }; diff --git a/apps/X/src/components/ui/home/HomeLeft.tsx b/apps/X/src/components/ui/home/HomeLeft.tsx index b0bc073..2dc7645 100644 --- a/apps/X/src/components/ui/home/HomeLeft.tsx +++ b/apps/X/src/components/ui/home/HomeLeft.tsx @@ -113,7 +113,7 @@ export const HomeLeft = () => {
- +
diff --git a/yarn.lock b/yarn.lock index ca5b628..609daa7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -243,6 +243,145 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.9.tgz#50dea3616bc8191fb8e112283b49eaff03e78429" integrity sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg== +"@formatjs/ecma402-abstract@2.3.4": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.4.tgz#e90c5a846ba2b33d92bc400fdd709da588280fbc" + integrity sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA== + dependencies: + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/intl-localematcher" "0.6.1" + decimal.js "^10.4.3" + tslib "^2.8.0" + +"@formatjs/fast-memoize@2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz#707f9ddaeb522a32f6715bb7950b0831f4cc7b15" + integrity sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ== + dependencies: + tslib "^2.8.0" + +"@formatjs/icu-messageformat-parser@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.2.tgz#85aea211bea40aa81ee1d44ac7accc3cf5500a73" + integrity sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA== + dependencies: + "@formatjs/ecma402-abstract" "2.3.4" + "@formatjs/icu-skeleton-parser" "1.8.14" + tslib "^2.8.0" + +"@formatjs/icu-skeleton-parser@1.8.14": + version "1.8.14" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.14.tgz#b9581d00363908efb29817fdffc32b79f41dabe5" + integrity sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ== + dependencies: + "@formatjs/ecma402-abstract" "2.3.4" + tslib "^2.8.0" + +"@formatjs/intl-localematcher@0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.6.1.tgz#25dc30675320bf65a9d7f73876fc1e4064c0e299" + integrity sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg== + dependencies: + tslib "^2.8.0" + +"@heroui/aria-utils@2.2.13": + version "2.2.13" + resolved "https://registry.yarnpkg.com/@heroui/aria-utils/-/aria-utils-2.2.13.tgz#2aae607535303cd2a84bb094d267407573f6ac6c" + integrity sha512-JcMaUTrWQqTg2fknO8Cuj5QVifhk9x9SAwoM4pwxPQvwHDj7ghyFmF43yPwxwvhdiakau3uxzC7zg4ZrmdUvYQ== + dependencies: + "@heroui/react-rsc-utils" "2.1.6" + "@heroui/shared-utils" "2.1.7" + "@heroui/system" "2.4.12" + "@react-aria/utils" "3.28.0" + "@react-stately/collections" "3.12.2" + "@react-stately/overlays" "3.6.14" + "@react-types/overlays" "3.8.13" + "@react-types/shared" "3.28.0" + +"@heroui/framer-utils@2.1.12": + version "2.1.12" + resolved "https://registry.yarnpkg.com/@heroui/framer-utils/-/framer-utils-2.1.12.tgz#1f78f38b129a9a26142890ddb5aafea34707963f" + integrity sha512-UfHx5NVtXxxEObg1fi4uK+kl+oXoaMkG+zm74pqxLgDan7EuhgICPhCfUTpnZIhmdBlButNRKs1bva4wiG/BCg== + dependencies: + "@heroui/shared-utils" "2.1.7" + "@heroui/system" "2.4.12" + "@heroui/use-measure" "2.1.6" + +"@heroui/react-rsc-utils@2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@heroui/react-rsc-utils/-/react-rsc-utils-2.1.6.tgz#c76129261540dd0a15d93ab316db47337cfbadc2" + integrity sha512-slBWi9g3HdnSNRhoedDhXFybaab5MveAeECzQoj4oJrIlmiezyeZWRKbWR8li2tiZtvBoEr0Xpu/A8hdni15dQ== + +"@heroui/react-utils@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@heroui/react-utils/-/react-utils-2.1.8.tgz#9132277b9b3bbbfbb4862fc8ae8e3fd93080bf27" + integrity sha512-ET8sQaqfAWEviuZfatSYXBzyD0PpzuIK2YQkijla0TmF0sHJ3Yl4YQ6DYleWAaIJEWW1u0HgUPrdIjVGjWyKVg== + dependencies: + "@heroui/react-rsc-utils" "2.1.6" + "@heroui/shared-utils" "2.1.7" + +"@heroui/shared-utils@2.1.7": + version "2.1.7" + resolved "https://registry.yarnpkg.com/@heroui/shared-utils/-/shared-utils-2.1.7.tgz#7213ac10e9acb5b83ba7c9ad50f1a4aaa3df2e12" + integrity sha512-1nx7y41P+Bsca7nDC+QFajAoFhSRGvjKhdFeopMQNTvU95L42PD7B0ThjcOretvQD0Ye2TsAEQInwsSgZ6kK/g== + +"@heroui/system-rsc@2.3.11": + version "2.3.11" + resolved "https://registry.yarnpkg.com/@heroui/system-rsc/-/system-rsc-2.3.11.tgz#2beef523d44a0dc5bcb233f1da0cda10805283ea" + integrity sha512-727eu4FtQWtg6tJ1ZM0JKQayZNoU/4wkLhtncnKQEWr5XDgbBkNfzeXMc7wkREAMoSbCV5+7zEs/qqW5sIH/fw== + dependencies: + "@react-types/shared" "3.28.0" + clsx "^1.2.1" + +"@heroui/system@2.4.12": + version "2.4.12" + resolved "https://registry.yarnpkg.com/@heroui/system/-/system-2.4.12.tgz#55afe438b8b5ca941359fc88a039b36b586243b5" + integrity sha512-MjLGJoPIa3co02PA8XEkqWgoxg3jjcyQV2OCINpMREysO0DOweX7voTE/UmSWOuXsPQULwE1pXdP9RLjtersyQ== + dependencies: + "@heroui/react-utils" "2.1.8" + "@heroui/system-rsc" "2.3.11" + "@internationalized/date" "3.7.0" + "@react-aria/i18n" "3.12.6" + "@react-aria/overlays" "3.26.0" + "@react-aria/utils" "3.28.0" + "@react-stately/utils" "3.10.5" + "@react-types/datepicker" "3.11.0" + +"@heroui/tabs@^2.2.13": + version "2.2.13" + resolved "https://registry.yarnpkg.com/@heroui/tabs/-/tabs-2.2.13.tgz#df47ffef0cbf7c13cc816a0776b961dae30dd791" + integrity sha512-HIAAgkInrC23aD4XWY1TvIhy6FhO4LRLp3Q4zOVp4Nxs4G0p20Nv3gndl7NYRr7TB2fLAbQPgDblsXiG/v6Png== + dependencies: + "@heroui/aria-utils" "2.2.13" + "@heroui/framer-utils" "2.1.12" + "@heroui/react-utils" "2.1.8" + "@heroui/shared-utils" "2.1.7" + "@heroui/use-is-mounted" "2.1.6" + "@heroui/use-update-effect" "2.1.6" + "@react-aria/focus" "3.20.0" + "@react-aria/interactions" "3.24.0" + "@react-aria/tabs" "3.10.0" + "@react-aria/utils" "3.28.0" + "@react-stately/tabs" "3.8.0" + "@react-types/shared" "3.28.0" + "@react-types/tabs" "3.3.13" + scroll-into-view-if-needed "3.0.10" + +"@heroui/use-is-mounted@2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@heroui/use-is-mounted/-/use-is-mounted-2.1.6.tgz#f4da4a36b7ea2b820d020859f9d2cbb26dcf7531" + integrity sha512-dnTX1PUWGhIQJxszTScHgM9XxvYIx9j8vnSJuVGaptJonZWlt50yI/WAi+oWXJ289rw7XBDJ8o38qmU5Pmq+WA== + +"@heroui/use-measure@2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@heroui/use-measure/-/use-measure-2.1.6.tgz#18575474409b88e783b60df39df4560bd4069b81" + integrity sha512-FiN3Za6hExqU1B0d2drCm9JUFneQ1W5gyNoX0owf3aIWG98QR+LR1MOL3WBAGWtDsp4K6q8rqUKXatNxGJd/sA== + +"@heroui/use-update-effect@2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@heroui/use-update-effect/-/use-update-effect-2.1.6.tgz#1ebb330a0375f1cebe87f645264b1ced3a8281d0" + integrity sha512-nGSaIngKPuutmQcfZgnMHGYXJDqo6sPjdIIFjb5vutEnc827Xyh5f4q8hXfo7huYYYzA1CqLaThNVFCf3qIwHg== + "@humanfs/core@^0.19.1": version "0.19.1" resolved "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz" @@ -384,6 +523,35 @@ resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz" integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== +"@internationalized/date@3.7.0", "@internationalized/date@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.7.0.tgz#23a4956308ee108e308517a7137c69ab8f5f2ad9" + integrity sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/message@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.1.6.tgz#e5a832788a17214bfb3e5bbf5f0e23ed2f568ad7" + integrity sha512-JxbK3iAcTIeNr1p0WIFg/wQJjIzJt9l/2KNY/48vXV7GRGZSv3zMxJsce008fZclk2cDC8y0Ig3odceHO7EfNQ== + dependencies: + "@swc/helpers" "^0.5.0" + intl-messageformat "^10.1.0" + +"@internationalized/number@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.6.0.tgz#dc6ba20c41b25eb605f1d5cac7d8668e9022c224" + integrity sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/string@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@internationalized/string/-/string-3.2.5.tgz#2f387b256e79596a2e62ddd5e15c619fe241189c" + integrity sha512-rKs71Zvl2OKOHM+mzAFMIyqR5hI1d1O6BBkMK2/lkfg3fkmVh9Eeg0awcA8W2WqYqDOv6a86DIOlFpggwLtbuw== + dependencies: + "@swc/helpers" "^0.5.0" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" @@ -597,6 +765,16 @@ "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" +"@radix-ui/react-collection@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.2.tgz#b45eccca1cb902fd078b237316bd9fa81e621e15" + integrity sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-compose-refs@1.1.1": version "1.1.1" resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz" @@ -627,6 +805,11 @@ aria-hidden "^1.1.1" react-remove-scroll "^2.6.1" +"@radix-ui/react-direction@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.0.tgz#a7d39855f4d077adc2a1922f9c353c5977a09cdc" + integrity sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg== + "@radix-ui/react-dismissable-layer@1.1.3": version "1.1.3" resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.3.tgz" @@ -754,6 +937,21 @@ dependencies: "@radix-ui/react-slot" "1.1.2" +"@radix-ui/react-roving-focus@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz#815d051a54299114a68db6eb8d34c41a3c0a646f" + integrity sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw== + dependencies: + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-use-callback-ref" "1.1.0" + "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-slot@1.1.1", "@radix-ui/react-slot@^1.1.1": version "1.1.1" resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.1.tgz" @@ -768,6 +966,20 @@ dependencies: "@radix-ui/react-compose-refs" "1.1.1" +"@radix-ui/react-tabs@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz#c47c8202dc676dea47676215863d2ef9b141c17a" + integrity sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng== + dependencies: + "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-presence" "1.1.2" + "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-roving-focus" "1.1.2" + "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-callback-ref@1.1.0": version "1.1.0" resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz" @@ -811,12 +1023,275 @@ resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.0.tgz#f817d1d3265ac5415dadc67edab30ae196696438" integrity sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg== +"@react-aria/focus@3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.20.0.tgz#eb46f9f285c17a5357d09c3ded65aaa6a23e1f6d" + integrity sha512-KXZCwWzwnmtUo6xhnyV26ptxlxmqd0Reez7axduqqqeDDgDZOVscoo/5gFg71fdPZmnDC8MyUK1vxSbMhOTrGg== + dependencies: + "@react-aria/interactions" "^3.24.0" + "@react-aria/utils" "^3.28.0" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/focus@^3.20.0", "@react-aria/focus@^3.20.1": + version "3.20.1" + resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.20.1.tgz#9368fec1f1b020c89eda986a5608624eac846b84" + integrity sha512-lgYs+sQ1TtBrAXnAdRBQrBo0/7o5H6IrfDxec1j+VRpcXL0xyk0xPq+m3lZp8typzIghqDgpnKkJ5Jf4OrzPIw== + dependencies: + "@react-aria/interactions" "^3.24.1" + "@react-aria/utils" "^3.28.1" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/i18n@3.12.6": + version "3.12.6" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.12.6.tgz#0b45bff2b9c0421e7fbfff2dc3a3c02d78ff819d" + integrity sha512-I2Qz1vAlgdeW2GUMLhHucYhk514/BRuEzvH1iih8qeqvv0gEbKdSIjPJUomW+WzYVmJ2/bwKQAr7otr2fNcbrw== + dependencies: + "@internationalized/date" "^3.7.0" + "@internationalized/message" "^3.1.6" + "@internationalized/number" "^3.6.0" + "@internationalized/string" "^3.2.5" + "@react-aria/ssr" "^3.9.7" + "@react-aria/utils" "^3.28.0" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/i18n@^3.12.6", "@react-aria/i18n@^3.12.7": + version "3.12.7" + resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.12.7.tgz#8e3d6d3df0a8a424bd3ac8e2a2e80df83a5a712a" + integrity sha512-eLbYO2xrpeOKIEmLv2KD5LFcB0wltFqS+pUjsOzkKZg6H3b6AFDmJPxr/a0x2KGHtpGJvuHwCSbpPi9PzSSQLg== + dependencies: + "@internationalized/date" "^3.7.0" + "@internationalized/message" "^3.1.6" + "@internationalized/number" "^3.6.0" + "@internationalized/string" "^3.2.5" + "@react-aria/ssr" "^3.9.7" + "@react-aria/utils" "^3.28.1" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@3.24.0": + version "3.24.0" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.24.0.tgz#5502ff5049578a6ae8cdbc3d96d64fb6ceeef362" + integrity sha512-6Zdhp1pswyPgbwEWzvXARdKAWPjP7mACczoIUvlEQiMsX04fuizBiBLAA+W/5mPe17pbJYHA/rxZF5Y5m+M0Ng== + dependencies: + "@react-aria/ssr" "^3.9.7" + "@react-aria/utils" "^3.28.0" + "@react-stately/flags" "^3.1.0" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/interactions@^3.24.0", "@react-aria/interactions@^3.24.1": + version "3.24.1" + resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.24.1.tgz#fd8ce88a699d07f56afe0d8083bbd19810311be5" + integrity sha512-OWEcIC6UQfWq4Td5Ptuh4PZQ4LHLJr/JL2jGYvuNL6EgL3bWvzPrRYIF/R64YbfVxIC7FeZpPSkS07sZ93/NoA== + dependencies: + "@react-aria/ssr" "^3.9.7" + "@react-aria/utils" "^3.28.1" + "@react-stately/flags" "^3.1.0" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/overlays@3.26.0": + version "3.26.0" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.26.0.tgz#febaefb56a3d240776a65ae0f31cd63da87ad311" + integrity sha512-Rr3yoyGwXzp446QK6CwnjJl9ZfH/Cq2o01XQmMjya2gmk5N4aefRORg7eRoVy5EVfecIH/HJVg0BKEjXQOp4nA== + dependencies: + "@react-aria/focus" "^3.20.0" + "@react-aria/i18n" "^3.12.6" + "@react-aria/interactions" "^3.24.0" + "@react-aria/ssr" "^3.9.7" + "@react-aria/utils" "^3.28.0" + "@react-aria/visually-hidden" "^3.8.20" + "@react-stately/overlays" "^3.6.14" + "@react-types/button" "^3.11.0" + "@react-types/overlays" "^3.8.13" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/selection@^3.23.0": + version "3.23.1" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.23.1.tgz#7e344d0bf9e2eaf29a6d534f8d4cd912af3fd88e" + integrity sha512-z4vVw7Fw0+nK46PPlCV8TyieCS+EOUp3eguX8833fFJ/QDlFp3Ewgw2T5qCIix5U3siXPYU0ZmAMOdrjibdGpQ== + dependencies: + "@react-aria/focus" "^3.20.1" + "@react-aria/i18n" "^3.12.7" + "@react-aria/interactions" "^3.24.1" + "@react-aria/utils" "^3.28.1" + "@react-stately/selection" "^3.20.0" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/ssr@^3.9.7": + version "3.9.7" + resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.9.7.tgz#d89d129f7bbc5148657e6c952ac31c9353183770" + integrity sha512-GQygZaGlmYjmYM+tiNBA5C6acmiDWF52Nqd40bBp0Znk4M4hP+LTmI0lpI1BuKMw45T8RIhrAsICIfKwZvi2Gg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-aria/tabs@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.10.0.tgz#be09af509d1a83a4e3fcd866ea12ca874b86507b" + integrity sha512-1wGB4CtkP/F0/4YTDoB7XoPr4Ea6dbLTpLHQiS0cxf0kA3NZCxRguIffRbigE/D6fHArzWyKedSo6FzJR/WPZw== + dependencies: + "@react-aria/focus" "^3.20.0" + "@react-aria/i18n" "^3.12.6" + "@react-aria/selection" "^3.23.0" + "@react-aria/utils" "^3.28.0" + "@react-stately/tabs" "^3.8.0" + "@react-types/shared" "^3.28.0" + "@react-types/tabs" "^3.3.13" + "@swc/helpers" "^0.5.0" + +"@react-aria/utils@3.28.0": + version "3.28.0" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.28.0.tgz#8b524815bb368c16efa1aba04a5d92b7014624ee" + integrity sha512-FfpvpADk61OvEnFe37k6jF1zr5gtafIPN9ccJRnPCTqrzuExag01mGi+wX/hWyFK0zAe1OjWf1zFOX3FsFvikg== + dependencies: + "@react-aria/ssr" "^3.9.7" + "@react-stately/flags" "^3.1.0" + "@react-stately/utils" "^3.10.5" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/utils@^3.28.0", "@react-aria/utils@^3.28.1": + version "3.28.1" + resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.28.1.tgz#13ab65094418e324242e37a5a433e1fb5f4e6d5c" + integrity sha512-mnHFF4YOVu9BRFQ1SZSKfPhg3z+lBRYoW5mLcYTQihbKhz48+I1sqRkP7ahMITr8ANH3nb34YaMME4XWmK2Mgg== + dependencies: + "@react-aria/ssr" "^3.9.7" + "@react-stately/flags" "^3.1.0" + "@react-stately/utils" "^3.10.5" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + clsx "^2.0.0" + +"@react-aria/visually-hidden@^3.8.20": + version "3.8.21" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.21.tgz#f93d2da453c9e826934d72a4cd84a8bd97b10265" + integrity sha512-iii5qO+cVHrHiOeiBYCnTRUQG2eOgEPFmiMG4dAuby8+pJJ8U4BvffX2sDTYWL6ztLLBYyrsUHPSw1Ld03JhmA== + dependencies: + "@react-aria/interactions" "^3.24.1" + "@react-aria/utils" "^3.28.1" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/collections@3.12.2", "@react-stately/collections@^3.12.2": + version "3.12.2" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.12.2.tgz#95cce481bd6ff69aa4694a8b47015360dc4de84e" + integrity sha512-RoehfGwrsYJ/WGtyGSLZNYysszajnq0Q3iTXg7plfW1vNEzom/A31vrLjOSOHJWAtwW339SDGGRpymDtLo4GWA== + dependencies: + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/flags@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@react-stately/flags/-/flags-3.1.0.tgz#04a97edb487c6ca6723397315ca7257b5bd8708b" + integrity sha512-KSHOCxTFpBtxhIRcKwsD1YDTaNxFtCYuAUb0KEihc16QwqZViq4hasgPBs2gYm7fHRbw7WYzWKf6ZSo/+YsFlg== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-stately/list@^3.12.0": + version "3.12.0" + resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.12.0.tgz#e7476a6ccba9509804bef6557a566355eb6b4daf" + integrity sha512-6niQWJ6TZwOKLAOn2wIsxtOvWenh3rKiKdOh4L4O4f7U+h1Hu000Mu4lyIQm2P9uZAkF2Y5QNh6dHN+hSd6h3A== + dependencies: + "@react-stately/collections" "^3.12.2" + "@react-stately/selection" "^3.20.0" + "@react-stately/utils" "^3.10.5" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/overlays@3.6.14", "@react-stately/overlays@^3.6.14": + version "3.6.14" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.14.tgz#c23fcfa03c1b81f2dc93888485b29d5ae15b2291" + integrity sha512-RRalTuHdwrKO1BmXKaqBtE1GGUXU4VUAWwgh4lsP2EFSixDHmOVLxHFDWYvOPChBhpi8KXfLEgm6DEgPBvLBZQ== + dependencies: + "@react-stately/utils" "^3.10.5" + "@react-types/overlays" "^3.8.13" + "@swc/helpers" "^0.5.0" + +"@react-stately/selection@^3.20.0": + version "3.20.0" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.20.0.tgz#991a67be2d80fb0c0c0ffba7542b1a0df5a31165" + integrity sha512-woUSHMTyQiNmCf63Dyot1WXFfWnm6PFYkI9kymcq1qrrly4g/j27U+5PaRWOHawMiJwn1e1GTogk8B+K5ahshQ== + dependencies: + "@react-stately/collections" "^3.12.2" + "@react-stately/utils" "^3.10.5" + "@react-types/shared" "^3.28.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/tabs@3.8.0", "@react-stately/tabs@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.8.0.tgz#9936aee9196cb5b55f9683ffe961da2e8adb104f" + integrity sha512-I8ctOsUKPviJ82xWAcZMvWqz5/VZurkE+W9n9wrFbCgHAGK/37bx+PM1uU/Lk4yKp8WrPYSFOEPil5liD+M+ew== + dependencies: + "@react-stately/list" "^3.12.0" + "@react-types/shared" "^3.28.0" + "@react-types/tabs" "^3.3.13" + "@swc/helpers" "^0.5.0" + +"@react-stately/utils@3.10.5", "@react-stately/utils@^3.10.5": + version "3.10.5" + resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.10.5.tgz#47bb91cd5afd1bafe39353614e5e281b818ebccc" + integrity sha512-iMQSGcpaecghDIh3mZEpZfoFH3ExBwTtuBEcvZ2XnGzCgQjeYXcMdIUwAfVQLXFTdHUHGF6Gu6/dFrYsCzySBQ== + dependencies: + "@swc/helpers" "^0.5.0" + +"@react-types/button@^3.11.0": + version "3.11.0" + resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.11.0.tgz#ca57d3bbf03935a07fe7e8356192152d9d77a00c" + integrity sha512-gJh5i0JiBiZGZGDo+tXMp6xbixPM7IKZ0sDuxTYBG49qNzzWJq0uNYltO3emwSVXFSsBgRV/Wu8kQGhfuN7wIw== + dependencies: + "@react-types/shared" "^3.28.0" + +"@react-types/calendar@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.6.1.tgz#25e0ff634787d70f70abf72a030c1e33c668a820" + integrity sha512-EMbFJX/3gD5j+R0qZEGqK+wlhBxMSHhGP8GqP9XGbpuJPE3w9/M/PVWdh8FUdzf9srYxPOq5NgiGI1JUJvdZqw== + dependencies: + "@internationalized/date" "^3.7.0" + "@react-types/shared" "^3.28.0" + +"@react-types/datepicker@3.11.0": + version "3.11.0" + resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.11.0.tgz#e2c6999b0c48b6d729c7039830dc279609f21992" + integrity sha512-GAYgPzqKvd1lR2sLYYMlUkNg2+QoM2uVUmpeQLP1SbYpDr1y8lG5cR54em1G4X/qY4+nCWGiwhRC2veP0D0kfA== + dependencies: + "@internationalized/date" "^3.7.0" + "@react-types/calendar" "^3.6.1" + "@react-types/overlays" "^3.8.13" + "@react-types/shared" "^3.28.0" + +"@react-types/overlays@3.8.13", "@react-types/overlays@^3.8.13": + version "3.8.13" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.13.tgz#83e7769bf99b1c40ba1316f6e943dc48409b4b1f" + integrity sha512-xgT843KIh1otvYPQ6kCGTVUICiMF5UQ7SZUQZd4Zk3VtiFIunFVUvTvL03cpt0026UmY7tbv7vFrPKcT6xjsjw== + dependencies: + "@react-types/shared" "^3.28.0" + +"@react-types/shared@3.28.0", "@react-types/shared@^3.28.0": + version "3.28.0" + resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.28.0.tgz#7b4b5485b758228bdbe31ecae66ed07a29e2be4d" + integrity sha512-9oMEYIDc3sk0G5rysnYvdNrkSg7B04yTKl50HHSZVbokeHpnU0yRmsDaWb9B/5RprcKj8XszEk5guBO8Sa/Q+Q== + +"@react-types/tabs@3.3.13", "@react-types/tabs@^3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.3.13.tgz#14f09a1def3d7c33f65ef63513d5af84415a01ae" + integrity sha512-jqaK2U+WKChAmYBMO8QxQlFaIM8zDRY9+ignA1HwIyRw7vli4Mycc4RcMxTPm8krvgo+zuVrped9QB+hsDjCsQ== + dependencies: + "@react-types/shared" "^3.28.0" + "@swc/counter@0.1.3": version "0.1.3" resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== -"@swc/helpers@0.5.15": +"@swc/helpers@0.5.15", "@swc/helpers@^0.5.0": version "0.5.15" resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz" integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== @@ -1566,7 +2041,12 @@ clone@^1.0.2: resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -clsx@^2.1.1: +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +clsx@^2.0.0, clsx@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== @@ -1633,6 +2113,11 @@ commander@^4.0.0: resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +compute-scroll-into-view@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz#02c3386ec531fb6a9881967388e53e8564f3e9aa" + integrity sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -1724,6 +2209,11 @@ debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "^2.1.3" +decimal.js@^10.4.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.5.0.tgz#0f371c7cf6c4898ce0afb09836db73cd82010f22" + integrity sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw== + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" @@ -2741,6 +3231,16 @@ internal-slot@^1.0.7, internal-slot@^1.1.0: hasown "^2.0.2" side-channel "^1.1.0" +intl-messageformat@^10.1.0: + version "10.7.16" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.16.tgz#d909f9f9f4ab857fbe681d559b958dd4dd9f665a" + integrity sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug== + dependencies: + "@formatjs/ecma402-abstract" "2.3.4" + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/icu-messageformat-parser" "2.11.2" + tslib "^2.8.0" + ip-address@^9.0.5: version "9.0.5" resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" @@ -4109,6 +4609,13 @@ scheduler@^0.25.0: resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz" integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== +scroll-into-view-if-needed@3.0.10: + version "3.0.10" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.10.tgz#38fbfe770d490baff0fb2ba34ae3539f6ec44e13" + integrity sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg== + dependencies: + compute-scroll-into-view "^3.0.2" + semver@^6.0.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"