diff --git a/app/actions/posts/jobs.ts b/app/actions/posts/jobs.ts
index 4ba01f6..54ad542 100755
--- a/app/actions/posts/jobs.ts
+++ b/app/actions/posts/jobs.ts
@@ -179,6 +179,60 @@ export async function GetAllApprovedPost() {
}
}
+export async function GetJobById(id: string) {
+ try {
+ const allPosts = await prisma.post.findMany({
+ where: {
+ id,
+ approved: true,
+ },
+
+ orderBy: {
+ createdAt: "desc",
+ },
+
+ select: {
+ id: true,
+ apply_link: true,
+ company: true,
+ company_logo: true,
+ company_website: true,
+ experience_level: true,
+ job_type: true,
+ location: true,
+ position: true,
+ role_description: true,
+ salary_disclosed: true,
+ salary_max: true,
+ salary_min: true,
+ author: {
+ select: {
+ id: true,
+ avatar: true,
+ username: true,
+ role: true,
+ },
+ },
+ createdAt: true,
+ },
+ });
+
+ if (!allPosts) throw new Error("No Posts Found");
+
+ return {
+ status: 200,
+ message: "Succesfylly Fetched all Posts",
+ data: allPosts,
+ };
+ } catch (error) {
+ return {
+ status: 404,
+ message: (error as Error).message,
+ data: [],
+ };
+ }
+}
+
//Get jobs by authorid
export async function GetPostByAuthorId(authorId: string) {
diff --git a/app/globals.css b/app/globals.css
index 68e53df..e39ed6d 100755
--- a/app/globals.css
+++ b/app/globals.css
@@ -86,3 +86,17 @@ input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px #262a34 inset;
-webkit-text-fill-color: white !important;
}
+
+::-webkit-scrollbar {
+ width: 6px;
+ height: 6px;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: rgba(100, 100, 100, 0.5);
+ border-radius: 3px;
+}
+
+::-webkit-scrollbar-track {
+ background: transparent;
+}
diff --git a/app/jobs/[...id]/page.tsx b/app/jobs/[...id]/page.tsx
new file mode 100644
index 0000000..ab040f9
--- /dev/null
+++ b/app/jobs/[...id]/page.tsx
@@ -0,0 +1,13 @@
+import JobsId from "@/components/Job/jobId";
+
+type tParams = Promise<{ id: string }>;
+
+export default async function JobsIdPage({ params }: { params: tParams }) {
+ const { id } = await params;
+
+ return (
+
+
+
+ );
+}
diff --git a/app/jobs/page.tsx b/app/jobs/page.tsx
index b71d76f..d85e54a 100755
--- a/app/jobs/page.tsx
+++ b/app/jobs/page.tsx
@@ -1,18 +1,22 @@
+import ActivePostModal from "@/components/Job/activeJobModal";
+import FilterSideBar from "@/components/Job/filterCard";
import { lazy } from "react";
-const MobileFilterCard = lazy(() => import("@/components/Job/mobFilterCard"));
-const DesktopFilterCard = lazy(() => import("@/components/Job/deskFilterCard"));
+
const AllJobsComp = lazy(() => import("@/components/Job/Jobs"));
export default function AllJobs() {
return (
-
-
-
-
+ <>
+
+
+ >
);
}
diff --git a/app/layout.tsx b/app/layout.tsx
index 5896900..5704913 100755
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -7,7 +7,6 @@ import { auth } from "@/auth";
import { Toaster } from "@/components/ui/sonner";
import Loader from "./loading";
import RegisterSw from "@/components/RegisterSw";
-import { ReactLenis } from "lenis/react";
const inter = Inter({ subsets: ["latin"] });
@@ -25,19 +24,19 @@ export default async function RootLayout({
const session = await auth();
return (
-
-
- }>
-
-
- {children}
-
-
-
-
-
-
-
+ {/*
*/}
+
+ }>
+
+
+ {children}
+
+
+
+
+
+
+ {/* */}
);
}
diff --git a/components/Job/JobSheet.tsx b/components/Job/JobSheet.tsx
deleted file mode 100755
index 88c9f42..0000000
--- a/components/Job/JobSheet.tsx
+++ /dev/null
@@ -1,183 +0,0 @@
-import {
- Sheet,
- SheetContent,
- SheetDescription,
- SheetHeader,
- SheetTitle,
- SheetTrigger,
-} from "@/components/ui/sheet";
-import { ApprovedJobLisitingType } from "@/types/types";
-import { fraunces, poppins, roboto_slab } from "@/utils/fonts/font";
-import { BriefcaseBusiness, Pin, X } from "lucide-react";
-import { useState } from "react";
-import { TbHandClick } from "react-icons/tb";
-import Tiptap from "./Create/TipTap";
-import { Button } from "../ui/button";
-import Link from "next/link";
-
-import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
-import { Separator } from "../ui/separator";
-import { MdAdminPanelSettings } from "react-icons/md";
-import Image from "next/image";
-import { BookmarkPostComp } from "./MoreDialog";
-
-export default function JobSheetComp({
- id,
- author,
- position,
- company,
- company_logo,
- company_website,
- role_description,
- job_type,
- location,
- salary_disclosed,
- salary_min,
- salary_max,
- experience_level,
- apply_link,
-}: ApprovedJobLisitingType) {
- const [applySheet, setApplySheet] = useState(false);
- return (
-
-
- setApplySheet(true)}
- >
- See More
-
-
-
-
-
- setApplySheet(false)}
- className="cursor-pointer text-gray-400"
- />
-
-
-
- {company_website ? (
-
- {position}
-
- ) : (
-
- {position}
-
- )}
-
-
-
-
-
-
-
-
- {experience_level}
-
-
-
-
- {salary_disclosed && salary_min && salary_max
- ? ` ₹ ${Math.round(salary_min / 1000)}k - ₹ ${Math.round(
- salary_max / 1000,
- )}k/month`
- : "Not disclosed"}
-
-
-
-
-
-
-
-
- Posted By
-
-
-
-
-
- CO
-
-
-
- {author.username}
-
- {author.role ? (
-
-
-
- {author.role.toLowerCase()}
-
-
- ) : (
- ""
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/components/Job/Jobs.tsx b/components/Job/Jobs.tsx
index 1a0a2fb..52081ae 100755
--- a/components/Job/Jobs.tsx
+++ b/components/Job/Jobs.tsx
@@ -5,10 +5,11 @@ import { useEffect } from "react";
import { GetAllApprovedPost } from "@/app/actions/posts/jobs";
import { toast } from "sonner";
import { ApprovedJobLisitingType, GetAllPostResponseType } from "@/types/types";
-import { useRecoilState, useRecoilValue } from "recoil";
+import { useRecoilState, useRecoilValue, useSetRecoilState } from "recoil";
import {
allJobListings,
joblistingError,
+ universalActivePostModal,
universalLoader,
} from "@/store/store";
import JobCardSkeleton from "./jobCardSkeletion";
@@ -16,6 +17,7 @@ import JobCardSkeleton from "./jobCardSkeletion";
export default function AllJobsComp() {
const [allJobs, setAllJobs] = useRecoilState(allJobListings);
const [loading, setLoading] = useRecoilState(universalLoader);
+ const setActivePostModal = useSetRecoilState(universalActivePostModal);
const errorNoPost = useRecoilValue(joblistingError);
useEffect(() => {
@@ -25,6 +27,8 @@ export default function AllJobsComp() {
const response: GetAllPostResponseType = await GetAllApprovedPost();
if (response.status !== 200) throw new Error(response.message);
setAllJobs(response.data);
+
+ setActivePostModal(response.data[0].id);
} catch (error) {
toast((error as Error).message || "Error Occured");
} finally {
@@ -42,7 +46,7 @@ export default function AllJobsComp() {
No Post found
) : (
-
+
{loading ? (
[1, 2, 3].map((_, i) => {
return (
diff --git a/components/Job/activeJobModal.tsx b/components/Job/activeJobModal.tsx
new file mode 100644
index 0000000..261f880
--- /dev/null
+++ b/components/Job/activeJobModal.tsx
@@ -0,0 +1,45 @@
+"use client";
+
+import { GetJobById } from "@/app/actions/posts/jobs";
+import { universalActivePostModal } from "@/store/store";
+import { ApprovedJobLisitingType, GetAllPostResponseType } from "@/types/types";
+import { useEffect, useState } from "react";
+import { useRecoilValue } from "recoil";
+import { toast } from "sonner";
+import JobDetailShow from "./jobDataShow";
+
+export default function ActivePostModal() {
+ const activeJobModalId = useRecoilValue(universalActivePostModal);
+ const [currentData, setCurrentData] = useState<
+ ApprovedJobLisitingType | undefined
+ >(undefined);
+ const [loading, setLoading] = useState
(false);
+
+ useEffect(() => {
+ async function getPostDetails() {
+ setLoading(true);
+ try {
+ const response: GetAllPostResponseType =
+ await GetJobById(activeJobModalId);
+ if (response.status !== 200) throw new Error(response.message);
+ setCurrentData(response.data[0]);
+ } catch (error) {
+ toast((error as Error).message || "Error Occured");
+ } finally {
+ setLoading(false);
+ }
+ }
+
+ getPostDetails();
+ }, [activeJobModalId]);
+
+ return (
+ <>
+ {loading || !currentData ? (
+ Loading...
+ ) : (
+
+ )}
+ >
+ );
+}
diff --git a/components/Job/applyBtn.tsx b/components/Job/applyBtn.tsx
new file mode 100644
index 0000000..068e9c2
--- /dev/null
+++ b/components/Job/applyBtn.tsx
@@ -0,0 +1,15 @@
+import { Button } from "../ui/button";
+
+export default function ApplyFilterBtn({ fn }: { fn: () => void }) {
+ return (
+
+ );
+}
diff --git a/components/Job/clearFIlterBtn.tsx b/components/Job/clearFIlterBtn.tsx
new file mode 100644
index 0000000..d65b3b0
--- /dev/null
+++ b/components/Job/clearFIlterBtn.tsx
@@ -0,0 +1,11 @@
+export default function ClearFilterBtn({ fn }: { fn: () => void }) {
+ return (
+
+ Clear All
+
+ );
+}
diff --git a/components/Job/deskFilterCard.tsx b/components/Job/deskFilterCard.tsx
deleted file mode 100755
index 8dfa403..0000000
--- a/components/Job/deskFilterCard.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import FilterSideBar from "./filterCard";
-
-export default function DesktopFilterCard() {
- return (
-
-
-
- );
-}
diff --git a/components/Job/filterCard.tsx b/components/Job/filterCard.tsx
index 88424ef..4202558 100755
--- a/components/Job/filterCard.tsx
+++ b/components/Job/filterCard.tsx
@@ -2,65 +2,68 @@
import {
allJobListings,
- filterMobSheet,
joblistingError,
universalLoader,
} from "@/store/store";
import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import { useSetRecoilState } from "recoil";
-import { Button } from "../ui/button";
+
import {
- Accordion,
- AccordionContent,
- AccordionItem,
- AccordionTrigger,
-} from "@/components/ui/accordion";
+ Select,
+ SelectContent,
+ SelectTrigger,
+ SelectValue,
+} from "@/components/ui/select";
+import ApplyFilterBtn from "./applyBtn";
+import ClearFilterBtn from "./clearFIlterBtn";
const experienceValues = ["Fresher", "0-1y", "1y", "3y", "5y"];
const jobTypeValues = ["Fulltime", "Internship", "Contract", "Freelance"];
const locationTypeValue = ["Remote", "Onsite", "Hybrid"];
+type filteredArrayType = {
+ experience: any[];
+ job: any[];
+ location: any[];
+};
export default function FilterSideBar() {
- const { register, watch } = useForm();
+ const { register, watch, reset } = useForm();
const setAllJobs = useSetRecoilState(allJobListings);
const setLoading = useSetRecoilState(universalLoader);
const setError = useSetRecoilState(joblistingError);
- const setMobSheetOpen = useSetRecoilState(filterMobSheet);
- const [disableApply, setDisableApply] = useState(true);
-
- const [filter, setFilter] = useState<{
- experience: any[];
- job: any[];
- location: any[];
- }>({
+
+ const [filter, setFilter] = useState({
experience: [],
job: [],
location: [],
});
- const selectedExperience = watch(experienceValues);
- const selectedJob = watch(jobTypeValues);
- const selectedLocation = watch(locationTypeValue);
+ const selectedExperience = watch("experience") || [];
+ const selectedJob = watch("job_type") || [];
+ const selectedLocation = watch("location") || [];
useEffect(() => {
const newFilter = {
- experience: selectedExperience.filter((e) => (e ? e : null)),
- job: selectedJob.filter((e) => (e ? e : null)),
- location: selectedLocation.filter((e) => (e ? e : null)),
+ experience: selectedExperience.filter((e: string | null) =>
+ e ? e : null,
+ ),
+ job: selectedJob.filter((e: string | null) => (e ? e : null)),
+ location: selectedLocation.filter((e: string | null) => (e ? e : null)),
};
+
if (JSON.stringify(newFilter) !== JSON.stringify(filter)) {
setFilter(newFilter);
- setDisableApply(false);
+ callBackend(newFilter);
}
}, [selectedExperience, selectedJob, selectedLocation]);
- const callBackend = async () => {
+ const callBackend = async (newFilter?: filteredArrayType) => {
setLoading(true);
try {
const response = await fetch(`/api/jobs`, {
method: "POST",
- body: JSON.stringify(filter),
+ body: JSON.stringify(newFilter ? newFilter : filter),
});
const finalData = await response.json();
@@ -75,158 +78,105 @@ export default function FilterSideBar() {
};
return (
- <>
-
-
-
-
-
-
-
- Experience Level
-
-
- {experienceValues.map((e: string, i: number) => {
- return (
-
-
-
-
- );
- })}
-
-
-
-
- {/*
-
Experience Level
-
+
+
*/}
-
-
-
-
- Job Type
-
-
- {jobTypeValues.map((e: string, i: number) => {
- return (
-
-
-
-
- );
- })}
-
-
-
-
- {/*
-
Job Type
-
+
+
+
+
+
+
*/}
-
-
-
-
- Location
-
-
- {locationTypeValue.map((e: string, i: number) => {
- return (
-
-
-
-
- );
- })}
-
-
-
- {/*
-
-
Location Wise
-
+
+
+
+
+
+
*/}
- >
+
+
+
+
+
);
}
diff --git a/components/Job/jobCard.tsx b/components/Job/jobCard.tsx
index 745303d..ee1059c 100755
--- a/components/Job/jobCard.tsx
+++ b/components/Job/jobCard.tsx
@@ -1,32 +1,43 @@
import { BriefcaseBusiness, Pin } from "lucide-react";
import { ApprovedJobLisitingType } from "@/types/types";
import { BookmarkPostComp } from "./MoreDialog";
-import JobSheetComp from "./JobSheet";
+
import { MdVerifiedUser } from "react-icons/md";
import Link from "next/link";
import { useEffect, useState } from "react";
import { calculateDayDiff } from "@/utils/helpers/calculate-day-difference";
import Image from "next/image";
+import { useSetRecoilState } from "recoil";
+import { universalActivePostModal } from "@/store/store";
+import { useRouter } from "next/navigation";
export default function JobCard({
id,
author,
position,
company,
- role_description,
+
company_logo,
- company_website,
+
job_type,
location,
salary_disclosed,
salary_min,
salary_max,
experience_level,
- apply_link,
+
createdAt,
show = true,
}: ApprovedJobLisitingType) {
const [diff, setDiff] = useState(0);
+ const setUniversalActivePostModal = useSetRecoilState(
+ universalActivePostModal,
+ );
+
+ //eslint-disable-next-line
+ const [isSmallScreen, setIsSmallScreen] = useState(false);
+
+ const router = useRouter();
const getPostedTime = (diff: number) => {
if (diff <= 0) {
@@ -51,8 +62,29 @@ export default function JobCard({
setDiff(calculatedDiff);
}, []);
+ //calculating the screen size
+
+ useEffect(() => {
+ function handleResize() {
+ setIsSmallScreen(window.innerWidth < 1024);
+ }
+
+ handleResize();
+
+ window.addEventListener("resize", handleResize);
+
+ return () => window.removeEventListener("resize", handleResize);
+ }, []);
+
return (
-
+
{
+ isSmallScreen //eslint-disable-line
+ ? router.push(`/jobs/${id}`)
+ : setUniversalActivePostModal(id);
+ }}
+ >
{/* first section */}
@@ -69,7 +101,7 @@ export default function JobCard({
-
+
{position}
{author.role === "ADMIN" ? (
@@ -124,24 +156,6 @@ export default function JobCard({
>
ft: @{author.username.slice(0, 15)}..
-
-
) : null}
diff --git a/components/Job/jobDataShow.tsx b/components/Job/jobDataShow.tsx
new file mode 100644
index 0000000..fc1715b
--- /dev/null
+++ b/components/Job/jobDataShow.tsx
@@ -0,0 +1,129 @@
+import { ApprovedJobLisitingType } from "@/types/types";
+import Tiptap from "@/components/Job/Create/TipTap";
+import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
+import { Button } from "@/components/ui/button";
+import { Separator } from "@/components/ui/separator";
+import { fraunces, poppins } from "@/utils/fonts/font";
+import { BriefcaseBusiness, Pin } from "lucide-react";
+import Image from "next/image";
+import Link from "next/link";
+import { MdAdminPanelSettings } from "react-icons/md";
+import { TbHandClick } from "react-icons/tb";
+
+export default function JobDetailShow(data: ApprovedJobLisitingType) {
+ return (
+ <>
+
+
+ {data.company_website ? (
+
+ {data.position}
+
+ ) : (
+
+ {data.position}
+
+ )}
+
+
+
+
+
+
+
+
+ {data.experience_level}
+
+
+
+
+ {data.salary_disclosed && data.salary_min && data.salary_max
+ ? ` ₹ ${Math.round(data.salary_min / 1000)}k - ₹ ${Math.round(
+ data.salary_max / 1000,
+ )}k/month`
+ : "Not disclosed"}
+
+
+
+
+
+
+
+
+
+ Posted By
+
+
+
+
+
+ CO
+
+
+
+ {data.author.username}
+
+ {data.author.role ? (
+
+
+
+ {data.author.role.toLowerCase()}
+
+
+ ) : (
+ ""
+ )}
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/components/Job/jobId.tsx b/components/Job/jobId.tsx
new file mode 100644
index 0000000..2200fd8
--- /dev/null
+++ b/components/Job/jobId.tsx
@@ -0,0 +1,48 @@
+"use client";
+
+import { GetJobById } from "@/app/actions/posts/jobs";
+import { ApprovedJobLisitingType, GetAllPostResponseType } from "@/types/types";
+import { useEffect, useState } from "react";
+import { toast } from "sonner";
+import JobDetailShow from "./jobDataShow";
+import { ArrowLeft } from "lucide-react";
+import Link from "next/link";
+
+export default function JobsId({ id }: { id: string }) {
+ const [responseData, setResponseDataa] = useState<
+ ApprovedJobLisitingType | undefined
+ >(undefined);
+ const [loading, setLoading] = useState
(false);
+
+ useEffect(() => {
+ async function getPostDetails() {
+ setLoading(true);
+ try {
+ const response: GetAllPostResponseType = await GetJobById(id);
+ if (response.status !== 200) throw new Error(response.message);
+ setResponseDataa(response.data[0]);
+ } catch (error) {
+ toast((error as Error).message || "Error Occured");
+ } finally {
+ setLoading(false);
+ }
+ }
+
+ getPostDetails();
+ }, []);
+
+ return (
+ <>
+ {loading || !responseData ? (
+ Loading...
+ ) : (
+ <>
+
+
+
+
+ >
+ )}
+ >
+ );
+}
diff --git a/components/Job/mobFilterCard.tsx b/components/Job/mobFilterCard.tsx
deleted file mode 100755
index 713c0a2..0000000
--- a/components/Job/mobFilterCard.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-"use client";
-
-import {
- Sheet,
- SheetContent,
- SheetDescription,
- SheetHeader,
- SheetTrigger,
-} from "@/components/ui/sheet";
-import { filterMobSheet } from "@/store/store";
-import { Tally3, X } from "lucide-react";
-import { lazy } from "react";
-import { useRecoilState } from "recoil";
-const FilterSideBar = lazy(() => import("@/components/Job/filterCard"));
-
-export default function MobileFilterCard() {
- const [sheetOpen, setSheetOpen] = useRecoilState(filterMobSheet);
- return (
-
-
-
- setSheetOpen(true)}
- />
-
-
-
-
- setSheetOpen(false)}
- />
-
-
-
-
-
-
-
-
- );
-}
diff --git a/components/ui/checkbox.tsx b/components/ui/checkbox.tsx
new file mode 100644
index 0000000..5985e3c
--- /dev/null
+++ b/components/ui/checkbox.tsx
@@ -0,0 +1,30 @@
+"use client";
+
+import * as React from "react";
+import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
+import { Check } from "lucide-react";
+
+import { cn } from "@/lib/utils";
+
+const Checkbox = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+
+
+));
+Checkbox.displayName = CheckboxPrimitive.Root.displayName;
+
+export { Checkbox };
diff --git a/package-lock.json b/package-lock.json
index dbc737a..a39e484 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,12 +14,12 @@
"@radix-ui/react-accordion": "^1.2.1",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0",
- "@radix-ui/react-checkbox": "^1.1.1",
+ "@radix-ui/react-checkbox": "^1.1.4",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-hover-card": "^1.1.1",
"@radix-ui/react-popover": "^1.1.1",
- "@radix-ui/react-select": "^2.1.2",
+ "@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.1",
@@ -2529,15 +2529,16 @@
}
},
"node_modules/@radix-ui/react-checkbox": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.1.1.tgz",
- "integrity": "sha512-0i/EKJ222Afa1FE0C6pNJxDq1itzcl3HChE9DwskA4th4KRse8ojx8a1nVcOjwJdbpDLcz7uol77yYnQNMHdKw==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.1.4.tgz",
+ "integrity": "sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.2",
"@radix-ui/react-use-controllable-state": "1.1.0",
"@radix-ui/react-use-previous": "1.1.0",
"@radix-ui/react-use-size": "1.1.0"
@@ -2557,6 +2558,107 @@
}
}
},
+ "node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz",
+ "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
+ "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz",
+ "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-presence": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz",
+ "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-primitive": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz",
+ "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-slot": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
+ "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@radix-ui/react-collapsible": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.1.tgz",
@@ -3200,31 +3302,61 @@
}
},
"node_modules/@radix-ui/react-select": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.2.tgz",
- "integrity": "sha512-rZJtWmorC7dFRi0owDmoijm6nSJH1tVw64QGiNIZ9PNLyBDtG+iAq+XGsya052At4BfarzY/Dhv9wrrUr6IMZA==",
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz",
+ "integrity": "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/number": "1.1.0",
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-collection": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
+ "@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-dismissable-layer": "1.1.1",
+ "@radix-ui/react-dismissable-layer": "1.1.5",
"@radix-ui/react-focus-guards": "1.1.1",
- "@radix-ui/react-focus-scope": "1.1.0",
+ "@radix-ui/react-focus-scope": "1.1.2",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-popper": "1.2.0",
- "@radix-ui/react-portal": "1.1.2",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-popper": "1.2.2",
+ "@radix-ui/react-portal": "1.1.4",
+ "@radix-ui/react-primitive": "2.0.2",
+ "@radix-ui/react-slot": "1.1.2",
"@radix-ui/react-use-callback-ref": "1.1.0",
"@radix-ui/react-use-controllable-state": "1.1.0",
"@radix-ui/react-use-layout-effect": "1.1.0",
"@radix-ui/react-use-previous": "1.1.0",
- "@radix-ui/react-visually-hidden": "1.1.0",
- "aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.6.0"
+ "@radix-ui/react-visually-hidden": "1.1.2",
+ "aria-hidden": "^1.2.4",
+ "react-remove-scroll": "^2.6.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz",
+ "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-arrow": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz",
+ "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.2"
},
"peerDependencies": {
"@types/react": "*",
@@ -3241,6 +3373,47 @@
}
}
},
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-collection": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz",
+ "integrity": "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==",
+ "license": "MIT",
+ "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"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
+ "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz",
@@ -3256,13 +3429,14 @@
}
},
"node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-dismissable-layer": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz",
- "integrity": "sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz",
+ "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.2",
"@radix-ui/react-use-callback-ref": "1.1.0",
"@radix-ui/react-use-escape-keydown": "1.1.0"
},
@@ -3295,12 +3469,70 @@
}
}
},
- "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-portal": {
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-focus-scope": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.2.tgz",
- "integrity": "sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz",
+ "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.2",
+ "@radix-ui/react-use-callback-ref": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-popper": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz",
+ "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/react-dom": "^2.0.0",
+ "@radix-ui/react-arrow": "1.1.2",
+ "@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-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0",
+ "@radix-ui/react-use-rect": "1.1.0",
+ "@radix-ui/react-use-size": "1.1.0",
+ "@radix-ui/rect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-portal": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz",
+ "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.2",
"@radix-ui/react-use-layout-effect": "1.1.0"
},
"peerDependencies": {
@@ -3318,23 +3550,65 @@
}
}
},
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz",
+ "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
+ "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@radix-ui/react-select/node_modules/react-remove-scroll": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz",
- "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz",
+ "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==",
+ "license": "MIT",
"dependencies": {
- "react-remove-scroll-bar": "^2.3.6",
- "react-style-singleton": "^2.2.1",
+ "react-remove-scroll-bar": "^2.3.7",
+ "react-style-singleton": "^2.2.3",
"tslib": "^2.1.0",
- "use-callback-ref": "^1.3.0",
- "use-sidecar": "^1.1.2"
+ "use-callback-ref": "^1.3.3",
+ "use-sidecar": "^1.1.3"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -3534,11 +3808,50 @@
}
},
"node_modules/@radix-ui/react-visually-hidden": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz",
- "integrity": "sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz",
+ "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0"
+ "@radix-ui/react-primitive": "2.0.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
+ "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz",
+ "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.1.2"
},
"peerDependencies": {
"@types/react": "*",
@@ -3555,6 +3868,24 @@
}
}
},
+ "node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-slot": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz",
+ "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@radix-ui/rect": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz",
@@ -7445,14 +7776,6 @@
"node": ">= 0.4"
}
},
- "node_modules/invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
"node_modules/is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -9687,19 +10010,20 @@
}
},
"node_modules/react-remove-scroll-bar": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz",
- "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz",
+ "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
+ "license": "MIT",
"dependencies": {
- "react-style-singleton": "^2.2.1",
+ "react-style-singleton": "^2.2.2",
"tslib": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -9717,20 +10041,20 @@
}
},
"node_modules/react-style-singleton": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
- "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
+ "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
+ "license": "MIT",
"dependencies": {
"get-nonce": "^1.0.0",
- "invariant": "^2.2.4",
"tslib": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -11196,9 +11520,10 @@
}
},
"node_modules/use-callback-ref": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz",
- "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz",
+ "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.0"
},
@@ -11206,8 +11531,8 @@
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -11216,9 +11541,10 @@
}
},
"node_modules/use-sidecar": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
- "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz",
+ "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
+ "license": "MIT",
"dependencies": {
"detect-node-es": "^1.1.0",
"tslib": "^2.0.0"
@@ -11227,8 +11553,8 @@
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
diff --git a/package.json b/package.json
index 2eb33d6..8e0ff25 100755
--- a/package.json
+++ b/package.json
@@ -24,12 +24,12 @@
"@radix-ui/react-accordion": "^1.2.1",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0",
- "@radix-ui/react-checkbox": "^1.1.1",
+ "@radix-ui/react-checkbox": "^1.1.4",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-hover-card": "^1.1.1",
"@radix-ui/react-popover": "^1.1.1",
- "@radix-ui/react-select": "^2.1.2",
+ "@radix-ui/react-select": "^2.1.6",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.1",
diff --git a/store/store.ts b/store/store.ts
index b48d72d..e663d10 100755
--- a/store/store.ts
+++ b/store/store.ts
@@ -18,6 +18,11 @@ export const universalError = atom({
},
});
+export const universalActivePostModal = atom({
+ key: "universalActiveModal",
+ default: "123",
+});
+
//Joblisting atoms
export const allJobListings = atom({