diff --git a/package.json b/package.json index 9f5ece1e..74efb246 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "@mui/icons-material": "^6.0.0", "@mui/material": "^6.4.4", "@next/third-parties": "^16.0.0", - "@posthog/nextjs-config": "^1.0.2", + "@posthog/nextjs-config": "1.8.18", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-dialog": "^1.1.14", @@ -37,7 +37,7 @@ "@tanstack/react-query": "^5.66.0", "@types/luxon": "^3.3.2", "@types/node": "^24.1.0", - "@types/react": "19.2.13", + "@types/react": "19.2.14", "@types/react-dom": "19.2.3", "@vercel/analytics": "^1.5.0", "@vercel/speed-insights": "^1.2.0", @@ -45,7 +45,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", - "eslint": "9.39.2", + "eslint": "9.39.3", "eslint-config-next": "16.1.6", "firebase": "^12.0.0", "form-data": "^4.0.0", @@ -53,7 +53,7 @@ "ics": "^3.8.1", "jwt-decode": "^4.0.0", "lint-staged": "^16.0.0", - "lucide-react": "^0.563.0", + "lucide-react": "^0.575.0", "luxon": "^3.4.2", "next": "16.1.6", "posthog-js": "^1.257.0", diff --git a/src/app/(protected)/profile/page.tsx b/src/app/(protected)/profile/page.tsx index c6129586..2f2f0a74 100644 --- a/src/app/(protected)/profile/page.tsx +++ b/src/app/(protected)/profile/page.tsx @@ -13,6 +13,7 @@ import { useFlagState } from "@/lib/api/flag/hook"; import Image from "next/image"; import QRCode from "react-qr-code"; import { Button } from "@/components/ui/button"; +import { Check, X } from "lucide-react"; import { Card, CardContent, @@ -49,9 +50,12 @@ import { Dialog, DialogContent, DialogDescription, + DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; +import { usePatchApplicationStatus } from "@/lib/api/registration/hook"; +import type { RegistrationEntity } from "@/lib/api/registration/entity"; // Role definitions matching AuthGuard enum Role { @@ -65,12 +69,12 @@ enum Role { // Mapping from application status to its respective color const applicationStatusColorMap = new Map([ - ['pending', 'text-purple-400'], - ['accepted', 'text-blue-400'], - ['rejected', 'text-red-600'], - ['waitlisted', 'text-orange-300'], - ['confirmed', 'text-green-600'], - ['declined', 'text-stone-500'] + ["pending", "text-purple-400"], + ["accepted", "text-blue-400"], + ["rejected", "text-red-600"], + ["waitlisted", "text-orange-300"], + ["confirmed", "text-green-600"], + ["declined", "text-stone-500"], ]); // Utility to get user role from token @@ -106,6 +110,7 @@ export default function Profile() { const router = useRouter(); const { isLoading: isUserLoading, data: userData } = useUserInfoMe(); const { data: teams } = useAllTeams(); + const [now, setNow] = useState(() => Date.now()); // Mutations for wallet integration const { mutateAsync: createWalletPass, isPending: isCreatingGoogleWallet } = @@ -119,9 +124,18 @@ export default function Profile() { const { mutateAsync: uploadResume, isPending: isUploadingResume } = useUpdateUser(); + const { + mutateAsync: patchApplicationStatus, + isPending: isPatchingApplicationStatus, + } = usePatchApplicationStatus(); + const [showQRCode, setShowQRCode] = useState(false); const [showResumeModal, setShowResumeModal] = useState(false); const [resumeFile, setResumeFile] = useState(null); + const [rsvpConfirmOpen, setRsvpConfirmOpen] = useState(false); + const [rsvpPendingStatus, setRsvpPendingStatus] = useState< + "confirmed" | "declined" | null + >(null); // Feature flag checks const { data: helpDeskFlag } = useFlagState("HelpDesk"); @@ -132,11 +146,12 @@ export default function Profile() { const isOrganizer = userRole > Role.NONE; // Check if user has a confirmed application - const applicationStatus = - (userData?.registration as any)?.applicationStatus; + const applicationStatus = (userData?.registration as any)?.applicationStatus; const isConfirmed = applicationStatus === "confirmed"; console.log("User Data: " + JSON.stringify(userData)); - console.log("Registration: " + JSON.stringify(userData?.registration?.applicationStatus)); + console.log( + "Registration: " + JSON.stringify(userData?.registration?.applicationStatus) + ); const toggleQRCode = () => setShowQRCode((prev) => !prev); useEffect(() => { @@ -149,6 +164,13 @@ export default function Profile() { } }, [userData, router, isUserLoading, isOrganizer]); + useEffect(() => { + const timer = window.setInterval(() => { + setNow(Date.now()); + }, 60_000); + return () => window.clearInterval(timer); + }, []); + // Handle add-to-Google Wallet click const handleAddToGoogleWallet = async () => { try { @@ -312,6 +334,57 @@ export default function Profile() { } }; + const registration = userData?.registration as RegistrationEntity | undefined; + const rsvpDeadline = registration?.rsvpDeadline; + const isOnTime = typeof rsvpDeadline === "number" && rsvpDeadline >= now; + const showRsvp = registration?.applicationStatus === "accepted" && isOnTime; + const formattedRsvpDeadline = + typeof rsvpDeadline === "number" + ? new Date(rsvpDeadline).toLocaleString(undefined, { + year: "numeric", + month: "long", + day: "numeric", + hour: "2-digit", + minute: "2-digit", + timeZoneName: "short", + }) + : null; + + const openRsvpConfirm = (status: "confirmed" | "declined") => { + setRsvpPendingStatus(status); + setRsvpConfirmOpen(true); + }; + + const handleRsvpConfirm = async () => { + if (!userData?.id || !rsvpPendingStatus) return; + try { + await patchApplicationStatus({ + userId: userData.id, + status: rsvpPendingStatus, + }); + toast.success( + rsvpPendingStatus === "confirmed" + ? "You're attending HackPSU! We can't wait to see you." + : "Your response has been recorded." + ); + setRsvpConfirmOpen(false); + setRsvpPendingStatus(null); + } catch (error) { + console.error("RSVP error:", error); + const message = + error instanceof Error ? error.message : "Something went wrong."; + toast.error( + message.includes("400") + ? "Invalid request. Please try again." + : message.includes("404") + ? "Registration not found." + : "Failed to submit RSVP. Please try again." + ); + setRsvpConfirmOpen(false); + setRsvpPendingStatus(null); + } + }; + if (isLoading) { return (
@@ -360,7 +433,9 @@ export default function Profile() { {isOrganizer && } {isOrganizer ? `HackPSU ${getRoleName(userRole)}` - : "HackPSU Participant"} + : isConfirmed + ? "HackPSU Participant" + : "HackPSU Applicant"} @@ -376,16 +451,66 @@ export default function Profile() {

)} - {(!isOrganizer && userData?.registration) && ( + {!isOrganizer && userData?.registration && (

- Application Status: {userData.registration.applicationStatus.toUpperCase()} + Application Status:{" "} + + {userData.registration.applicationStatus.toUpperCase()} +

)} + {/* RSVP Section - only when accepted and not organizer */} + {showRsvp && !isOrganizer && ( + + + Will you be attending HackPSU? + + Please confirm your attendance so we can plan accordingly. + + + + {formattedRsvpDeadline !== null && ( +
+

+ You must RSVP by - {formattedRsvpDeadline} +

+
+ )} +
+ + +
+
+
+ )} + {/* QR Code Section */} {isOrganizer || isConfirmed ? ( <> @@ -464,7 +589,9 @@ export default function Profile() { ? "opacity-30 cursor-not-allowed" : "cursor-pointer hover:opacity-80" }`} - onClick={isOrganizer ? undefined : handleAddToGoogleWallet} + onClick={ + isOrganizer ? undefined : handleAddToGoogleWallet + } priority /> )} @@ -486,7 +613,9 @@ export default function Profile() { ? "opacity-30 cursor-not-allowed" : "cursor-pointer hover:opacity-80" }`} - onClick={isOrganizer ? undefined : handleAddToAppleWallet} + onClick={ + isOrganizer ? undefined : handleAddToAppleWallet + } priority /> )} @@ -513,7 +642,9 @@ export default function Profile() { <>
-

{userTeam.name}

+

+ {userTeam.name} +

{!userTeam.isActive && (
@@ -528,7 +659,10 @@ export default function Profile() {

{getTeamMembers().map((memberId) => ( - + ))}
@@ -675,9 +809,9 @@ export default function Profile() { Actions Unavailable - Access to our features is currently unavailable. Once confirmed, you’ll - gain full access to QR check-in, wallet passes, team features, and - project tools. + Access to our features is currently unavailable. Once confirmed, + you’ll gain full access to QR check-in, wallet passes, team + features, and project tools. @@ -766,6 +900,62 @@ export default function Profile() {
+ + {/* RSVP confirmation modal */} + { + setRsvpConfirmOpen(open); + if (!open) setRsvpPendingStatus(null); + }} + > + + + Are you sure? + + {rsvpPendingStatus === "confirmed" ? ( + <> +
+ You are confirming that you will attend HackPSU. This + cannot be undone. +
+
+ IMPORTANT: If you confirm and do not + attend, you may be banned from the next hackathon. +
+ + ) : ( + "You are declining your spot. This cannot be undone." + )} +
+
+ + + + +
+
); diff --git a/src/app/(protected)/register/page.tsx b/src/app/(protected)/register/page.tsx index 0c9b016b..a32fe88f 100644 --- a/src/app/(protected)/register/page.tsx +++ b/src/app/(protected)/register/page.tsx @@ -80,11 +80,14 @@ export default function RegistrationPage() { const replaceUserMutation = useReplaceUser(); const createRegistrationMutation = useCreateRegistration(); const { data: hackathon } = useActiveHackathonForStatic(); + const { data: registrationsFlagData, isLoading: isLoadingRegistrationsFlag } = useFlagState("Registrations"); useEffect(() => { // if user data is still loading, do not redirect if (isUserInfoLoading) return; - + if (!registrationsFlagData?.isEnabled) { + router.push("/"); + } if (userInfo && userInfo.registration) router.push("/profile"); }, [userInfo, router]); diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx index 4a985f58..38099201 100644 --- a/src/components/Footer/index.tsx +++ b/src/components/Footer/index.tsx @@ -5,6 +5,7 @@ import EmailIcon from "@mui/icons-material/Email"; import InstagramIcon from "@mui/icons-material/Instagram"; import LinkedInIcon from "@mui/icons-material/LinkedIn"; import GitHubIcon from "@mui/icons-material/GitHub"; +import FavoriteBorderIcon from "@mui/icons-material/FavoriteBorder"; import Image from "next/image"; import { useState, useEffect } from "react"; @@ -14,6 +15,11 @@ const Footer = () => { const [fishPosition, setFishPosition] = useState({ x: 0, y: 0 }); const [fishRotation, setFishRotation] = useState(0); + const [hoverInstagram, setHoverInstagram] = useState(false); + const [hoverLinkedIn, setHoverLinkedIn] = useState(false); + const [hoverGitHub, setHoverGitHub] = useState(false); + const [hoverEmail, setHoverEmail] = useState(false); + useEffect(() => { const handleMouseMove = (e: MouseEvent) => { setMousePosition({ x: e.clientX, y: e.clientY }); @@ -122,11 +128,17 @@ const Footer = () => { target="_blank" rel="noopener noreferrer" className="hover:scale-110 transition-transform duration-300" + style={{ transition: "transform 0.3s, filter 0.3s" }} + onMouseEnter={() => setHoverInstagram(true)} + onMouseLeave={() => setHoverInstagram(false)} > @@ -135,11 +147,17 @@ const Footer = () => { target="_blank" rel="noopener noreferrer" className="hover:scale-110 transition-transform duration-300" + style={{ transition: "transform 0.3s, filter 0.3s" }} + onMouseEnter={() => setHoverLinkedIn(true)} + onMouseLeave={() => setHoverLinkedIn(false)} > @@ -148,24 +166,37 @@ const Footer = () => { target="_blank" rel="noopener noreferrer" className="hover:scale-110 transition-transform duration-300" + style={{ transition: "transform 0.3s, filter 0.3s" }} + onMouseEnter={() => setHoverGitHub(true)} + onMouseLeave={() => setHoverGitHub(false)} > setHoverEmail(true)} + onMouseLeave={() => setHoverEmail(false)} > @@ -175,18 +206,42 @@ const Footer = () => { {/* Privacy Policy */} - Privacy Policy + {'>'} privacy_policy {/* Made with love text */}

- Made with ❤️ in Happy Valley. + <> + Made with{" "} + {" "}in Happy Valley. +

diff --git a/src/components/Hero/index.tsx b/src/components/Hero/index.tsx index aff3bcc6..d83a269a 100644 --- a/src/components/Hero/index.tsx +++ b/src/components/Hero/index.tsx @@ -2,16 +2,19 @@ import React, { useCallback, useEffect, useMemo, useState } from "react"; import Image from "next/image"; -import { motion, useAnimation } from "framer-motion"; +import { AnimatePresence, motion, useAnimation } from "framer-motion"; import { useRouter } from "next/navigation"; import { useActiveHackathonForStatic } from "@/lib/api/hackathon/hook"; import { useFirebase } from "@/lib/providers/FirebaseProvider"; import settings from "@/lib/config/settings.json"; import MemoryGame from "@/components/MemoryGame"; +import { useFlagState } from "@/lib/api/flag/hook"; const Hero = () => { const { isAuthenticated, isLoading } = useFirebase(); const router = useRouter(); + const { data: registrationsFlagData, isLoading: isLoadingRegistrationsFlag } = + useFlagState("Registrations"); // Use React Query to fetch the active hackathon data. const { @@ -29,6 +32,35 @@ const Hero = () => { const [targetDate, setTargetDate] = useState(new Date()); const [state, setState] = useState(-1); // -1 = uninitialized, 0 = before hackathon, 1 = during hackathon, 2 = after hackathon const [showMemoryGame, setShowMemoryGame] = useState(false); + const [glitchActive, setGlitchActive] = useState(false); + const [flyKey, setFlyKey] = useState(0); + const [isDroneFlying, setIsDroneFlying] = useState(false); + const glitchTimeoutRef = React.useRef | null>( + null + ); + + const handleTitleClick = useCallback(() => { + // Trigger drone fly across screen (one at a time) + if (!isDroneFlying) { + setFlyKey((k) => k + 1); + setIsDroneFlying(true); + } + setGlitchActive((prev) => { + if (prev) { + if (glitchTimeoutRef.current) clearTimeout(glitchTimeoutRef.current); + return false; + } + glitchTimeoutRef.current = setTimeout(() => setGlitchActive(false), 500); + return true; + }); + }, [isDroneFlying]); + + React.useEffect( + () => () => { + if (glitchTimeoutRef.current) clearTimeout(glitchTimeoutRef.current); + }, + [] + ); const secondsControls = useAnimation(); @@ -243,10 +275,43 @@ Happy hacking! "0 -6px 10px #ff88e9cc, 0 6px 10px #ff88e9cc, inset 0 -6px 6px rgba(255, 136, 233, 0.05), inset 0 6px 6px rgba(255, 136, 233, 0.05)", }} > - - - - + {/* Flying drone across screen when hero title is clicked */} + + {flyKey > 0 && ( + + setIsDroneFlying(false)} + > + + + + )} + {/* Container for scaled content (title and countdown only) */}
- {/* Title */} - {` + @keyframes hero-glitch { + 0%, 100% { + text-shadow: none; + opacity: 1; + filter: none; + transform: scale(1) skewX(0deg); + } + 12% { + text-shadow: -10px 0 rgba(0, 255, 255, 0.9), 10px 0 rgba(255, 0, 128, 0.9), -5px 0 rgba(0, 255, 255, 0.5); + opacity: 0.95; + filter: contrast(1.3); + transform: scale(1) skewX(0deg); + } + 25% { + text-shadow: none; + opacity: 1; + filter: none; + transform: scale(1) skewX(0deg); + } + 37% { + text-shadow: 12px 0 rgba(255, 0, 128, 0.95), -12px 0 rgba(0, 255, 255, 0.95), 6px 0 rgba(255, 0, 128, 0.6); + opacity: 0.9; + filter: contrast(1.4) brightness(1.1); + transform: scale(1.02) skewX(-1.5deg); + } + 50% { + text-shadow: none; + opacity: 0.7; + filter: hue-rotate(90deg) contrast(1.2); + transform: scale(1) skewX(0deg); + } + 62% { + text-shadow: -8px 0 #00ffff, 8px 0 #ff0080, -4px 0 rgba(0, 255, 255, 0.7); + opacity: 1; + filter: none; + transform: scale(1) skewX(0deg); + } + 75% { + text-shadow: 14px 0 #ff0080, -14px 0 #00ffff; + opacity: 0.95; + filter: contrast(1.35); + transform: scale(1.01) skewX(1deg); + } + 87% { + text-shadow: none; + opacity: 1; + filter: none; + transform: scale(1) skewX(0deg); + } + } + .hero-title-glitch { + animation: hero-glitch 0.35s steps(1) infinite; + } + `} +
- HackPSU Spring 2026 - + + HackPSU Spring 2026 + +
{/* Countdown Timer */} {state !== 2 ? ( @@ -482,35 +610,36 @@ Happy hacking! transition={{ duration: 1, delay: 0.6 }} > {/* Register Button */} - router.push("/profile")} - className="relative overflow-hidden rounded-full hover:scale-105 transition-transform duration-300 flex items-center justify-center" - style={{ - width: "clamp(400px, 50vw, 700px)", - height: "clamp(80px, 20vw, 280px)", - }} - whileHover={{ scale: 1.05 }} - whileTap={{ scale: 0.95 }} - > - Register Now -
router.push("/profile")} + className="relative overflow-hidden rounded-full hover:scale-105 transition-transform duration-300 flex items-center justify-center" style={{ - fontSize: "clamp(14px, 3.75vw, 42px)", - color: "#FFFFFF", - fontFamily: "Orbitron, monospace", + width: "clamp(400px, 50vw, 700px)", + height: "clamp(80px, 20vw, 280px)", }} + whileHover={{ scale: 1.05 }} + whileTap={{ scale: 0.95 }} > - Register now -
-
- + Register Now +
+ Register now +
+ + )} {/* Discord Button */} window.open("http://discord.hackpsu.org", "_blank")} diff --git a/src/components/Navbar/index.tsx b/src/components/Navbar/index.tsx index 1559f9bc..d3a062c1 100644 --- a/src/components/Navbar/index.tsx +++ b/src/components/Navbar/index.tsx @@ -7,6 +7,7 @@ import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { useFirebase } from "@/lib/providers/FirebaseProvider"; import { Menu, X } from "lucide-react"; +import { useFlagState } from "@/lib/api/flag/hook"; interface NavItemProps { href: string; @@ -136,6 +137,8 @@ const MLHBanner: React.FC = () => ( const Navbar: React.FC = () => { const [isMenuOpen, setIsMenuOpen] = useState(false); const { isAuthenticated, isLoading } = useFirebase(); + const { data: registrationsFlagData, isLoading: isLoadingRegistrationsFlag } = + useFlagState("Registrations"); const pathname = usePathname(); const router = useRouter(); const isHome = pathname === "/"; @@ -178,10 +181,14 @@ const Navbar: React.FC = () => { { href: isHome ? "#faq" : "/#faq", text: "FAQ" }, ]; - const authItem: NavItemProps = + const authItem: NavItemProps | null = !isLoading && isAuthenticated ? { href: "/profile", text: "Profile" } - : { href: "/profile", text: "Register" }; + : !isLoading && + isLoadingRegistrationsFlag === false && + registrationsFlagData?.isEnabled + ? { href: "/profile", text: "Register" } + : null; // Only show photos link for authenticated users (keeps homepage clean for guests) const photosItem = @@ -193,9 +200,11 @@ const Navbar: React.FC = () => { } : null; - return photosItem - ? [...baseItems, photosItem, authItem] - : [...baseItems, authItem]; + return [ + ...baseItems, + ...(photosItem ? [photosItem] : []), + ...(authItem ? [authItem] : []), + ]; }; const navItems = getNavItems(); diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx index ab8b0d8b..54083eaf 100644 --- a/src/components/ui/button.tsx +++ b/src/components/ui/button.tsx @@ -13,6 +13,8 @@ const buttonVariants = cva( "bg-primary text-primary-foreground shadow hover:bg-primary/90", destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", + success: + "bg-success text-success-foreground shadow-sm hover:bg-success/90", outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", secondary: diff --git a/src/lib/api/registration/entity.ts b/src/lib/api/registration/entity.ts index 505c2abe..2b704c57 100644 --- a/src/lib/api/registration/entity.ts +++ b/src/lib/api/registration/entity.ts @@ -51,3 +51,5 @@ export interface RegistrationCreateEntity extends Omit< > {} export interface RegistrationUpdateEntity extends Partial {} + +export type ApplicationStatusRsvp = "confirmed" | "declined"; diff --git a/src/lib/api/registration/hook.ts b/src/lib/api/registration/hook.ts index bc87b7c7..cbff709d 100644 --- a/src/lib/api/registration/hook.ts +++ b/src/lib/api/registration/hook.ts @@ -7,12 +7,15 @@ import { updateRegistration, replaceRegistration, deleteRegistration, + patchApplicationStatus, } from "./provider"; import { RegistrationEntity, RegistrationCreateEntity, RegistrationUpdateEntity, + ApplicationStatusRsvp, } from "./entity"; +import { userQueryKeys } from "@/lib/api/user/hook"; export const registrationQueryKeys = { all: ["registrations"] as const, @@ -82,3 +85,20 @@ export function useDeleteRegistration() { }, }); } + +export function usePatchApplicationStatus() { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: (opts: { + userId: string; + status: ApplicationStatusRsvp; + }) => patchApplicationStatus(opts.userId, opts.status), + onSuccess: (updated) => { + queryClient.invalidateQueries({ queryKey: registrationQueryKeys.all }); + queryClient.invalidateQueries({ + queryKey: registrationQueryKeys.detail(updated.id.toString()), + }); + queryClient.invalidateQueries({ queryKey: userQueryKeys.me }); + }, + }); +} diff --git a/src/lib/api/registration/provider.ts b/src/lib/api/registration/provider.ts index 5ec0e781..43e6b9b2 100644 --- a/src/lib/api/registration/provider.ts +++ b/src/lib/api/registration/provider.ts @@ -4,6 +4,7 @@ import { RegistrationEntity, RegistrationCreateEntity, RegistrationUpdateEntity, + ApplicationStatusRsvp, } from "./entity"; /** @@ -65,3 +66,17 @@ export async function deleteRegistration(id: string): Promise { method: "DELETE", }); } + +export async function patchApplicationStatus( + userId: string, + status: ApplicationStatusRsvp +): Promise { + return apiFetch( + `/registrations/${userId}/application-status`, + { + method: "PATCH", + body: JSON.stringify({ status }), + headers: { "Content-Type": "application/json" }, + } + ); +} diff --git a/src/styles/globals.css b/src/styles/globals.css index 6a633dc5..afa3de79 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -54,6 +54,8 @@ --accent-foreground: 0 0% 9%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; + --success: 142 71% 45%; + --success-foreground: 0 0% 98%; --border: 0 0% 89.8%; --ring: 0 0% 3.9%; --input: 0 0% 89.8%; @@ -198,6 +200,8 @@ --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; + --success: 142 71% 40%; + --success-foreground: 0 0% 98%; --border: 0 0% 14.9%; --input: 0 0% 14.9%; --ring: 0 0% 83.1%; diff --git a/tailwind.config.js b/tailwind.config.js index 8ed5fc8d..99dd8e38 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -27,6 +27,10 @@ module.exports = { DEFAULT: "hsl(var(--destructive))", foreground: "hsl(var(--destructive-foreground))", }, + success: { + DEFAULT: "hsl(var(--success))", + foreground: "hsl(var(--success-foreground))", + }, muted: { DEFAULT: "hsl(var(--muted))", foreground: "hsl(var(--muted-foreground))", diff --git a/yarn.lock b/yarn.lock index c9e6fef2..3858ed5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1231,10 +1231,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.39.2": - version "9.39.2" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.2.tgz#2d4b8ec4c3ea13c1b3748e0c97ecd766bdd80599" - integrity sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA== +"@eslint/js@9.39.3": + version "9.39.3" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.3.tgz#c6168736c7e0c43ead49654ed06a4bcb3833363d" + integrity sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw== "@eslint/object-schema@^2.1.7": version "2.1.7" @@ -1907,18 +1907,6 @@ resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz#a81ffb00e69267cd0a1d626eaedb8a8430b2b2f8" integrity sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw== -"@isaacs/balanced-match@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29" - integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ== - -"@isaacs/brace-expansion@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz#0ef5a92d91f2fff2a37646ce54da9e5f599f6eff" - integrity sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ== - dependencies: - "@isaacs/balanced-match" "^4.0.1" - "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -2183,10 +2171,10 @@ dependencies: "@opentelemetry/semantic-conventions" "^1.29.0" -"@opentelemetry/core@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-2.5.0.tgz#3b2ac6cf471ed9a85eea836048a4de77a2e549d3" - integrity sha512-ka4H8OM6+DlUhSAZpONu0cPBtPPTQKxbxVzC4CzVx5+K4JnroJVBtDzLAMx4/3CDTJXRvVFhpFjtl4SaiTNoyQ== +"@opentelemetry/core@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-2.5.1.tgz#b5d830ab499bc13e29f6efa88a165630f25d2ad2" + integrity sha512-Dwlc+3HAZqpgTYq0MUyZABjFkcrKTePwuiFVLjahGD8cx3enqihmpAmdgNFO1R4m/sIe5afjJrA25Prqy4NXlA== dependencies: "@opentelemetry/semantic-conventions" "^1.29.0" @@ -2231,11 +2219,11 @@ "@opentelemetry/semantic-conventions" "^1.29.0" "@opentelemetry/resources@^2.2.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-2.5.0.tgz#e7a575b2c534961a9db5153f9498931c786a607a" - integrity sha512-F8W52ApePshpoSrfsSk1H2yJn9aKjCrbpQF1M9Qii0GHzbfVeFUB+rc3X4aggyZD8x9Gu3Slua+s6krmq6Dt8g== + version "2.5.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-2.5.1.tgz#90ccc27cea02b543f20a7db9834852ec11784c1a" + integrity sha512-BViBCdE/GuXRlp9k7nS1w6wJvY5fnFX5XvuEtWsTAOQFIO89Eru7lGW3WbfbxtCuZ/GbrJfAziXG0w0dpxL7eQ== dependencies: - "@opentelemetry/core" "2.5.0" + "@opentelemetry/core" "2.5.1" "@opentelemetry/semantic-conventions" "^1.29.0" "@opentelemetry/sdk-logs@0.208.0", "@opentelemetry/sdk-logs@^0.208.0": @@ -2269,107 +2257,107 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.39.0.tgz#f653b2752171411feb40310b8a8953d7e5c543b7" integrity sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg== -"@oxc-resolver/binding-android-arm-eabi@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.17.0.tgz#96f402e84dd6f26d823c2e1019b962a48b9b2493" - integrity sha512-kVnY21v0GyZ/+LG6EIO48wK3mE79BUuakHUYLIqobO/Qqq4mJsjuYXMSn3JtLcKZpN1HDVit4UHpGJHef1lrlw== - -"@oxc-resolver/binding-android-arm64@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.17.0.tgz#02b3fe441559e06aedc13a88c56865e780841a56" - integrity sha512-Pf8e3XcsK9a8RHInoAtEcrwf2vp7V9bSturyUUYxw9syW6E7cGi7z9+6ADXxm+8KAevVfLA7pfBg8NXTvz/HOw== - -"@oxc-resolver/binding-darwin-arm64@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.17.0.tgz#717fb61b701ac74523d0b6806dcc9123e8d3b859" - integrity sha512-lVSgKt3biecofXVr8e1hnfX0IYMd4A6VCxmvOmHsFt5Zbmt0lkO4S2ap2bvQwYDYh5ghUNamC7M2L8K6vishhQ== - -"@oxc-resolver/binding-darwin-x64@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.17.0.tgz#ab5b8e0ce9e039e8c48b82f4103cead174b7657a" - integrity sha512-+/raxVJE1bo7R4fA9Yp0wm3slaCOofTEeUzM01YqEGcRDLHB92WRGjRhagMG2wGlvqFuSiTp81DwSbBVo/g6AQ== - -"@oxc-resolver/binding-freebsd-x64@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.17.0.tgz#b6004cda71ef7e7bd75eebd1d7ccdef6c901ca69" - integrity sha512-x9Ks56n+n8h0TLhzA6sJXa2tGh3uvMGpBppg6PWf8oF0s5S/3p/J6k1vJJ9lIUtTmenfCQEGKnFokpRP4fLTLg== - -"@oxc-resolver/binding-linux-arm-gnueabihf@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.17.0.tgz#71184c55517d1c228ae4776ff1ed60ea36a26b25" - integrity sha512-Wf3w07Ow9kXVJrS0zmsaFHKOGhXKXE8j1tNyy+qIYDsQWQ4UQZVx5SjlDTcqBnFerlp3Z3Is0RjmVzgoLG3qkA== - -"@oxc-resolver/binding-linux-arm-musleabihf@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.17.0.tgz#8cc590c7f7626d99b75c8a809583bc8d3e95c052" - integrity sha512-N0OKA1al1gQ5Gm7Fui1RWlXaHRNZlwMoBLn3TVtSXX+WbnlZoVyDqqOqFL8+pVEHhhxEA2LR8kmM0JO6FAk6dg== - -"@oxc-resolver/binding-linux-arm64-gnu@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.17.0.tgz#68f67c9331577aad792ec0301773fcf33d53dce6" - integrity sha512-wdcQ7Niad9JpjZIGEeqKJnTvczVunqlZ/C06QzR5zOQNeLVRScQ9S5IesKWUAPsJQDizV+teQX53nTK+Z5Iy+g== - -"@oxc-resolver/binding-linux-arm64-musl@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.17.0.tgz#81dc05b9c6a89dd4fa1b992140595a775ed543a0" - integrity sha512-65B2/t39HQN5AEhkLsC+9yBD1iRUkKOIhfmJEJ7g6wQ9kylra7JRmNmALFjbsj0VJsoSQkpM8K07kUZuNJ9Kxw== - -"@oxc-resolver/binding-linux-ppc64-gnu@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.17.0.tgz#20816e969649bb519a6911e5c4890d546be75d45" - integrity sha512-kExgm3TLK21dNMmcH+xiYGbc6BUWvT03PUZ2aYn8mUzGPeeORklBhg3iYcaBI3ZQHB25412X1Z6LLYNjt4aIaA== - -"@oxc-resolver/binding-linux-riscv64-gnu@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.17.0.tgz#b5876153a2fa6123789223e6a65e49a05388272a" - integrity sha512-1utUJC714/ydykZQE8c7QhpEyM4SaslMfRXxN9G61KYazr6ndt85LaubK3EZCSD50vVEfF4PVwFysCSO7LN9uA== - -"@oxc-resolver/binding-linux-riscv64-musl@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.17.0.tgz#73520d72e070d0b47975d106bd5ca9bc477b5ac5" - integrity sha512-mayiYOl3LMmtO2CLn4I5lhanfxEo0LAqlT/EQyFbu1ZN3RS+Xa7Q3JEM0wBpVIyfO/pqFrjvC5LXw/mHNDEL7A== - -"@oxc-resolver/binding-linux-s390x-gnu@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.17.0.tgz#efa1a121c1ca3301b7754dba4d27a1e8fb9b8cbe" - integrity sha512-Ow/yI+CrUHxIIhn/Y1sP/xoRKbCC3x9O1giKr3G/pjMe+TCJ5ZmfqVWU61JWwh1naC8X5Xa7uyLnbzyYqPsHfg== - -"@oxc-resolver/binding-linux-x64-gnu@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.17.0.tgz#27317829bd7cca72736171589799688da8286eda" - integrity sha512-Z4J7XlPMQOLPANyu6y3B3V417Md4LKH5bV6bhqgaG99qLHmU5LV2k9ErV14fSqoRc/GU/qOpqMdotxiJqN/YWg== - -"@oxc-resolver/binding-linux-x64-musl@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.17.0.tgz#f2a156ce9d241bacfd4584ff9bd46d1066d333df" - integrity sha512-0effK+8lhzXsgsh0Ny2ngdnTPF30v6QQzVFApJ1Ctk315YgpGkghkelvrLYYgtgeFJFrzwmOJ2nDvCrUFKsS2Q== - -"@oxc-resolver/binding-openharmony-arm64@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.17.0.tgz#ffe2471848b9a89f1f47cb55849a80fbb9d0264b" - integrity sha512-kFB48dRUW6RovAICZaxHKdtZe+e94fSTNA2OedXokzMctoU54NPZcv0vUX5PMqyikLIKJBIlW7laQidnAzNrDA== - -"@oxc-resolver/binding-wasm32-wasi@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.17.0.tgz#7a378c4789339767d1f5031ea527e19ebfe77819" - integrity sha512-a3elKSBLPT0OoRPxTkCIIc+4xnOELolEBkPyvdj01a6PSdSmyJ1NExWjWLaXnT6wBMblvKde5RmSwEi3j+jZpg== +"@oxc-resolver/binding-android-arm-eabi@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.18.0.tgz#045ad2a706f3792a54c8c47bc0565312319b7f82" + integrity sha512-EhwJNzbfLwQQIeyak3n08EB3UHknMnjy1dFyL98r3xlorje2uzHOT2vkB5nB1zqtTtzT31uSot3oGZFfODbGUg== + +"@oxc-resolver/binding-android-arm64@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.18.0.tgz#6e80056b668eb0066f1481ac183fee8d52498616" + integrity sha512-esOPsT9S9B6vEMMp1qR9Yz5UepQXljoWRJYoyp7GV/4SYQOSTpN0+V2fTruxbMmzqLK+fjCEU2x3SVhc96LQLQ== + +"@oxc-resolver/binding-darwin-arm64@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.18.0.tgz#309e9a73782a0b5328e86ff2ba17f4c10a7f110e" + integrity sha512-iJknScn8fRLRhGR6VHG31bzOoyLihSDmsJHRjHwRUL0yF1MkLlvzmZ+liKl9MGl+WZkZHaOFT5T1jNlLSWTowQ== + +"@oxc-resolver/binding-darwin-x64@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.18.0.tgz#54be380c05d60af5c0f35d92dae5d7d3263d8843" + integrity sha512-3rMweF2GQLzkaUoWgFKy1fRtk0dpj4JDqucoZLJN9IZG+TC+RZg7QMwG5WKMvmEjzdYmOTw1L1XqZDVXF2ksaQ== + +"@oxc-resolver/binding-freebsd-x64@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.18.0.tgz#d290c4f583e553055447ad62c51c6983b55eb264" + integrity sha512-TfXsFby4QvpGwmUP66+X+XXQsycddZe9ZUUu/vHhq2XGI1EkparCSzjpYW1Nz5fFncbI5oLymQLln/qR+qxyOw== + +"@oxc-resolver/binding-linux-arm-gnueabihf@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.18.0.tgz#61e97c181878391d86bf07958692e16291348f0b" + integrity sha512-WolOILquy9DJsHcfFMHeA5EjTCI9A7JoERFJru4UI2zKZcnfNPo5GApzYwiloscEp/s+fALPmyRntswUns0qHg== + +"@oxc-resolver/binding-linux-arm-musleabihf@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.18.0.tgz#0ebdb198d35c9ec81a9b905a3c996828a4a7c33a" + integrity sha512-r+5nHJyPdiBqOGTYAFyuq5RtuAQbm4y69GYWNG/uup9Cqr7RG9Ak0YZgGEbkQsc+XBs00ougu/D1+w3UAYIWHA== + +"@oxc-resolver/binding-linux-arm64-gnu@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.18.0.tgz#2ce131d17af2e9a7e54804c96b6f321af73539d6" + integrity sha512-bUzg6QxljqMLLwsxYajAQEHW1LYRLdKOg/aykt14PSqUUOmfnOJjPdSLTiHIZCluVzPCQxv1LjoyRcoTAXfQaQ== + +"@oxc-resolver/binding-linux-arm64-musl@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.18.0.tgz#8b5b0882de5dc229e68581a225357ad62300d856" + integrity sha512-l43GVwls5+YR8WXOIez5x7Pp/MfhdkMOZOOjFUSWC/9qMnSLX1kd95j9oxDrkWdD321JdHTyd4eau5KQPxZM9w== + +"@oxc-resolver/binding-linux-ppc64-gnu@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.18.0.tgz#44c7b0e8db7e320bf6bcb13fd70c29cd758c015e" + integrity sha512-ayj7TweYWi/azxWmRpUZGz41kKNvfkXam20UrFhaQDrSNGNqefQRODxhJn0iv6jt4qChh7TUxDIoavR6ftRsjw== + +"@oxc-resolver/binding-linux-riscv64-gnu@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.18.0.tgz#7095115c08a21b03ab4d90dfd35746e908873a1f" + integrity sha512-2Jz7jpq6BBNlBBup3usZB6sZWEZOBbjWn++/bKC2lpAT+sTEwdTonnf3rNcb+XY7+v53jYB9pM8LEKVXZfr8BA== + +"@oxc-resolver/binding-linux-riscv64-musl@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.18.0.tgz#8a323a651a15e475074cae1b1ee6348c3511417f" + integrity sha512-omw8/ISOc6ubR247iEMma4/JRfbY2I+nGJC59oKBhCIEZoyqEg/NmDSBc4ToMH+AsZDucqQUDOCku3k7pBiEag== + +"@oxc-resolver/binding-linux-s390x-gnu@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.18.0.tgz#2b1561180ab0ad284b1841d0541a60a3ae417718" + integrity sha512-uFipBXaS+honSL5r5G/rlvVrkffUjpKwD3S/aIiwp64bylK3+RztgV+mM1blk+OT5gBRG864auhH6jCfrOo3ZA== + +"@oxc-resolver/binding-linux-x64-gnu@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.18.0.tgz#f734ec8868b62c7d1730a62f73effd7196230289" + integrity sha512-bY4uMIoKRv8Ine3UiKLFPWRZ+fPCDamTHZFf5pNOjlfmTJIANtJo0mzWDUdFZLYhVgQdegrDL9etZbTMR8qieg== + +"@oxc-resolver/binding-linux-x64-musl@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.18.0.tgz#bd6109c16a701c254658d894811f353d17b13b60" + integrity sha512-40IicL/aitfNOWur06x7Do41WcqFJ9VUNAciFjZCXzF6wR2i6uVsi6N19ecqgSRoLYFCAoRYi9F50QteIxCwKQ== + +"@oxc-resolver/binding-openharmony-arm64@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.18.0.tgz#1c378d893325ba4e031f923f9789bd283c247fcd" + integrity sha512-DJIzYjUnSJtz4Trs/J9TnzivtPcUKn9AeL3YjHlM5+RvK27ZL9xISs3gg2VAo2nWU7ThuadC1jSYkWaZyONMwg== + +"@oxc-resolver/binding-wasm32-wasi@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.18.0.tgz#04a5ac66dcf5b40f89994233ec5595bf3aa8cb17" + integrity sha512-57+R8Ioqc8g9k80WovoupOoyIOfLEceHTizkUcwOXspXLhiZ67ScM7Q8OuvhDoRRSZzH6yI0qML3WZwMFR3s7g== dependencies: "@napi-rs/wasm-runtime" "^1.1.1" -"@oxc-resolver/binding-win32-arm64-msvc@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.17.0.tgz#bb408386d4250ce25cf62821b4b20a54a6ef3563" - integrity sha512-4eszUsSDb9YVx0RtYkPWkxxtSZIOgfeiX//nG5cwRRArg178w4RCqEF1kbKPud9HPrp1rXh7gE4x911OhvTnPg== +"@oxc-resolver/binding-win32-arm64-msvc@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.18.0.tgz#da5ab00d5bdbd8ed2a144bc3878edf49eb9e1ae2" + integrity sha512-t9Oa4BPptJqVlHTT1cV1frs+LY/vjsKhHI6ltj2EwoGM1TykJ0WW43UlQaU4SC8N+oTY8JRbAywVMNkfqjSu9w== -"@oxc-resolver/binding-win32-ia32-msvc@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.17.0.tgz#e45fb9096f83185cff2ead1b89ba6a18e2782589" - integrity sha512-t946xTXMmR7yGH0KAe9rB055/X4EPIu93JUvjchl2cizR5QbuwkUV7vLS2BS6x6sfvDoQb6rWYnV1HCci6tBSg== +"@oxc-resolver/binding-win32-ia32-msvc@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.18.0.tgz#a01756353f400c22512e75f64e839ffe0a6b98a6" + integrity sha512-4maf/f6ea5IEtIXqGwSw38srRtVHTre9iKShG4gjzat7c3Iq6B1OppXMj8gNmTuM4n8Xh1hQM9z2hBELccJr1g== -"@oxc-resolver/binding-win32-x64-msvc@11.17.0": - version "11.17.0" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.17.0.tgz#bffb901ace22e9ed45e546fb39fa7afd53a81d72" - integrity sha512-pX6s2kMXLQg+hlqKk5UqOW09iLLxnTkvn8ohpYp2Mhsm2yzDPCx9dyOHiB/CQixLzTkLQgWWJykN4Z3UfRKW4Q== +"@oxc-resolver/binding-win32-x64-msvc@11.18.0": + version "11.18.0" + resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.18.0.tgz#91bb54b4581d4f554532ad4f72d4654096efc2d1" + integrity sha512-EhW8Su3AEACSw5HfzKMmyCtV0oArNrVViPdeOfvVYL9TrkL+/4c8fWHFTBtxUMUyCjhSG5xYNdwty1D/TAgL0Q== "@pkgjs/parseargs@^0.11.0": version "0.11.0" @@ -2381,10 +2369,10 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== -"@posthog/cli@~0.5.26": - version "0.5.26" - resolved "https://registry.yarnpkg.com/@posthog/cli/-/cli-0.5.26.tgz#b66c9e2482fa7e61791dd88f489517cb652083be" - integrity sha512-X3k2jtSaR7CGghcBlduU2qZdqu8iSYmMx/Uy2XxJCXCsnyiD/jcuNSwUrH2y3IbNPmxb0kTWKEtcR+HCvP/zcg== +"@posthog/cli@~0.5.29": + version "0.5.30" + resolved "https://registry.yarnpkg.com/@posthog/cli/-/cli-0.5.30.tgz#d20273c8d2cc0e039f9790fca49d0888e1899367" + integrity sha512-smKwhAVWk2iHr+I0S3b6OaJsdJL/8yZSmyeMag/4L7QnFZ5FmgkmQgw0bhbuJAOEBTVAnnFCXd59MkoAhqihow== dependencies: axios "^1.13.2" axios-proxy-builder "^0.1.2" @@ -2392,42 +2380,35 @@ detect-libc "^2.1.2" rimraf "^6.1.2" -"@posthog/core@1.20.1": - version "1.20.1" - resolved "https://registry.yarnpkg.com/@posthog/core/-/core-1.20.1.tgz#bb5e291bf59aad4bdecb9ed5d1802d297d809c1d" - integrity sha512-uoTmWkYCtLYFpiK37/JCq+BuCA/OZn1qQZn5cPv1EEKt3ni3Zgg48xWCnSEyGFl5KKSXlfCruiRTwnbAtCgrBA== - dependencies: - cross-spawn "^7.0.6" - -"@posthog/core@1.21.0": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@posthog/core/-/core-1.21.0.tgz#f907aa9a6f4d0419585cb11eb5a7c4c27f039abb" - integrity sha512-0a2JUIX1vhduP2El/6/J8s5AeYAurIoufQGFgMiGnJE5ajd63o9LFocu2vFYYBnIOmy75y4ADNeW8zSl1keEQQ== +"@posthog/core@1.23.1": + version "1.23.1" + resolved "https://registry.yarnpkg.com/@posthog/core/-/core-1.23.1.tgz#37bdcf124941649590fb0b083f1dccd17e40fe5c" + integrity sha512-GViD5mOv/mcbZcyzz3z9CS0R79JzxVaqEz4sP5Dsea178M/j3ZWe6gaHDZB9yuyGfcmIMQ/8K14yv+7QrK4sQQ== dependencies: cross-spawn "^7.0.6" -"@posthog/nextjs-config@^1.0.2": - version "1.8.14" - resolved "https://registry.yarnpkg.com/@posthog/nextjs-config/-/nextjs-config-1.8.14.tgz#c34e07e64c3880e9f23bf124a67d07ffad29c8cc" - integrity sha512-RDaKLYXmJuZAFc7NLHvMowXCESe3xaV3KF0LH+9zUvfJ9I4nl9uNX2WMFnfbZf5doK8mWPYVdIRpiXLwgP6e3Q== +"@posthog/nextjs-config@1.8.18": + version "1.8.18" + resolved "https://registry.yarnpkg.com/@posthog/nextjs-config/-/nextjs-config-1.8.18.tgz#52a30b22c4b33c6c72eccc6c58430f575c244d96" + integrity sha512-pu5LWjXJHf8O2VXacMGWiuc92vrvaQoAiZ0514PiTEZvGZ/AvdIfaYVWW2mOAsMjtdnbrixaicIzkUcXaw9ijw== dependencies: - "@posthog/cli" "~0.5.26" - "@posthog/core" "1.21.0" - "@posthog/webpack-plugin" "1.2.20" + "@posthog/cli" "~0.5.29" + "@posthog/core" "1.23.1" + "@posthog/webpack-plugin" "1.2.24" semver "^7.7.2" -"@posthog/types@1.342.1": - version "1.342.1" - resolved "https://registry.yarnpkg.com/@posthog/types/-/types-1.342.1.tgz#a4d5f7b44539641e910f36818fd4b6aa41022a2f" - integrity sha512-bcyBdO88FWTkd5AVTa4Nu8T7RfY0WJrG7WMCXum/rcvNjYhS3DmOfKf8o/Bt56vA3J3yeU0vbgrmltYVoTAfaA== +"@posthog/types@1.353.0": + version "1.353.0" + resolved "https://registry.yarnpkg.com/@posthog/types/-/types-1.353.0.tgz#7749f4d096e2d8d9c2b76e43901572ded2a4d9fe" + integrity sha512-wG5zMdr80QNV+0XkJFCX5ZxcpdER1TtYe21YlLAuI4i0G1wjQDi/FDCjh4b0QGiV8KljQMHfC2xPZ/SXnPBlBQ== -"@posthog/webpack-plugin@1.2.20": - version "1.2.20" - resolved "https://registry.yarnpkg.com/@posthog/webpack-plugin/-/webpack-plugin-1.2.20.tgz#a6355a38a136248b82478d2a9175f7566fca412a" - integrity sha512-rqyCFBzCwMne2YdjbSJEijb0f/wU5QKIX53ObgxdazfQlVroflb+qwevIKkkU1lUg5e4S6zYvVNNwrpe0Zoomw== +"@posthog/webpack-plugin@1.2.24": + version "1.2.24" + resolved "https://registry.yarnpkg.com/@posthog/webpack-plugin/-/webpack-plugin-1.2.24.tgz#a5dafd0771690aa968a7b6d6bc3d88d91240f3de" + integrity sha512-TJrjSFRGA/x74fIghEJGgMz5Jcza9s7N3EWQgmwZ0g8OgU4TwKE/NE00zqPEy86O1kdqR5PfcMz+tT6ppUjxVw== dependencies: - "@posthog/cli" "~0.5.26" - "@posthog/core" "1.21.0" + "@posthog/cli" "~0.5.29" + "@posthog/core" "1.23.1" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" @@ -3062,9 +3043,9 @@ integrity sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg== "@tanstack/react-query@^5.66.0": - version "5.90.20" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.90.20.tgz#42bb7018bfedc72f216b6e9b4052c919063f350b" - integrity sha512-vXBxa+qeyveVO7OA0jX1z+DeyCA4JKnThKv411jd5SORpBKgkcVnYKCiBgECvADvniBX7tobwBmg01qq9JmMJw== + version "5.90.21" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.90.21.tgz#e0eb40831a76510be438109435b8807ef63ab1b9" + integrity sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg== dependencies: "@tanstack/query-core" "5.90.20" @@ -3127,16 +3108,16 @@ undici-types "~7.16.0" "@types/node@>=13.7.0": - version "25.2.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-25.2.1.tgz#378021f9e765bb65ba36de16f3c3a8622c1fa03d" - integrity sha512-CPrnr8voK8vC6eEtyRzvMpgp3VyVRhgclonE7qYi6P9sXwYb59ucfrnmFBTaP0yUi8Gk4yZg/LlTJULGxvTNsg== + version "25.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.3.0.tgz#749b1bd4058e51b72e22bd41e9eab6ebd0180470" + integrity sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A== dependencies: - undici-types "~7.16.0" + undici-types "~7.18.0" "@types/node@^24.1.0": - version "24.10.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.12.tgz#a51b49260a045c08ac761cbde7e407ef144d2b2a" - integrity sha512-68e+T28EbdmLSTkPgs3+UacC6rzmqrcWFPQs1C8mwJhI/r5Uxr0yEuQotczNRROd1gq30NGxee+fo0rSIxpyAw== + version "24.10.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.13.tgz#2fac25c0e30f3848e19912c3b8791a28370e9e07" + integrity sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg== dependencies: undici-types "~7.16.0" @@ -3160,10 +3141,10 @@ resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@19.2.13": - version "19.2.13" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.13.tgz#7cea30d7f60a01d97e4ece039c04e9056682218a" - integrity sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ== +"@types/react@19.2.14": + version "19.2.14" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.2.14.tgz#39604929b5e3957e3a6fa0001dafb17c7af70bad" + integrity sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w== dependencies: csstype "^3.2.2" @@ -3621,6 +3602,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +balanced-match@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.3.tgz#6337a2f23e0604a30481423432f99eac603599f9" + integrity sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g== + baseline-browser-mapping@^2.8.3: version "2.9.10" resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.10.tgz#099221e89b30ec784675af076fbd4a93e58b53c3" @@ -3656,6 +3642,13 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" +brace-expansion@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.2.tgz#b6c16d0791087af6c2bc463f52a8142046c06b6f" + integrity sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw== + dependencies: + balanced-match "^4.0.2" + braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" @@ -4577,10 +4570,10 @@ eslint-visitor-keys@^4.2.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== -eslint@9.39.2: - version "9.39.2" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.2.tgz#cb60e6d16ab234c0f8369a3fe7cc87967faf4b6c" - integrity sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw== +eslint@9.39.3: + version "9.39.3" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.3.tgz#08d63df1533d7743c0907b32a79a7e134e63ee2f" + integrity sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.1" @@ -4588,7 +4581,7 @@ eslint@9.39.2: "@eslint/config-helpers" "^0.4.2" "@eslint/core" "^0.17.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.39.2" + "@eslint/js" "9.39.3" "@eslint/plugin-kit" "^0.4.1" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -4855,11 +4848,11 @@ fraction.js@^5.3.4: integrity sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ== framer-motion@^12.0.0: - version "12.34.0" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-12.34.0.tgz#0cecdf015cc4cbee55bd53130d043137642a5ced" - integrity sha512-+/H49owhzkzQyxtn7nZeF4kdH++I2FWrESQ184Zbcw5cEqNHYkE5yxWxcTLSj5lNx3NWdbIRy5FHqUvetD8FWg== + version "12.34.3" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-12.34.3.tgz#946f716bfef710d564bf721f4f364274f6278fd4" + integrity sha512-v81ecyZKYO/DfpTwHivqkxSUBzvceOpoI+wLfgCgoUIKxlFKEXdg0oR9imxwXumT4SFy8vRk9xzJ5l3/Du/55Q== dependencies: - motion-dom "^12.34.0" + motion-dom "^12.34.3" motion-utils "^12.29.2" tslib "^2.4.0" @@ -4976,12 +4969,12 @@ glob@^10.3.10: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^13.0.0: - version "13.0.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.1.tgz#c59a2500c9a5f1ab9cdd370217ced63c2aa81e60" - integrity sha512-B7U/vJpE3DkJ5WXTgTpTRN63uV42DseiXXKMwG14LQBXmsdeIoHAPbU/MEo6II0k5ED74uc2ZGTC6MwHFQhF6w== +glob@^13.0.3: + version "13.0.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.5.tgz#a48f760c6312b1a19d2950fcb577384221c4ec00" + integrity sha512-BzXxZg24Ibra1pbQ/zE7Kys4Ua1ks7Bn6pKLkVPZ9FZe4JQS6/Q7ef3LG1H+k7lUf5l4T3PLSyYyYJVYUvfgTw== dependencies: - minimatch "^10.1.2" + minimatch "^10.2.1" minipass "^7.1.2" path-scurry "^2.0.0" @@ -5467,9 +5460,9 @@ keyv@^4.5.4: json-buffer "3.0.1" knip@^5.62.0: - version "5.83.1" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.83.1.tgz#1cf88fa32a7c92755e2ccff64c1e0ab89877f300" - integrity sha512-av3ZG/Nui6S/BNL8Tmj12yGxYfTnwWnslouW97m40him7o8MwiMjZBY9TPvlEWUci45aVId0/HbgTwSKIDGpMw== + version "5.85.0" + resolved "https://registry.yarnpkg.com/knip/-/knip-5.85.0.tgz#b533f251918798aa8cd394aecc0fa37ee5134510" + integrity sha512-V2kyON+DZiYdNNdY6GALseiNCwX7dYdpz9Pv85AUn69Gk0UKCts+glOKWfe5KmaMByRjM9q17Mzj/KinTVOyxg== dependencies: "@nodelib/fs.walk" "^1.2.3" fast-glob "^3.3.3" @@ -5612,9 +5605,9 @@ lru-cache@^10.2.0: integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^11.0.0: - version "11.2.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.5.tgz#6811ae01652ae5d749948cdd80bcc22218c6744f" - integrity sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw== + version "11.2.6" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.6.tgz#356bf8a29e88a7a2945507b31f6429a65a192c58" + integrity sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ== lru-cache@^5.1.1: version "5.1.1" @@ -5623,10 +5616,10 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lucide-react@^0.563.0: - version "0.563.0" - resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.563.0.tgz#9a660d6f009942914a0df42391cf7d7d4dbcc713" - integrity sha512-8dXPB2GI4dI8jV4MgUDGBeLdGk8ekfqVZ0BdLcrRzocGgG75ltNEmWS+gE7uokKF/0oSUuczNDT+g9hFJ23FkA== +lucide-react@^0.575.0: + version "0.575.0" + resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.575.0.tgz#90feaa4c140e9693e4ee9426d9927a6b833267ac" + integrity sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg== luxon@^3.4.2: version "3.7.2" @@ -5690,12 +5683,12 @@ mini-svg-data-uri@^1.2.3: resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== -minimatch@^10.1.2: - version "10.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.2.tgz#6c3f289f9de66d628fa3feb1842804396a43d81c" - integrity sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw== +minimatch@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.1.tgz#9d82835834cdc85d5084dd055e9a4685fa56e5f0" + integrity sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A== dependencies: - "@isaacs/brace-expansion" "^5.0.1" + brace-expansion "^5.0.2" minimatch@^3.1.2: version "3.1.2" @@ -5721,10 +5714,10 @@ minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== -motion-dom@^12.34.0: - version "12.34.0" - resolved "https://registry.yarnpkg.com/motion-dom/-/motion-dom-12.34.0.tgz#d1776aaff750e09db66237c66daec31232a4cba8" - integrity sha512-Lql3NuEcScRDxTAO6GgUsRHBZOWI/3fnMlkMcH5NftzcN37zJta+bpbMAV9px4Nj057TuvRooMK7QrzMCgtz6Q== +motion-dom@^12.34.3: + version "12.34.3" + resolved "https://registry.yarnpkg.com/motion-dom/-/motion-dom-12.34.3.tgz#56224109a20bf2cb38277bfaedeeda5151ce369d" + integrity sha512-sYgFe+pR9aIM7o4fhs2aXtOI+oqlUd33N9Yoxcgo1Fv7M20sRkHtCmzE/VRNIcq7uNJ+qio+Xubt1FXH3pQ+eQ== dependencies: motion-utils "^12.29.2" @@ -5914,30 +5907,30 @@ own-keys@^1.0.1: safe-push-apply "^1.0.0" oxc-resolver@^11.15.0: - version "11.17.0" - resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-11.17.0.tgz#18746dec84caebc014d212e4a615ae1cb96d1b43" - integrity sha512-R5P2Tw6th+nQJdNcZGfuppBS/sM0x1EukqYffmlfX2xXLgLGCCPwu4ruEr9Sx29mrpkHgITc130Qps2JR90NdQ== + version "11.18.0" + resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-11.18.0.tgz#5985ae98147cea8aa8de712f5b9111db86b13e20" + integrity sha512-Fv/b05AfhpYoCDvsog6tgsDm2yIwIeJafpMFLncNwKHRYu+Y1xQu5Q/rgUn7xBfuhNgjtPO7C0jCf7p2fLDj1g== optionalDependencies: - "@oxc-resolver/binding-android-arm-eabi" "11.17.0" - "@oxc-resolver/binding-android-arm64" "11.17.0" - "@oxc-resolver/binding-darwin-arm64" "11.17.0" - "@oxc-resolver/binding-darwin-x64" "11.17.0" - "@oxc-resolver/binding-freebsd-x64" "11.17.0" - "@oxc-resolver/binding-linux-arm-gnueabihf" "11.17.0" - "@oxc-resolver/binding-linux-arm-musleabihf" "11.17.0" - "@oxc-resolver/binding-linux-arm64-gnu" "11.17.0" - "@oxc-resolver/binding-linux-arm64-musl" "11.17.0" - "@oxc-resolver/binding-linux-ppc64-gnu" "11.17.0" - "@oxc-resolver/binding-linux-riscv64-gnu" "11.17.0" - "@oxc-resolver/binding-linux-riscv64-musl" "11.17.0" - "@oxc-resolver/binding-linux-s390x-gnu" "11.17.0" - "@oxc-resolver/binding-linux-x64-gnu" "11.17.0" - "@oxc-resolver/binding-linux-x64-musl" "11.17.0" - "@oxc-resolver/binding-openharmony-arm64" "11.17.0" - "@oxc-resolver/binding-wasm32-wasi" "11.17.0" - "@oxc-resolver/binding-win32-arm64-msvc" "11.17.0" - "@oxc-resolver/binding-win32-ia32-msvc" "11.17.0" - "@oxc-resolver/binding-win32-x64-msvc" "11.17.0" + "@oxc-resolver/binding-android-arm-eabi" "11.18.0" + "@oxc-resolver/binding-android-arm64" "11.18.0" + "@oxc-resolver/binding-darwin-arm64" "11.18.0" + "@oxc-resolver/binding-darwin-x64" "11.18.0" + "@oxc-resolver/binding-freebsd-x64" "11.18.0" + "@oxc-resolver/binding-linux-arm-gnueabihf" "11.18.0" + "@oxc-resolver/binding-linux-arm-musleabihf" "11.18.0" + "@oxc-resolver/binding-linux-arm64-gnu" "11.18.0" + "@oxc-resolver/binding-linux-arm64-musl" "11.18.0" + "@oxc-resolver/binding-linux-ppc64-gnu" "11.18.0" + "@oxc-resolver/binding-linux-riscv64-gnu" "11.18.0" + "@oxc-resolver/binding-linux-riscv64-musl" "11.18.0" + "@oxc-resolver/binding-linux-s390x-gnu" "11.18.0" + "@oxc-resolver/binding-linux-x64-gnu" "11.18.0" + "@oxc-resolver/binding-linux-x64-musl" "11.18.0" + "@oxc-resolver/binding-openharmony-arm64" "11.18.0" + "@oxc-resolver/binding-wasm32-wasi" "11.18.0" + "@oxc-resolver/binding-win32-arm64-msvc" "11.18.0" + "@oxc-resolver/binding-win32-ia32-msvc" "11.18.0" + "@oxc-resolver/binding-win32-x64-msvc" "11.18.0" p-limit@^3.0.2: version "3.1.0" @@ -6108,17 +6101,17 @@ postcss@^8.4.47: source-map-js "^1.2.1" posthog-js@^1.257.0: - version "1.342.1" - resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.342.1.tgz#9c030513104c39a0c7413c54b7e1134bca21a1e5" - integrity sha512-mMnQhWuKj4ejFicLtFzr52InmqploOyW1eInqXBkaVqE1DPhczBDmwsd9MSggY8kv0EXm8zgK+2tzBJUKcX5yg== + version "1.353.0" + resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.353.0.tgz#49f3f7c58a1d6af0eaeb847ff6a013aedad81b7c" + integrity sha512-1ifN9CDMavZwRvm+6UYAaEbvzJPvC6q0warmNGyqUcmtDe3SZh4PfvftSJrucH5Oeh6r+ihWtLS7ESIUS0pYuw== dependencies: "@opentelemetry/api" "^1.9.0" "@opentelemetry/api-logs" "^0.208.0" "@opentelemetry/exporter-logs-otlp-http" "^0.208.0" "@opentelemetry/resources" "^2.2.0" "@opentelemetry/sdk-logs" "^0.208.0" - "@posthog/core" "1.20.1" - "@posthog/types" "1.342.1" + "@posthog/core" "1.23.1" + "@posthog/types" "1.353.0" core-js "^3.38.1" dompurify "^3.3.1" fflate "^0.4.8" @@ -6127,16 +6120,16 @@ posthog-js@^1.257.0: web-vitals "^5.1.0" posthog-node@^5.5.1: - version "5.24.11" - resolved "https://registry.yarnpkg.com/posthog-node/-/posthog-node-5.24.11.tgz#33f4a638a4db65f297547a1e701cd378528eef95" - integrity sha512-tDXbYyXJyh0oUEo1SumCzmXY0FZNB0avAq0uXMo6o6JinzwY8u5cygqAgUyMDIGG8u0p6tBHq++foqULXaPmiA== + version "5.24.17" + resolved "https://registry.yarnpkg.com/posthog-node/-/posthog-node-5.24.17.tgz#ad04f7d38be22e2c1ad2cba48096b50029724912" + integrity sha512-mdb8TKt+YCRbGQdYar3AKNUPCyEiqcprScF4unYpGALF6HlBaEuO6wPuIqXXpCWkw4VclJYCKbb6lq6pH6bJeA== dependencies: - "@posthog/core" "1.20.1" + "@posthog/core" "1.23.1" preact@^10.28.2: - version "10.28.3" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.28.3.tgz#3c2171526b3e29628ad1a6c56a9e3ca867bbdee8" - integrity sha512-tCmoRkPQLpBeWzpmbhryairGnhW9tKV6c6gr/w+RhoRoKEJwsjzipwp//1oCpGPOchvSLaAPlpcJi9MwMmoPyA== + version "10.28.4" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.28.4.tgz#8ffab01c5c0590535bdaecdd548801f44c6e483a" + integrity sha512-uKFfOHWuSNpRFVTnljsCluEFq57OKT+0QdOiQo8XWnQ/pSvg7OpX5eNOejELXJMWy+BwM2nobz0FkvzmnpCNsQ== prelude-ls@^1.2.1: version "1.2.1" @@ -6218,9 +6211,9 @@ react-dom@^19.0.0: scheduler "^0.27.0" react-hook-form@^7.54.2: - version "7.71.1" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.71.1.tgz#6a758958861682cf0eb22131eead684ba3618f66" - integrity sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w== + version "7.71.2" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.71.2.tgz#a5f1d2b855be9ecf1af6e74df9b80f54beae7e35" + integrity sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA== react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" @@ -6444,11 +6437,11 @@ rfdc@^1.4.1: integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rimraf@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-6.1.2.tgz#9a0f3cea2ab853e81291127422116ecf2a86ae89" - integrity sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g== + version "6.1.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-6.1.3.tgz#afbee236b3bd2be331d4e7ce4493bac1718981af" + integrity sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA== dependencies: - glob "^13.0.0" + glob "^13.0.3" package-json-from-dist "^1.0.1" rspack-resolver@^1.1.0: @@ -6923,9 +6916,9 @@ svgo@^3.0.2: picocolors "^1.0.0" swiper@^12.0.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/swiper/-/swiper-12.1.0.tgz#5e020f3bdbbff6fc9d9be01714d0ad5452050a58" - integrity sha512-BD4CpAOOyEvZ2f0CDx362ea+vmOwukVcmbsQx+0BhRIaBUz8wvcCd//E7RFmvBZCrfyqXCHUVqmgUwts6ywlxw== + version "12.1.2" + resolved "https://registry.yarnpkg.com/swiper/-/swiper-12.1.2.tgz#39eaad0c088def66a7eb8f6bae1439384586ab90" + integrity sha512-4gILrI3vXZqoZh71I1PALqukCFgk+gpOwe1tOvz5uE9kHtl2gTDzmYflYCwWvR4LOvCrJi6UEEU+gnuW5BtkgQ== tabbable@^6.0.0: version "6.2.0" @@ -6933,9 +6926,9 @@ tabbable@^6.0.0: integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== tailwind-merge@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-3.4.0.tgz#5a264e131a096879965f1175d11f8c36e6b64eca" - integrity sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g== + version "3.5.0" + resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-3.5.0.tgz#06502f4496ba15151445d97d916a26564d50d1ca" + integrity sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A== tailwindcss-animate@^1.0.7: version "1.0.7" @@ -7131,6 +7124,11 @@ undici-types@~7.16.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== +undici-types@~7.18.0: + version "7.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" + integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2"