Spaces:
Running
Running
Upload 32 files
Browse files- app/intranet/page.tsx +116 -0
- app/layout.tsx +8 -1
- app/login/page.tsx +22 -22
- app/mind-map/page.tsx +114 -0
- app/org-chart/page.tsx +95 -0
- app/page.tsx +99 -87
- app/tasks/page.tsx +126 -0
- components/Sidebar.tsx +85 -0
- package-lock.json +784 -814
- package.json +4 -1
app/intranet/page.tsx
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import React, { useState, useEffect, useRef } from "react";
|
| 4 |
+
import { db, auth } from "@/lib/firebase";
|
| 5 |
+
import { collection, onSnapshot, addDoc, serverTimestamp, query, orderBy, limit } from "firebase/firestore";
|
| 6 |
+
import { Send, User as UserIcon, Bell } from "lucide-react";
|
| 7 |
+
import { motion, AnimatePresence } from "framer-motion";
|
| 8 |
+
|
| 9 |
+
interface Message {
|
| 10 |
+
id: string;
|
| 11 |
+
text: string;
|
| 12 |
+
sender: string;
|
| 13 |
+
senderEmail: string;
|
| 14 |
+
timestamp: any;
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
export default function IntranetPage() {
|
| 18 |
+
const [messages, setMessages] = useState<Message[]>([]);
|
| 19 |
+
const [newMsg, setNewMsg] = useState("");
|
| 20 |
+
const scrollRef = useRef<HTMLDivElement>(null);
|
| 21 |
+
|
| 22 |
+
useEffect(() => {
|
| 23 |
+
const q = query(collection(db, "messages"), orderBy("timestamp", "asc"), limit(50));
|
| 24 |
+
const unsub = onSnapshot(q, (snap) => {
|
| 25 |
+
setMessages(snap.docs.map(doc => ({ id: doc.id, ...doc.data() } as Message)));
|
| 26 |
+
});
|
| 27 |
+
return () => unsub();
|
| 28 |
+
}, []);
|
| 29 |
+
|
| 30 |
+
useEffect(() => {
|
| 31 |
+
scrollRef.current?.scrollIntoView({ behavior: "smooth" });
|
| 32 |
+
}, [messages]);
|
| 33 |
+
|
| 34 |
+
const handleSend = async (e: React.FormEvent) => {
|
| 35 |
+
e.preventDefault();
|
| 36 |
+
if (!newMsg.trim() || !auth.currentUser) return;
|
| 37 |
+
await addDoc(collection(db, "messages"), {
|
| 38 |
+
text: newMsg,
|
| 39 |
+
sender: auth.currentUser.displayName || auth.currentUser.email?.split("@")[0],
|
| 40 |
+
senderEmail: auth.currentUser.email,
|
| 41 |
+
timestamp: serverTimestamp()
|
| 42 |
+
});
|
| 43 |
+
setNewMsg("");
|
| 44 |
+
};
|
| 45 |
+
|
| 46 |
+
return (
|
| 47 |
+
<div className="h-screen flex flex-col p-10">
|
| 48 |
+
<header className="flex justify-between items-center mb-10 shrink-0">
|
| 49 |
+
<div>
|
| 50 |
+
<h1 className="text-4xl font-black tracking-tightest flex items-center gap-4 italic uppercase">
|
| 51 |
+
Staff / Intranet
|
| 52 |
+
<Bell size={24} className="text-gray-700 animate-pulse" />
|
| 53 |
+
</h1>
|
| 54 |
+
<p className="text-gray-500 font-bold text-xs mt-1">Sala de Comunicación Interna Segura</p>
|
| 55 |
+
</div>
|
| 56 |
+
</header>
|
| 57 |
+
|
| 58 |
+
<div className="flex-1 bg-white/5 border border-white/10 rounded-[40px] backdrop-blur-3xl overflow-hidden flex flex-col shadow-2xl">
|
| 59 |
+
{/* Message Feed */}
|
| 60 |
+
<div className="flex-1 overflow-y-auto p-10 space-y-6 no-scrollbar relative">
|
| 61 |
+
<div className="absolute top-0 left-0 w-full h-20 bg-gradient-to-b from-[#0f172a] to-transparent pointer-events-none sticky z-10 opacity-40"></div>
|
| 62 |
+
|
| 63 |
+
<AnimatePresence>
|
| 64 |
+
{messages.map((m) => {
|
| 65 |
+
const isMe = m.senderEmail === auth.currentUser?.email;
|
| 66 |
+
return (
|
| 67 |
+
<motion.div
|
| 68 |
+
key={m.id}
|
| 69 |
+
initial={{ opacity: 0, x: isMe ? 20 : -20 }}
|
| 70 |
+
animate={{ opacity: 1, x: 0 }}
|
| 71 |
+
className={`flex ${isMe ? 'justify-end' : 'justify-start'}`}
|
| 72 |
+
>
|
| 73 |
+
<div className={`max-w-[70%] group flex flex-col ${isMe ? 'items-end' : 'items-start'}`}>
|
| 74 |
+
<div className="flex items-center gap-2 mb-2">
|
| 75 |
+
{!isMe && <div className="w-6 h-6 bg-white/10 rounded-full flex items-center justify-center text-[10px]">👔</div>}
|
| 76 |
+
<span className="text-[10px] text-gray-500 font-black uppercase tracking-widest">{m.sender}</span>
|
| 77 |
+
{isMe && <div className="w-6 h-6 bg-blue-500/20 rounded-full flex items-center justify-center text-[10px] text-blue-400">YO</div>}
|
| 78 |
+
</div>
|
| 79 |
+
<div className={`
|
| 80 |
+
px-6 py-4 rounded-3xl text-sm font-medium shadow-lg transition-all
|
| 81 |
+
${isMe ? 'bg-blue-600 text-white rounded-tr-none' : 'bg-white/10 text-gray-200 rounded-tl-none border border-white/10'}
|
| 82 |
+
`}>
|
| 83 |
+
{m.text}
|
| 84 |
+
</div>
|
| 85 |
+
<span className="mt-2 text-[8px] text-gray-700 font-black opacity-0 group-hover:opacity-100 transition-opacity uppercase tracking-tighter">
|
| 86 |
+
Enviado hace un momento
|
| 87 |
+
</span>
|
| 88 |
+
</div>
|
| 89 |
+
</motion.div>
|
| 90 |
+
);
|
| 91 |
+
})}
|
| 92 |
+
</AnimatePresence>
|
| 93 |
+
<div ref={scrollRef} />
|
| 94 |
+
</div>
|
| 95 |
+
|
| 96 |
+
{/* Input Bar */}
|
| 97 |
+
<div className="p-8 bg-white/5 border-t border-white/5 backdrop-blur-md">
|
| 98 |
+
<form onSubmit={handleSend} className="relative">
|
| 99 |
+
<input
|
| 100 |
+
value={newMsg}
|
| 101 |
+
onChange={(e) => setNewMsg(e.target.value)}
|
| 102 |
+
placeholder="Escribe un mensaje al equipo..."
|
| 103 |
+
className="w-full bg-white/5 border border-white/10 rounded-full px-10 py-5 outline-none focus:border-blue-500/40 transition-all font-medium pr-20"
|
| 104 |
+
/>
|
| 105 |
+
<button
|
| 106 |
+
type="submit"
|
| 107 |
+
className="absolute right-3 top-1/2 -translate-y-1/2 p-4 bg-gradient-to-br from-blue-600 to-indigo-600 rounded-full shadow-lg shadow-blue-900/40 hover:scale-110 active:scale-95 transition-all"
|
| 108 |
+
>
|
| 109 |
+
<Send size={20} />
|
| 110 |
+
</button>
|
| 111 |
+
</form>
|
| 112 |
+
</div>
|
| 113 |
+
</div>
|
| 114 |
+
</div>
|
| 115 |
+
);
|
| 116 |
+
}
|
app/layout.tsx
CHANGED
|
@@ -9,6 +9,8 @@ export const metadata: Metadata = {
|
|
| 9 |
description: "Modern Enterprise Resource Planning system powered by Firebase",
|
| 10 |
};
|
| 11 |
|
|
|
|
|
|
|
| 12 |
export default function RootLayout({
|
| 13 |
children,
|
| 14 |
}: Readonly<{
|
|
@@ -16,7 +18,12 @@ export default function RootLayout({
|
|
| 16 |
}>) {
|
| 17 |
return (
|
| 18 |
<html lang="es">
|
| 19 |
-
<body className={`${inter.className} bg-[#0f172a]`}>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
</html>
|
| 21 |
);
|
| 22 |
}
|
|
|
|
| 9 |
description: "Modern Enterprise Resource Planning system powered by Firebase",
|
| 10 |
};
|
| 11 |
|
| 12 |
+
import Sidebar from "@/components/Sidebar";
|
| 13 |
+
|
| 14 |
export default function RootLayout({
|
| 15 |
children,
|
| 16 |
}: Readonly<{
|
|
|
|
| 18 |
}>) {
|
| 19 |
return (
|
| 20 |
<html lang="es">
|
| 21 |
+
<body className={`${inter.className} bg-[#0f172a] text-white selection:bg-blue-500/30`}>
|
| 22 |
+
<Sidebar />
|
| 23 |
+
<main className="ml-72 min-h-screen">
|
| 24 |
+
{children}
|
| 25 |
+
</main>
|
| 26 |
+
</body>
|
| 27 |
</html>
|
| 28 |
);
|
| 29 |
}
|
app/login/page.tsx
CHANGED
|
@@ -54,47 +54,47 @@ export default function LoginPage() {
|
|
| 54 |
<div>
|
| 55 |
<input
|
| 56 |
type="email"
|
| 57 |
-
placeholder="
|
| 58 |
required
|
| 59 |
value={email}
|
| 60 |
onChange={(e) => setEmail(e.target.value)}
|
| 61 |
-
className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-blue-500/50 focus:bg-white/10 transition-all placeholder:text-gray-
|
| 62 |
/>
|
| 63 |
</div>
|
| 64 |
<div>
|
| 65 |
<input
|
| 66 |
type="password"
|
| 67 |
-
placeholder="Contraseña"
|
| 68 |
required
|
| 69 |
value={password}
|
| 70 |
onChange={(e) => setPassword(e.target.value)}
|
| 71 |
-
className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-blue-500/50 focus:bg-white/10 transition-all placeholder:text-gray-
|
| 72 |
/>
|
| 73 |
</div>
|
| 74 |
|
| 75 |
{error && (
|
| 76 |
-
<div className="bg-red-500/10 border border-red-500/20 text-red-400 text-xs p-4 rounded-xl
|
| 77 |
{error}
|
| 78 |
</div>
|
| 79 |
)}
|
| 80 |
|
| 81 |
-
<
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
</
|
| 98 |
</form>
|
| 99 |
|
| 100 |
<p className="mt-8 text-center text-xs text-gray-500 font-medium">
|
|
|
|
| 54 |
<div>
|
| 55 |
<input
|
| 56 |
type="email"
|
| 57 |
+
placeholder="admin@empresa-erp.com"
|
| 58 |
required
|
| 59 |
value={email}
|
| 60 |
onChange={(e) => setEmail(e.target.value)}
|
| 61 |
+
className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-blue-500/50 focus:bg-white/10 transition-all placeholder:text-gray-700"
|
| 62 |
/>
|
| 63 |
</div>
|
| 64 |
<div>
|
| 65 |
<input
|
| 66 |
type="password"
|
| 67 |
+
placeholder="Contraseña (ej: 123456)"
|
| 68 |
required
|
| 69 |
value={password}
|
| 70 |
onChange={(e) => setPassword(e.target.value)}
|
| 71 |
+
className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-blue-500/50 focus:bg-white/10 transition-all placeholder:text-gray-700"
|
| 72 |
/>
|
| 73 |
</div>
|
| 74 |
|
| 75 |
{error && (
|
| 76 |
+
<div className="bg-red-500/10 border border-red-500/20 text-red-400 text-xs p-4 rounded-xl">
|
| 77 |
{error}
|
| 78 |
</div>
|
| 79 |
)}
|
| 80 |
|
| 81 |
+
<div className="flex flex-col gap-3">
|
| 82 |
+
<button
|
| 83 |
+
type="submit"
|
| 84 |
+
disabled={loading}
|
| 85 |
+
className="w-full bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-500 hover:to-indigo-500 text-white font-bold py-4 rounded-2xl shadow-lg shadow-blue-900/20 hover:shadow-blue-900/40 transition-all transform active:scale-95 disabled:opacity-50"
|
| 86 |
+
>
|
| 87 |
+
{loading ? "Autenticando..." : "Entrar"}
|
| 88 |
+
</button>
|
| 89 |
+
|
| 90 |
+
<button
|
| 91 |
+
type="button"
|
| 92 |
+
onClick={() => { setEmail("admin@empresa-erp.com"); setPassword("123456"); }}
|
| 93 |
+
className="w-full bg-white/5 border border-white/5 text-gray-400 hover:text-white hover:bg-white/10 py-3 rounded-2xl text-[10px] font-black uppercase tracking-widest transition-all"
|
| 94 |
+
>
|
| 95 |
+
Autocompletar Demo Admin
|
| 96 |
+
</button>
|
| 97 |
+
</div>
|
| 98 |
</form>
|
| 99 |
|
| 100 |
<p className="mt-8 text-center text-xs text-gray-500 font-medium">
|
app/mind-map/page.tsx
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import React, { useState } from "react";
|
| 4 |
+
import { motion, AnimatePresence } from "framer-motion";
|
| 5 |
+
import {
|
| 6 |
+
Network,
|
| 7 |
+
Target,
|
| 8 |
+
Rocket,
|
| 9 |
+
Shield,
|
| 10 |
+
Users,
|
| 11 |
+
Zap,
|
| 12 |
+
Heart,
|
| 13 |
+
Briefcase
|
| 14 |
+
} from "lucide-react";
|
| 15 |
+
|
| 16 |
+
const mindMapData = [
|
| 17 |
+
{ id: "root", label: "Corporación ERP", icon: Network, color: "text-blue-400", sub: ["mision", "vision", "valores"] },
|
| 18 |
+
{ id: "mision", label: "Misión", icon: Target, color: "text-purple-400", sub: ["digitalizar", "automatizar"] },
|
| 19 |
+
{ id: "vision", label: "Visión 2030", icon: Rocket, color: "text-orange-400", sub: ["global", "ia"] },
|
| 20 |
+
{ id: "valores", label: "Valores", icon: Shield, color: "text-emerald-400", sub: ["etica", "calidad"] },
|
| 21 |
+
{ id: "digitalizar", label: "Digitalización", icon: Zap, color: "text-yellow-400", parent: "mision" },
|
| 22 |
+
{ id: "automatizar", label: "Automatización", icon: Heart, color: "text-pink-400", parent: "mision" },
|
| 23 |
+
{ id: "global", label: "Expansión Global", icon: Briefcase, color: "text-blue-500", parent: "vision" },
|
| 24 |
+
{ id: "ia", label: "IA Avanzada", icon: Rocket, color: "text-indigo-400", parent: "vision" },
|
| 25 |
+
];
|
| 26 |
+
|
| 27 |
+
export default function MindMapPage() {
|
| 28 |
+
const [activeNode, setActiveNode] = useState("root");
|
| 29 |
+
|
| 30 |
+
const currentNode = mindMapData.find(n => n.id === activeNode) || mindMapData[0];
|
| 31 |
+
const children = mindMapData.filter(n => currentNode.sub?.includes(n.id));
|
| 32 |
+
const parent = mindMapData.find(n => n.id === currentNode.parent);
|
| 33 |
+
|
| 34 |
+
return (
|
| 35 |
+
<div className="p-10 min-h-screen relative flex items-center justify-center overflow-hidden">
|
| 36 |
+
<div className="absolute top-10 left-10">
|
| 37 |
+
<h1 className="text-4xl font-black italic mb-2 tracking-tighter">MIND / MAP</h1>
|
| 38 |
+
<p className="text-gray-500 font-bold uppercase text-[10px] tracking-widest">ADN de la Organización</p>
|
| 39 |
+
</div>
|
| 40 |
+
|
| 41 |
+
<AnimatePresence mode="wait">
|
| 42 |
+
<motion.div
|
| 43 |
+
key={activeNode}
|
| 44 |
+
initial={{ opacity: 0, scale: 0.8 }}
|
| 45 |
+
animate={{ opacity: 1, scale: 1 }}
|
| 46 |
+
exit={{ opacity: 0, scale: 1.2 }}
|
| 47 |
+
className="relative flex flex-col items-center"
|
| 48 |
+
>
|
| 49 |
+
{/* Main Node */}
|
| 50 |
+
<div className="relative z-20">
|
| 51 |
+
<NodeUI node={currentNode} size="large" />
|
| 52 |
+
|
| 53 |
+
{/* Parent Link */}
|
| 54 |
+
{parent && (
|
| 55 |
+
<button
|
| 56 |
+
onClick={() => setActiveNode(parent.id)}
|
| 57 |
+
className="absolute -top-32 left-1/2 -translate-x-1/2 px-4 py-2 bg-white/5 border border-white/10 rounded-full text-[10px] font-black uppercase text-gray-500 hover:text-white hover:bg-white/10 transition-all border-dashed"
|
| 58 |
+
>
|
| 59 |
+
↑ Subir a {parent.label}
|
| 60 |
+
</button>
|
| 61 |
+
)}
|
| 62 |
+
</div>
|
| 63 |
+
|
| 64 |
+
{/* Children Nodes */}
|
| 65 |
+
{children.length > 0 && (
|
| 66 |
+
<div className="mt-40 flex gap-20 relative">
|
| 67 |
+
{children.map((child, i) => (
|
| 68 |
+
<div key={child.id} className="relative group">
|
| 69 |
+
<motion.div
|
| 70 |
+
initial={{ y: 20, opacity: 0 }}
|
| 71 |
+
animate={{ y: 0, opacity: 1 }}
|
| 72 |
+
transition={{ delay: i * 0.1 }}
|
| 73 |
+
onClick={() => setActiveNode(child.id)}
|
| 74 |
+
className="cursor-pointer"
|
| 75 |
+
>
|
| 76 |
+
<NodeUI node={child} size="medium" />
|
| 77 |
+
</motion.div>
|
| 78 |
+
{/* Line */}
|
| 79 |
+
<div className="absolute -top-24 left-1/2 -translate-x-1/2 w-px h-24 bg-gradient-to-t from-white/20 to-transparent"></div>
|
| 80 |
+
</div>
|
| 81 |
+
))}
|
| 82 |
+
</div>
|
| 83 |
+
)}
|
| 84 |
+
</motion.div>
|
| 85 |
+
</AnimatePresence>
|
| 86 |
+
|
| 87 |
+
<div className="absolute bottom-10 right-10 text-right text-[10px] text-gray-700 font-bold uppercase tracking-widest leading-loose">
|
| 88 |
+
Navegación Interactiva<br/>
|
| 89 |
+
Selecciona un nodo para profundizar<br/>
|
| 90 |
+
Basado en Core-Business Pillars
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
);
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
function NodeUI({ node, size }: { node: any, size: "large" | "medium" }) {
|
| 97 |
+
const Icon = node.icon;
|
| 98 |
+
return (
|
| 99 |
+
<div className={`
|
| 100 |
+
flex flex-col items-center justify-center rounded-[3rem] border backdrop-blur-3xl shadow-2xl group transition-all
|
| 101 |
+
${size === 'large' ? 'w-64 h-64 bg-blue-600/10 border-blue-500/40' : 'w-48 h-48 bg-white/5 border-white/10 hover:border-white/30 hover:bg-white/10'}
|
| 102 |
+
`}>
|
| 103 |
+
<Icon size={size === 'large' ? 64 : 40} className={`${node.color} mb-6 group-hover:scale-110 transition-transform`} />
|
| 104 |
+
<span className={`font-black uppercase tracking-tighter text-center px-4 ${size === 'large' ? 'text-2xl' : 'text-sm text-gray-400 group-hover:text-white transition-colors'}`}>
|
| 105 |
+
{node.label}
|
| 106 |
+
</span>
|
| 107 |
+
{node.sub && (
|
| 108 |
+
<span className="mt-4 text-[8px] font-black text-blue-500/60 uppercase group-hover:text-blue-400 transition-colors">
|
| 109 |
+
Expandible +
|
| 110 |
+
</span>
|
| 111 |
+
)}
|
| 112 |
+
</div>
|
| 113 |
+
);
|
| 114 |
+
}
|
app/org-chart/page.tsx
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import React, { useState, useEffect } from "react";
|
| 4 |
+
import { db } from "@/lib/firebase";
|
| 5 |
+
import { collection, onSnapshot } from "firebase/firestore";
|
| 6 |
+
import { motion } from "framer-motion";
|
| 7 |
+
import { User, ShieldCheck, Briefcase } from "lucide-react";
|
| 8 |
+
|
| 9 |
+
interface Employee {
|
| 10 |
+
id: string;
|
| 11 |
+
name: string;
|
| 12 |
+
position: string;
|
| 13 |
+
department: string;
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
export default function OrgChartPage() {
|
| 17 |
+
const [employees, setEmployees] = useState<Employee[]>([]);
|
| 18 |
+
|
| 19 |
+
useEffect(() => {
|
| 20 |
+
const unsub = onSnapshot(collection(db, "employees"), (snap) => {
|
| 21 |
+
setEmployees(snap.docs.map(doc => ({ id: doc.id, ...doc.data() } as Employee)));
|
| 22 |
+
});
|
| 23 |
+
return () => unsub();
|
| 24 |
+
}, []);
|
| 25 |
+
|
| 26 |
+
return (
|
| 27 |
+
<div className="p-10 min-h-screen">
|
| 28 |
+
<header className="mb-20 text-center">
|
| 29 |
+
<h1 className="text-5xl font-black tracking-widest uppercase mb-4">Structure / Hierarchy</h1>
|
| 30 |
+
<p className="text-gray-500 font-bold">Arquitectura Organizacional en Tiempo Real</p>
|
| 31 |
+
</header>
|
| 32 |
+
|
| 33 |
+
{/* CEO Level */}
|
| 34 |
+
<div className="flex flex-col items-center">
|
| 35 |
+
<OrgNode label="Dirección General" name="CEO Admin" position="Consejo de Administración" type="ceo" />
|
| 36 |
+
|
| 37 |
+
<div className="w-px h-16 bg-gradient-to-b from-blue-500 to-transparent my-2"></div>
|
| 38 |
+
|
| 39 |
+
{/* Departments Level */}
|
| 40 |
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-20 relative">
|
| 41 |
+
{/* Connecting Lines */}
|
| 42 |
+
<div className="hidden md:block absolute top-[2.5rem] left-[15%] right-[15%] h-px bg-white/10"></div>
|
| 43 |
+
|
| 44 |
+
<OrgSection title="Operaciones" icon={<Briefcase size={20} />} employees={employees} />
|
| 45 |
+
<OrgSection title="Tecnología" icon={<ShieldCheck size={20} />} employees={employees} />
|
| 46 |
+
<OrgSection title="Comercial" icon={<User size={20} />} employees={employees} />
|
| 47 |
+
</div>
|
| 48 |
+
</div>
|
| 49 |
+
</div>
|
| 50 |
+
);
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
function OrgSection({ title, icon, employees }: { title: string, icon: React.ReactNode, employees: Employee[] }) {
|
| 54 |
+
return (
|
| 55 |
+
<div className="flex flex-col items-center">
|
| 56 |
+
<div className="bg-white/10 border border-white/20 px-8 py-4 rounded-full flex items-center gap-3 shadow-xl mb-12">
|
| 57 |
+
<div className="text-blue-400">{icon}</div>
|
| 58 |
+
<span className="font-black uppercase text-xs tracking-widest">{title}</span>
|
| 59 |
+
</div>
|
| 60 |
+
|
| 61 |
+
<div className="space-y-6 flex flex-col items-center">
|
| 62 |
+
{employees.length === 0 ? (
|
| 63 |
+
<div className="text-gray-600 text-[10px] uppercase font-bold">Sin asignar</div>
|
| 64 |
+
) : (
|
| 65 |
+
employees.slice(0, 3).map((emp, i) => (
|
| 66 |
+
<motion.div
|
| 67 |
+
key={emp.id}
|
| 68 |
+
initial={{ y: 20, opacity: 0 }}
|
| 69 |
+
animate={{ y: 0, opacity: 1 }}
|
| 70 |
+
transition={{ delay: i * 0.1 }}
|
| 71 |
+
>
|
| 72 |
+
<OrgNode name={emp.name} position={emp.position} />
|
| 73 |
+
</motion.div>
|
| 74 |
+
))
|
| 75 |
+
)}
|
| 76 |
+
</div>
|
| 77 |
+
</div>
|
| 78 |
+
);
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
+
function OrgNode({ label, name, position, type }: { label?: string, name: string, position: string, type?: string }) {
|
| 82 |
+
return (
|
| 83 |
+
<div className={`
|
| 84 |
+
relative group p-6 rounded-[2rem] border min-w-[240px] text-center backdrop-blur-3xl shadow-2xl transition-all
|
| 85 |
+
${type === 'ceo' ? 'bg-blue-600/20 border-blue-500/40' : 'bg-white/5 border-white/10 hover:border-white/30 hover:bg-white/10'}
|
| 86 |
+
`}>
|
| 87 |
+
{label && <span className="absolute -top-3 left-1/2 -translate-x-1/2 px-4 py-1 bg-blue-600 text-[8px] font-black uppercase rounded-full shadow-lg">{label}</span>}
|
| 88 |
+
<div className={`w-12 h-12 mx-auto mb-4 rounded-2xl flex items-center justify-center ${type === 'ceo' ? 'bg-blue-500 shadow-blue-500/50 shadow-xl' : 'bg-white/10'}`}>
|
| 89 |
+
<User size={24} />
|
| 90 |
+
</div>
|
| 91 |
+
<h4 className="font-bold text-lg mb-1">{name}</h4>
|
| 92 |
+
<p className="text-[10px] font-black text-gray-500 uppercase tracking-widest">{position}</p>
|
| 93 |
+
</div>
|
| 94 |
+
);
|
| 95 |
+
}
|
app/page.tsx
CHANGED
|
@@ -5,98 +5,104 @@ import { db, auth } from "@/lib/firebase";
|
|
| 5 |
import { collection, onSnapshot, query, orderBy, limit } from "firebase/firestore";
|
| 6 |
import Link from "next/link";
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
|
|
|
|
|
|
| 21 |
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
const unsubSales = onSnapshot(collection(db, "sales"), (snap) => {
|
| 27 |
let rev = 0;
|
| 28 |
-
snap.forEach((doc) =>
|
| 29 |
-
|
| 30 |
-
});
|
| 31 |
-
setStats((prev) => ({ ...prev, salesCount: snap.size, revenue: rev }));
|
| 32 |
});
|
| 33 |
-
|
| 34 |
-
return () => {
|
| 35 |
-
unsubProducts();
|
| 36 |
-
unsubClients();
|
| 37 |
-
unsubSales();
|
| 38 |
-
};
|
| 39 |
}, []);
|
| 40 |
|
| 41 |
return (
|
| 42 |
-
<div className="min-h-screen bg-[#0f172a] text-white p-
|
| 43 |
-
<header className="flex justify-between items-center mb-
|
| 44 |
<div>
|
| 45 |
-
<h1 className="text-
|
| 46 |
-
ERP
|
| 47 |
</h1>
|
| 48 |
-
<p className="text-gray-
|
| 49 |
</div>
|
| 50 |
-
<div className="flex
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
className="px-6 py-2 bg-white/10 hover:bg-white/20 rounded-full border border-white/10 transition-all text-sm font-medium backdrop-blur-md"
|
| 54 |
-
>
|
| 55 |
-
Cerrar Sesión
|
| 56 |
-
</button>
|
| 57 |
</div>
|
| 58 |
</header>
|
| 59 |
|
| 60 |
-
{/* Stats
|
| 61 |
-
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-
|
| 62 |
-
<StatCard title="
|
| 63 |
-
<StatCard title="
|
| 64 |
-
<StatCard title="Ventas
|
| 65 |
-
<StatCard title="Ingresos" value={`$${stats.revenue.toLocaleString()}`} icon=
|
| 66 |
</div>
|
| 67 |
|
| 68 |
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
| 69 |
-
{/*
|
| 70 |
-
<div className="lg:col-span-
|
| 71 |
-
<h2 className="text-xl font-
|
| 72 |
-
<
|
| 73 |
-
<
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
</div>
|
| 79 |
|
| 80 |
-
{/*
|
| 81 |
-
<div className="
|
| 82 |
-
<div className="absolute
|
| 83 |
-
<
|
| 84 |
-
|
| 85 |
-
<
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
className="w-full bg-gradient-to-t from-blue-600 to-cyan-400 rounded-t-lg transition-all duration-1000 delay-150"
|
| 90 |
-
style={{ height: `${h}%` }}
|
| 91 |
-
></div>
|
| 92 |
-
<span className="text-[10px] text-gray-500 mt-2">{['L', 'M', 'X', 'J', 'V', 'S', 'D'][i]}</span>
|
| 93 |
-
</div>
|
| 94 |
-
))}
|
| 95 |
-
</div>
|
| 96 |
-
<p className="mt-8 text-sm text-gray-400 items-center flex gap-2">
|
| 97 |
-
<span className="w-2 h-2 rounded-full bg-green-400 animate-pulse"></span>
|
| 98 |
-
Actualizado en tiempo real con Firestore
|
| 99 |
-
</p>
|
| 100 |
</div>
|
| 101 |
</div>
|
| 102 |
</div>
|
|
@@ -104,27 +110,33 @@ export default function Dashboard() {
|
|
| 104 |
);
|
| 105 |
}
|
| 106 |
|
| 107 |
-
function StatCard({ title, value, icon, color }:
|
| 108 |
return (
|
| 109 |
-
<div className="bg-white/5 border border-white/10 rounded-
|
| 110 |
-
<div className={`absolute -
|
| 111 |
-
<div className="flex
|
| 112 |
-
<div className="text-
|
| 113 |
-
<
|
| 114 |
-
|
| 115 |
-
<p className="text-2xl font-bold">{value}</p>
|
| 116 |
-
</div>
|
| 117 |
</div>
|
| 118 |
</div>
|
| 119 |
);
|
| 120 |
}
|
| 121 |
|
| 122 |
-
function
|
| 123 |
return (
|
| 124 |
-
<
|
| 125 |
-
<
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
);
|
| 130 |
}
|
|
|
|
| 5 |
import { collection, onSnapshot, query, orderBy, limit } from "firebase/firestore";
|
| 6 |
import Link from "next/link";
|
| 7 |
|
| 8 |
+
import {
|
| 9 |
+
AreaChart,
|
| 10 |
+
Area,
|
| 11 |
+
XAxis,
|
| 12 |
+
YAxis,
|
| 13 |
+
CartesianGrid,
|
| 14 |
+
Tooltip,
|
| 15 |
+
ResponsiveContainer,
|
| 16 |
+
BarChart,
|
| 17 |
+
Bar,
|
| 18 |
+
Cell
|
| 19 |
+
} from 'recharts';
|
| 20 |
|
| 21 |
+
import {
|
| 22 |
+
Package,
|
| 23 |
+
Users,
|
| 24 |
+
ShoppingCart,
|
| 25 |
+
LayoutDashboard
|
| 26 |
+
} from 'lucide-react';
|
| 27 |
+
import { motion } from 'framer-motion';
|
| 28 |
|
| 29 |
+
const dummyData = [
|
| 30 |
+
{ name: 'Lun', sales: 4000, products: 2400 },
|
| 31 |
+
{ name: 'Mar', sales: 3000, products: 1398 },
|
| 32 |
+
{ name: 'Mie', sales: 2000, products: 9800 },
|
| 33 |
+
{ name: 'Jue', sales: 2780, products: 3908 },
|
| 34 |
+
{ name: 'Vie', sales: 1890, products: 4800 },
|
| 35 |
+
{ name: 'Sab', sales: 2390, products: 3800 },
|
| 36 |
+
{ name: 'Dom', sales: 3490, products: 4300 },
|
| 37 |
+
];
|
| 38 |
|
| 39 |
+
export default function Dashboard() {
|
| 40 |
+
const [stats, setStats] = useState({ products: 0, clients: 0, salesCount: 0, revenue: 0 });
|
| 41 |
+
|
| 42 |
+
useEffect(() => {
|
| 43 |
+
const unsubProducts = onSnapshot(collection(db, "products"), (snap) => setStats((p) => ({ ...p, products: snap.size })));
|
| 44 |
+
const unsubClients = onSnapshot(collection(db, "clients"), (snap) => setStats((p) => ({ ...p, clients: snap.size })));
|
| 45 |
const unsubSales = onSnapshot(collection(db, "sales"), (snap) => {
|
| 46 |
let rev = 0;
|
| 47 |
+
snap.forEach((doc) => rev += doc.data().total || 0);
|
| 48 |
+
setStats((p) => ({ ...p, salesCount: snap.size, revenue: rev }));
|
|
|
|
|
|
|
| 49 |
});
|
| 50 |
+
return () => { unsubProducts(); unsubClients(); unsubSales(); };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
}, []);
|
| 52 |
|
| 53 |
return (
|
| 54 |
+
<div className="min-h-screen bg-[#0f172a] text-white p-10">
|
| 55 |
+
<header className="flex justify-between items-center mb-16">
|
| 56 |
<div>
|
| 57 |
+
<h1 className="text-6xl font-black tracking-tighter italic bg-gradient-to-br from-white to-gray-500 bg-clip-text text-transparent">
|
| 58 |
+
ERP / NEXUS
|
| 59 |
</h1>
|
| 60 |
+
<p className="text-gray-500 font-bold mt-2 uppercase text-xs tracking-widest">Plataforma de Control Empresarial Inteligente</p>
|
| 61 |
</div>
|
| 62 |
+
<div className="flex border border-white/10 rounded-2xl p-2 backdrop-blur-md bg-white/5">
|
| 63 |
+
<div className="px-4 py-2 bg-blue-600 rounded-xl text-xs font-black uppercase">En Vivo</div>
|
| 64 |
+
<div className="px-4 py-2 text-xs font-bold text-gray-500">Global</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
</div>
|
| 66 |
</header>
|
| 67 |
|
| 68 |
+
{/* Stats Table */}
|
| 69 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-16">
|
| 70 |
+
<StatCard title="Inventario" value={stats.products} icon={<Package />} color="from-blue-600" />
|
| 71 |
+
<StatCard title="Staff Activo" value={stats.clients} icon={<Users />} color="from-purple-600" />
|
| 72 |
+
<StatCard title="Ventas Mes" value={stats.salesCount} icon={<ShoppingCart />} color="from-orange-600" />
|
| 73 |
+
<StatCard title="Ingresos" value={`$${stats.revenue.toLocaleString()}`} icon={<LayoutDashboard />} color="from-emerald-600" />
|
| 74 |
</div>
|
| 75 |
|
| 76 |
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
| 77 |
+
{/* Advanced Chart */}
|
| 78 |
+
<div className="lg:col-span-2 bg-white/5 border border-white/10 rounded-[3rem] p-10 h-[450px]">
|
| 79 |
+
<h2 className="text-xl font-black italic uppercase tracking-widest mb-10 text-gray-400">Rendimiento Mensual / <span className="text-white">Revenue</span></h2>
|
| 80 |
+
<ResponsiveContainer width="100%" height="70%">
|
| 81 |
+
<AreaChart data={dummyData}>
|
| 82 |
+
<defs>
|
| 83 |
+
<linearGradient id="colorSales" x1="0" y1="0" x2="0" y2="1">
|
| 84 |
+
<stop offset="5%" stopColor="#3b82f6" stopOpacity={0.3}/>
|
| 85 |
+
<stop offset="95%" stopColor="#3b82f6" stopOpacity={0}/>
|
| 86 |
+
</linearGradient>
|
| 87 |
+
</defs>
|
| 88 |
+
<Tooltip
|
| 89 |
+
contentStyle={{ backgroundColor: '#1e293b', border: 'none', borderRadius: '16px', fontSize: '12px' }}
|
| 90 |
+
itemStyle={{ color: '#fff' }}
|
| 91 |
+
/>
|
| 92 |
+
<Area type="monotone" dataKey="sales" stroke="#3b82f6" strokeWidth={4} fillOpacity={1} fill="url(#colorSales)" />
|
| 93 |
+
</AreaChart>
|
| 94 |
+
</ResponsiveContainer>
|
| 95 |
</div>
|
| 96 |
|
| 97 |
+
{/* Inventory Widget */}
|
| 98 |
+
<div className="bg-white/5 border border-white/10 rounded-[3rem] p-10 relative overflow-hidden group">
|
| 99 |
+
<div className="absolute top-0 right-0 p-8 text-6xl opacity-5 group-hover:opacity-10 transition-opacity font-black italic">DATA</div>
|
| 100 |
+
<h2 className="text-xl font-black italic uppercase tracking-widest mb-10 text-gray-400">Distribución / <span className="text-white">Stock</span></h2>
|
| 101 |
+
<div className="space-y-6">
|
| 102 |
+
<ProgressWidget label="Electrónicos" value={78} color="bg-blue-500" />
|
| 103 |
+
<ProgressWidget label="Mobiliario" value={45} color="bg-purple-500" />
|
| 104 |
+
<ProgressWidget label="Insumos" value={92} color="bg-emerald-500" />
|
| 105 |
+
<ProgressWidget label="Servicios" value={23} color="bg-orange-500" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
</div>
|
| 107 |
</div>
|
| 108 |
</div>
|
|
|
|
| 110 |
);
|
| 111 |
}
|
| 112 |
|
| 113 |
+
function StatCard({ title, value, icon, color }: any) {
|
| 114 |
return (
|
| 115 |
+
<div className="bg-white/5 border border-white/10 rounded-[2.5rem] p-8 backdrop-blur-xl relative group cursor-pointer hover:bg-white/10 transition-all">
|
| 116 |
+
<div className={`absolute top-0 left-0 w-full h-1 bg-gradient-to-r ${color} to-transparent opacity-0 group-hover:opacity-100 transition-opacity`}></div>
|
| 117 |
+
<div className="flex flex-col gap-4">
|
| 118 |
+
<div className="w-12 h-12 bg-white/10 rounded-2xl flex items-center justify-center text-blue-400">{icon}</div>
|
| 119 |
+
<p className="text-[10px] font-black uppercase tracking-[0.2em] text-gray-500">{title}</p>
|
| 120 |
+
<p className="text-4xl font-black italic tracking-tighter">{value}</p>
|
|
|
|
|
|
|
| 121 |
</div>
|
| 122 |
</div>
|
| 123 |
);
|
| 124 |
}
|
| 125 |
|
| 126 |
+
function ProgressWidget({ label, value, color }: any) {
|
| 127 |
return (
|
| 128 |
+
<div className="space-y-2">
|
| 129 |
+
<div className="flex justify-between text-[10px] font-black uppercase tracking-widest">
|
| 130 |
+
<span>{label}</span>
|
| 131 |
+
<span className="text-gray-500">{value}%</span>
|
| 132 |
+
</div>
|
| 133 |
+
<div className="w-full h-1.5 bg-white/5 rounded-full overflow-hidden">
|
| 134 |
+
<motion.div
|
| 135 |
+
initial={{ width: 0 }}
|
| 136 |
+
animate={{ width: `${value}%` }}
|
| 137 |
+
className={`h-full ${color}`}
|
| 138 |
+
/>
|
| 139 |
+
</div>
|
| 140 |
+
</div>
|
| 141 |
);
|
| 142 |
}
|
app/tasks/page.tsx
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import React, { useState, useEffect } from "react";
|
| 4 |
+
import { db } from "@/lib/firebase";
|
| 5 |
+
import { collection, onSnapshot, addDoc, updateDoc, deleteDoc, doc, query, orderBy } from "firebase/firestore";
|
| 6 |
+
import { motion, AnimatePresence } from "framer-motion";
|
| 7 |
+
import { Plus, Trash2, CheckCircle2, Circle, Clock } from "lucide-react";
|
| 8 |
+
|
| 9 |
+
interface Task {
|
| 10 |
+
id: string;
|
| 11 |
+
title: string;
|
| 12 |
+
status: "todo" | "doing" | "done";
|
| 13 |
+
priority: "low" | "medium" | "high";
|
| 14 |
+
}
|
| 15 |
+
|
| 16 |
+
export default function TasksPage() {
|
| 17 |
+
const [tasks, setTasks] = useState<Task[]>([]);
|
| 18 |
+
const [newTask, setNewTask] = useState("");
|
| 19 |
+
|
| 20 |
+
useEffect(() => {
|
| 21 |
+
const unsub = onSnapshot(collection(db, "tasks"), (snap) => {
|
| 22 |
+
setTasks(snap.docs.map(doc => ({ id: doc.id, ...doc.data() } as Task)));
|
| 23 |
+
});
|
| 24 |
+
return () => unsub();
|
| 25 |
+
}, []);
|
| 26 |
+
|
| 27 |
+
const addTask = async (e: React.FormEvent) => {
|
| 28 |
+
e.preventDefault();
|
| 29 |
+
if (!newTask.trim()) return;
|
| 30 |
+
await addDoc(collection(db, "tasks"), {
|
| 31 |
+
title: newTask,
|
| 32 |
+
status: "todo",
|
| 33 |
+
priority: "medium",
|
| 34 |
+
createdAt: new Date()
|
| 35 |
+
});
|
| 36 |
+
setNewTask("");
|
| 37 |
+
};
|
| 38 |
+
|
| 39 |
+
const toggleStatus = async (task: Task) => {
|
| 40 |
+
const nextStatus = task.status === "todo" ? "doing" : task.status === "doing" ? "done" : "todo";
|
| 41 |
+
await updateDoc(doc(db, "tasks", task.id), { status: nextStatus });
|
| 42 |
+
};
|
| 43 |
+
|
| 44 |
+
return (
|
| 45 |
+
<div className="p-10 max-w-6xl mx-auto">
|
| 46 |
+
<header className="mb-12">
|
| 47 |
+
<h1 className="text-5xl font-black italic tracking-tighter mb-2">TASKS / SYSTEM</h1>
|
| 48 |
+
<p className="text-gray-500 font-medium">Gestión de flujo de trabajo corporativo</p>
|
| 49 |
+
</header>
|
| 50 |
+
|
| 51 |
+
<form onSubmit={addTask} className="mb-12 relative group">
|
| 52 |
+
<input
|
| 53 |
+
type="text"
|
| 54 |
+
placeholder="Escribe una nueva tarea y pulsa Enter..."
|
| 55 |
+
value={newTask}
|
| 56 |
+
onChange={(e) => setNewTask(e.target.value)}
|
| 57 |
+
className="w-full bg-white/5 border border-white/10 rounded-3xl px-8 py-6 outline-none focus:border-blue-500/40 transition-all text-xl font-medium placeholder:text-gray-700 backdrop-blur-md"
|
| 58 |
+
/>
|
| 59 |
+
<button type="submit" className="absolute right-4 top-1/2 -translate-y-1/2 p-3 bg-blue-600 rounded-2xl hover:bg-blue-500 transition-all">
|
| 60 |
+
<Plus size={24} />
|
| 61 |
+
</button>
|
| 62 |
+
</form>
|
| 63 |
+
|
| 64 |
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
| 65 |
+
<TaskColumn title="Pendientes" status="todo" tasks={tasks.filter(t => t.status === "todo")} onToggle={toggleStatus} />
|
| 66 |
+
<TaskColumn title="En Proceso" status="doing" tasks={tasks.filter(t => t.status === "doing")} onToggle={toggleStatus} />
|
| 67 |
+
<TaskColumn title="Completadas" status="done" tasks={tasks.filter(t => t.status === "done")} onToggle={toggleStatus} />
|
| 68 |
+
</div>
|
| 69 |
+
</div>
|
| 70 |
+
);
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
function TaskColumn({ title, status, tasks, onToggle }: { title: string, status: string, tasks: Task[], onToggle: (t: Task) => void }) {
|
| 74 |
+
return (
|
| 75 |
+
<div className="space-y-6">
|
| 76 |
+
<div className="flex items-center justify-between px-4">
|
| 77 |
+
<h2 className="text-xs font-black uppercase tracking-[0.2em] text-gray-500">{title}</h2>
|
| 78 |
+
<span className="text-xs font-mono bg-white/10 px-2 py-1 rounded-md">{tasks.length}</span>
|
| 79 |
+
</div>
|
| 80 |
+
|
| 81 |
+
<div className="space-y-4">
|
| 82 |
+
<AnimatePresence mode="popLayout">
|
| 83 |
+
{tasks.map((task) => (
|
| 84 |
+
<motion.div
|
| 85 |
+
key={task.id}
|
| 86 |
+
layout
|
| 87 |
+
initial={{ scale: 0.8, opacity: 0 }}
|
| 88 |
+
animate={{ scale: 1, opacity: 1 }}
|
| 89 |
+
exit={{ scale: 0.8, opacity: 0 }}
|
| 90 |
+
className="bg-white/5 border border-white/5 rounded-2xl p-5 hover:bg-white/10 hover:border-white/20 transition-all cursor-pointer group"
|
| 91 |
+
onClick={() => onToggle(task)}
|
| 92 |
+
>
|
| 93 |
+
<div className="flex items-start gap-4">
|
| 94 |
+
<div className="mt-1">
|
| 95 |
+
{status === "done" ? <CheckCircle2 className="text-green-400" size={18} /> :
|
| 96 |
+
status === "doing" ? <Clock className="text-orange-400" size={18} /> :
|
| 97 |
+
<Circle className="text-gray-600" size={18} />}
|
| 98 |
+
</div>
|
| 99 |
+
<div className="flex-1">
|
| 100 |
+
<p className={`font-semibold text-sm ${status === "done" ? 'line-through text-gray-600' : 'text-gray-200'}`}>
|
| 101 |
+
{task.title}
|
| 102 |
+
</p>
|
| 103 |
+
<div className="flex gap-2 mt-3">
|
| 104 |
+
<span className={`text-[8px] font-black uppercase px-2 py-0.5 rounded-full border ${
|
| 105 |
+
task.priority === 'high' ? 'border-red-500/40 text-red-400 bg-red-500/10' :
|
| 106 |
+
task.priority === 'medium' ? 'border-orange-500/40 text-orange-400 bg-orange-500/10' :
|
| 107 |
+
'border-gray-500/40 text-gray-400 bg-gray-500/10'
|
| 108 |
+
}`}>
|
| 109 |
+
{task.priority || 'medium'}
|
| 110 |
+
</span>
|
| 111 |
+
</div>
|
| 112 |
+
</div>
|
| 113 |
+
<button
|
| 114 |
+
onClick={(e) => { e.stopPropagation(); deleteDoc(doc(db, "tasks", task.id)); }}
|
| 115 |
+
className="opacity-0 group-hover:opacity-100 p-2 hover:bg-red-500/20 text-red-400 rounded-lg transition-all"
|
| 116 |
+
>
|
| 117 |
+
<Trash2 size={14} />
|
| 118 |
+
</button>
|
| 119 |
+
</div>
|
| 120 |
+
</motion.div>
|
| 121 |
+
))}
|
| 122 |
+
</AnimatePresence>
|
| 123 |
+
</div>
|
| 124 |
+
</div>
|
| 125 |
+
);
|
| 126 |
+
}
|
components/Sidebar.tsx
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
import React from "react";
|
| 4 |
+
import Link from "next/link";
|
| 5 |
+
import { usePathname } from "next/navigation";
|
| 6 |
+
import {
|
| 7 |
+
LayoutDashboard,
|
| 8 |
+
Package,
|
| 9 |
+
Users,
|
| 10 |
+
UserSquare2,
|
| 11 |
+
ShoppingCart,
|
| 12 |
+
CheckSquare,
|
| 13 |
+
Network,
|
| 14 |
+
MessageSquare,
|
| 15 |
+
Map as MapIcon,
|
| 16 |
+
LogOut
|
| 17 |
+
} from "lucide-react";
|
| 18 |
+
import { motion } from "framer-motion";
|
| 19 |
+
import { auth } from "@/lib/firebase";
|
| 20 |
+
|
| 21 |
+
const menuItems = [
|
| 22 |
+
{ icon: LayoutDashboard, label: "Dashboard", href: "/" },
|
| 23 |
+
{ icon: Package, label: "Inventario", href: "/inventory" },
|
| 24 |
+
{ icon: ShoppingCart, label: "Ventas", href: "/sales" },
|
| 25 |
+
{ icon: Users, label: "Clientes", href: "/clients" },
|
| 26 |
+
{ icon: UserSquare2, label: "Personal / RRHH", href: "/hr" },
|
| 27 |
+
{ icon: CheckSquare, label: "Tareas", href: "/tasks" },
|
| 28 |
+
{ icon: Network, label: "Organigrama", href: "/org-chart" },
|
| 29 |
+
{ icon: MessageSquare, label: "Intranet", href: "/intranet" },
|
| 30 |
+
{ icon: MapIcon, label: "Mapa Mental", href: "/mind-map" },
|
| 31 |
+
];
|
| 32 |
+
|
| 33 |
+
export default function Sidebar() {
|
| 34 |
+
const pathname = usePathname();
|
| 35 |
+
|
| 36 |
+
if (pathname === "/login") return null;
|
| 37 |
+
|
| 38 |
+
return (
|
| 39 |
+
<motion.aside
|
| 40 |
+
initial={{ x: -100, opacity: 0 }}
|
| 41 |
+
animate={{ x: 0, opacity: 1 }}
|
| 42 |
+
className="fixed left-6 top-6 bottom-6 w-64 bg-white/5 border border-white/10 rounded-[40px] backdrop-blur-3xl z-40 p-8 flex flex-col shadow-2xl overflow-hidden"
|
| 43 |
+
>
|
| 44 |
+
<div className="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-blue-500 to-indigo-500"></div>
|
| 45 |
+
|
| 46 |
+
<div className="mb-10 flex items-center gap-3">
|
| 47 |
+
<div className="w-10 h-10 bg-gradient-to-br from-blue-600 to-indigo-600 rounded-2xl flex items-center justify-center shadow-lg shadow-blue-900/40 font-black text-xl">E</div>
|
| 48 |
+
<span className="font-black text-xl tracking-tighter uppercase italic">Premium ERP</span>
|
| 49 |
+
</div>
|
| 50 |
+
|
| 51 |
+
<nav className="flex-1 space-y-2 overflow-y-auto no-scrollbar">
|
| 52 |
+
{menuItems.map((item) => {
|
| 53 |
+
const isActive = pathname === item.href;
|
| 54 |
+
return (
|
| 55 |
+
<Link key={item.href} href={item.href}>
|
| 56 |
+
<div className={`
|
| 57 |
+
flex items-center gap-4 px-4 py-3 rounded-2xl transition-all group relative overflow-hidden
|
| 58 |
+
${isActive ? 'bg-white/10 text-blue-400' : 'text-gray-400 hover:bg-white/5 hover:text-white'}
|
| 59 |
+
`}>
|
| 60 |
+
{isActive && (
|
| 61 |
+
<motion.div
|
| 62 |
+
layoutId="active-pill"
|
| 63 |
+
className="absolute inset-0 bg-blue-500/10 border border-blue-500/20 rounded-2xl"
|
| 64 |
+
/>
|
| 65 |
+
)}
|
| 66 |
+
<item.icon size={20} className={`relative z-10 ${isActive ? 'text-blue-400' : 'group-hover:scale-110 transition-transform'}`} />
|
| 67 |
+
<span className="font-semibold text-sm relative z-10">{item.label}</span>
|
| 68 |
+
</div>
|
| 69 |
+
</Link>
|
| 70 |
+
);
|
| 71 |
+
})}
|
| 72 |
+
</nav>
|
| 73 |
+
|
| 74 |
+
<div className="mt-8 pt-6 border-t border-white/5">
|
| 75 |
+
<button
|
| 76 |
+
onClick={() => auth.signOut()}
|
| 77 |
+
className="flex items-center gap-4 px-4 py-3 w-full text-red-400 hover:bg-red-500/10 rounded-2xl transition-all group"
|
| 78 |
+
>
|
| 79 |
+
<LogOut size={20} className="group-hover:-translate-x-1 transition-transform" />
|
| 80 |
+
<span className="font-bold text-sm">Cerrar Sesión</span>
|
| 81 |
+
</button>
|
| 82 |
+
</div>
|
| 83 |
+
</motion.aside>
|
| 84 |
+
);
|
| 85 |
+
}
|
package-lock.json
CHANGED
|
@@ -9,9 +9,12 @@
|
|
| 9 |
"version": "0.1.0",
|
| 10 |
"dependencies": {
|
| 11 |
"firebase": "^12.11.0",
|
| 12 |
-
"
|
| 13 |
-
"react": "
|
| 14 |
-
"
|
|
|
|
|
|
|
|
|
|
| 15 |
},
|
| 16 |
"devDependencies": {
|
| 17 |
"@tailwindcss/postcss": "^4",
|
|
@@ -19,7 +22,7 @@
|
|
| 19 |
"@types/react": "^19",
|
| 20 |
"@types/react-dom": "^19",
|
| 21 |
"eslint": "^9",
|
| 22 |
-
"eslint-config-next": "
|
| 23 |
"tailwindcss": "^4",
|
| 24 |
"typescript": "^5"
|
| 25 |
}
|
|
@@ -37,246 +40,6 @@
|
|
| 37 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 38 |
}
|
| 39 |
},
|
| 40 |
-
"node_modules/@babel/code-frame": {
|
| 41 |
-
"version": "7.29.0",
|
| 42 |
-
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
|
| 43 |
-
"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
|
| 44 |
-
"dev": true,
|
| 45 |
-
"license": "MIT",
|
| 46 |
-
"dependencies": {
|
| 47 |
-
"@babel/helper-validator-identifier": "^7.28.5",
|
| 48 |
-
"js-tokens": "^4.0.0",
|
| 49 |
-
"picocolors": "^1.1.1"
|
| 50 |
-
},
|
| 51 |
-
"engines": {
|
| 52 |
-
"node": ">=6.9.0"
|
| 53 |
-
}
|
| 54 |
-
},
|
| 55 |
-
"node_modules/@babel/compat-data": {
|
| 56 |
-
"version": "7.29.0",
|
| 57 |
-
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
|
| 58 |
-
"integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
|
| 59 |
-
"dev": true,
|
| 60 |
-
"license": "MIT",
|
| 61 |
-
"engines": {
|
| 62 |
-
"node": ">=6.9.0"
|
| 63 |
-
}
|
| 64 |
-
},
|
| 65 |
-
"node_modules/@babel/core": {
|
| 66 |
-
"version": "7.29.0",
|
| 67 |
-
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
|
| 68 |
-
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
|
| 69 |
-
"dev": true,
|
| 70 |
-
"license": "MIT",
|
| 71 |
-
"dependencies": {
|
| 72 |
-
"@babel/code-frame": "^7.29.0",
|
| 73 |
-
"@babel/generator": "^7.29.0",
|
| 74 |
-
"@babel/helper-compilation-targets": "^7.28.6",
|
| 75 |
-
"@babel/helper-module-transforms": "^7.28.6",
|
| 76 |
-
"@babel/helpers": "^7.28.6",
|
| 77 |
-
"@babel/parser": "^7.29.0",
|
| 78 |
-
"@babel/template": "^7.28.6",
|
| 79 |
-
"@babel/traverse": "^7.29.0",
|
| 80 |
-
"@babel/types": "^7.29.0",
|
| 81 |
-
"@jridgewell/remapping": "^2.3.5",
|
| 82 |
-
"convert-source-map": "^2.0.0",
|
| 83 |
-
"debug": "^4.1.0",
|
| 84 |
-
"gensync": "^1.0.0-beta.2",
|
| 85 |
-
"json5": "^2.2.3",
|
| 86 |
-
"semver": "^6.3.1"
|
| 87 |
-
},
|
| 88 |
-
"engines": {
|
| 89 |
-
"node": ">=6.9.0"
|
| 90 |
-
},
|
| 91 |
-
"funding": {
|
| 92 |
-
"type": "opencollective",
|
| 93 |
-
"url": "https://opencollective.com/babel"
|
| 94 |
-
}
|
| 95 |
-
},
|
| 96 |
-
"node_modules/@babel/generator": {
|
| 97 |
-
"version": "7.29.1",
|
| 98 |
-
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
|
| 99 |
-
"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
|
| 100 |
-
"dev": true,
|
| 101 |
-
"license": "MIT",
|
| 102 |
-
"dependencies": {
|
| 103 |
-
"@babel/parser": "^7.29.0",
|
| 104 |
-
"@babel/types": "^7.29.0",
|
| 105 |
-
"@jridgewell/gen-mapping": "^0.3.12",
|
| 106 |
-
"@jridgewell/trace-mapping": "^0.3.28",
|
| 107 |
-
"jsesc": "^3.0.2"
|
| 108 |
-
},
|
| 109 |
-
"engines": {
|
| 110 |
-
"node": ">=6.9.0"
|
| 111 |
-
}
|
| 112 |
-
},
|
| 113 |
-
"node_modules/@babel/helper-compilation-targets": {
|
| 114 |
-
"version": "7.28.6",
|
| 115 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
|
| 116 |
-
"integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
|
| 117 |
-
"dev": true,
|
| 118 |
-
"license": "MIT",
|
| 119 |
-
"dependencies": {
|
| 120 |
-
"@babel/compat-data": "^7.28.6",
|
| 121 |
-
"@babel/helper-validator-option": "^7.27.1",
|
| 122 |
-
"browserslist": "^4.24.0",
|
| 123 |
-
"lru-cache": "^5.1.1",
|
| 124 |
-
"semver": "^6.3.1"
|
| 125 |
-
},
|
| 126 |
-
"engines": {
|
| 127 |
-
"node": ">=6.9.0"
|
| 128 |
-
}
|
| 129 |
-
},
|
| 130 |
-
"node_modules/@babel/helper-globals": {
|
| 131 |
-
"version": "7.28.0",
|
| 132 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
|
| 133 |
-
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
|
| 134 |
-
"dev": true,
|
| 135 |
-
"license": "MIT",
|
| 136 |
-
"engines": {
|
| 137 |
-
"node": ">=6.9.0"
|
| 138 |
-
}
|
| 139 |
-
},
|
| 140 |
-
"node_modules/@babel/helper-module-imports": {
|
| 141 |
-
"version": "7.28.6",
|
| 142 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
|
| 143 |
-
"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
|
| 144 |
-
"dev": true,
|
| 145 |
-
"license": "MIT",
|
| 146 |
-
"dependencies": {
|
| 147 |
-
"@babel/traverse": "^7.28.6",
|
| 148 |
-
"@babel/types": "^7.28.6"
|
| 149 |
-
},
|
| 150 |
-
"engines": {
|
| 151 |
-
"node": ">=6.9.0"
|
| 152 |
-
}
|
| 153 |
-
},
|
| 154 |
-
"node_modules/@babel/helper-module-transforms": {
|
| 155 |
-
"version": "7.28.6",
|
| 156 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
|
| 157 |
-
"integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
|
| 158 |
-
"dev": true,
|
| 159 |
-
"license": "MIT",
|
| 160 |
-
"dependencies": {
|
| 161 |
-
"@babel/helper-module-imports": "^7.28.6",
|
| 162 |
-
"@babel/helper-validator-identifier": "^7.28.5",
|
| 163 |
-
"@babel/traverse": "^7.28.6"
|
| 164 |
-
},
|
| 165 |
-
"engines": {
|
| 166 |
-
"node": ">=6.9.0"
|
| 167 |
-
},
|
| 168 |
-
"peerDependencies": {
|
| 169 |
-
"@babel/core": "^7.0.0"
|
| 170 |
-
}
|
| 171 |
-
},
|
| 172 |
-
"node_modules/@babel/helper-string-parser": {
|
| 173 |
-
"version": "7.27.1",
|
| 174 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
| 175 |
-
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
| 176 |
-
"dev": true,
|
| 177 |
-
"license": "MIT",
|
| 178 |
-
"engines": {
|
| 179 |
-
"node": ">=6.9.0"
|
| 180 |
-
}
|
| 181 |
-
},
|
| 182 |
-
"node_modules/@babel/helper-validator-identifier": {
|
| 183 |
-
"version": "7.28.5",
|
| 184 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
|
| 185 |
-
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
|
| 186 |
-
"dev": true,
|
| 187 |
-
"license": "MIT",
|
| 188 |
-
"engines": {
|
| 189 |
-
"node": ">=6.9.0"
|
| 190 |
-
}
|
| 191 |
-
},
|
| 192 |
-
"node_modules/@babel/helper-validator-option": {
|
| 193 |
-
"version": "7.27.1",
|
| 194 |
-
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
|
| 195 |
-
"integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
|
| 196 |
-
"dev": true,
|
| 197 |
-
"license": "MIT",
|
| 198 |
-
"engines": {
|
| 199 |
-
"node": ">=6.9.0"
|
| 200 |
-
}
|
| 201 |
-
},
|
| 202 |
-
"node_modules/@babel/helpers": {
|
| 203 |
-
"version": "7.29.2",
|
| 204 |
-
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz",
|
| 205 |
-
"integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==",
|
| 206 |
-
"dev": true,
|
| 207 |
-
"license": "MIT",
|
| 208 |
-
"dependencies": {
|
| 209 |
-
"@babel/template": "^7.28.6",
|
| 210 |
-
"@babel/types": "^7.29.0"
|
| 211 |
-
},
|
| 212 |
-
"engines": {
|
| 213 |
-
"node": ">=6.9.0"
|
| 214 |
-
}
|
| 215 |
-
},
|
| 216 |
-
"node_modules/@babel/parser": {
|
| 217 |
-
"version": "7.29.2",
|
| 218 |
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
|
| 219 |
-
"integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
|
| 220 |
-
"dev": true,
|
| 221 |
-
"license": "MIT",
|
| 222 |
-
"dependencies": {
|
| 223 |
-
"@babel/types": "^7.29.0"
|
| 224 |
-
},
|
| 225 |
-
"bin": {
|
| 226 |
-
"parser": "bin/babel-parser.js"
|
| 227 |
-
},
|
| 228 |
-
"engines": {
|
| 229 |
-
"node": ">=6.0.0"
|
| 230 |
-
}
|
| 231 |
-
},
|
| 232 |
-
"node_modules/@babel/template": {
|
| 233 |
-
"version": "7.28.6",
|
| 234 |
-
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
|
| 235 |
-
"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
|
| 236 |
-
"dev": true,
|
| 237 |
-
"license": "MIT",
|
| 238 |
-
"dependencies": {
|
| 239 |
-
"@babel/code-frame": "^7.28.6",
|
| 240 |
-
"@babel/parser": "^7.28.6",
|
| 241 |
-
"@babel/types": "^7.28.6"
|
| 242 |
-
},
|
| 243 |
-
"engines": {
|
| 244 |
-
"node": ">=6.9.0"
|
| 245 |
-
}
|
| 246 |
-
},
|
| 247 |
-
"node_modules/@babel/traverse": {
|
| 248 |
-
"version": "7.29.0",
|
| 249 |
-
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
|
| 250 |
-
"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
|
| 251 |
-
"dev": true,
|
| 252 |
-
"license": "MIT",
|
| 253 |
-
"dependencies": {
|
| 254 |
-
"@babel/code-frame": "^7.29.0",
|
| 255 |
-
"@babel/generator": "^7.29.0",
|
| 256 |
-
"@babel/helper-globals": "^7.28.0",
|
| 257 |
-
"@babel/parser": "^7.29.0",
|
| 258 |
-
"@babel/template": "^7.28.6",
|
| 259 |
-
"@babel/types": "^7.29.0",
|
| 260 |
-
"debug": "^4.3.1"
|
| 261 |
-
},
|
| 262 |
-
"engines": {
|
| 263 |
-
"node": ">=6.9.0"
|
| 264 |
-
}
|
| 265 |
-
},
|
| 266 |
-
"node_modules/@babel/types": {
|
| 267 |
-
"version": "7.29.0",
|
| 268 |
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
|
| 269 |
-
"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
|
| 270 |
-
"dev": true,
|
| 271 |
-
"license": "MIT",
|
| 272 |
-
"dependencies": {
|
| 273 |
-
"@babel/helper-string-parser": "^7.27.1",
|
| 274 |
-
"@babel/helper-validator-identifier": "^7.28.5"
|
| 275 |
-
},
|
| 276 |
-
"engines": {
|
| 277 |
-
"node": ">=6.9.0"
|
| 278 |
-
}
|
| 279 |
-
},
|
| 280 |
"node_modules/@emnapi/core": {
|
| 281 |
"version": "1.9.1",
|
| 282 |
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz",
|
|
@@ -600,14 +363,15 @@
|
|
| 600 |
"integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==",
|
| 601 |
"license": "Apache-2.0"
|
| 602 |
},
|
| 603 |
-
"node_modules/@firebase/auth": {
|
| 604 |
-
"version": "
|
| 605 |
-
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-
|
| 606 |
-
"integrity": "sha512-
|
| 607 |
"license": "Apache-2.0",
|
| 608 |
"dependencies": {
|
|
|
|
|
|
|
| 609 |
"@firebase/component": "0.7.2",
|
| 610 |
-
"@firebase/logger": "0.5.0",
|
| 611 |
"@firebase/util": "1.15.0",
|
| 612 |
"tslib": "^2.1.0"
|
| 613 |
},
|
|
@@ -615,24 +379,17 @@
|
|
| 615 |
"node": ">=20.0.0"
|
| 616 |
},
|
| 617 |
"peerDependencies": {
|
| 618 |
-
"@firebase/app": "0.x"
|
| 619 |
-
"@react-native-async-storage/async-storage": "^2.2.0"
|
| 620 |
-
},
|
| 621 |
-
"peerDependenciesMeta": {
|
| 622 |
-
"@react-native-async-storage/async-storage": {
|
| 623 |
-
"optional": true
|
| 624 |
-
}
|
| 625 |
}
|
| 626 |
},
|
| 627 |
-
"node_modules/@firebase/auth-compat": {
|
| 628 |
-
"version": "
|
| 629 |
-
"resolved": "https://registry.npmjs.org/@firebase/auth
|
| 630 |
-
"integrity": "sha512-
|
| 631 |
"license": "Apache-2.0",
|
| 632 |
"dependencies": {
|
| 633 |
-
"@firebase/auth": "1.12.2",
|
| 634 |
-
"@firebase/auth-types": "0.13.0",
|
| 635 |
"@firebase/component": "0.7.2",
|
|
|
|
| 636 |
"@firebase/util": "1.15.0",
|
| 637 |
"tslib": "^2.1.0"
|
| 638 |
},
|
|
@@ -640,7 +397,13 @@
|
|
| 640 |
"node": ">=20.0.0"
|
| 641 |
},
|
| 642 |
"peerDependencies": {
|
| 643 |
-
"@firebase/app
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 644 |
}
|
| 645 |
},
|
| 646 |
"node_modules/@firebase/auth-interop-types": {
|
|
@@ -1145,20 +908,10 @@
|
|
| 1145 |
"url": "https://github.com/sponsors/nzakas"
|
| 1146 |
}
|
| 1147 |
},
|
| 1148 |
-
"node_modules/@img/colour": {
|
| 1149 |
-
"version": "1.1.0",
|
| 1150 |
-
"resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz",
|
| 1151 |
-
"integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==",
|
| 1152 |
-
"license": "MIT",
|
| 1153 |
-
"optional": true,
|
| 1154 |
-
"engines": {
|
| 1155 |
-
"node": ">=18"
|
| 1156 |
-
}
|
| 1157 |
-
},
|
| 1158 |
"node_modules/@img/sharp-darwin-arm64": {
|
| 1159 |
-
"version": "0.
|
| 1160 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.
|
| 1161 |
-
"integrity": "sha512-
|
| 1162 |
"cpu": [
|
| 1163 |
"arm64"
|
| 1164 |
],
|
|
@@ -1174,13 +927,13 @@
|
|
| 1174 |
"url": "https://opencollective.com/libvips"
|
| 1175 |
},
|
| 1176 |
"optionalDependencies": {
|
| 1177 |
-
"@img/sharp-libvips-darwin-arm64": "1.
|
| 1178 |
}
|
| 1179 |
},
|
| 1180 |
"node_modules/@img/sharp-darwin-x64": {
|
| 1181 |
-
"version": "0.
|
| 1182 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.
|
| 1183 |
-
"integrity": "sha512-
|
| 1184 |
"cpu": [
|
| 1185 |
"x64"
|
| 1186 |
],
|
|
@@ -1196,13 +949,13 @@
|
|
| 1196 |
"url": "https://opencollective.com/libvips"
|
| 1197 |
},
|
| 1198 |
"optionalDependencies": {
|
| 1199 |
-
"@img/sharp-libvips-darwin-x64": "1.
|
| 1200 |
}
|
| 1201 |
},
|
| 1202 |
"node_modules/@img/sharp-libvips-darwin-arm64": {
|
| 1203 |
-
"version": "1.
|
| 1204 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.
|
| 1205 |
-
"integrity": "sha512-
|
| 1206 |
"cpu": [
|
| 1207 |
"arm64"
|
| 1208 |
],
|
|
@@ -1216,9 +969,9 @@
|
|
| 1216 |
}
|
| 1217 |
},
|
| 1218 |
"node_modules/@img/sharp-libvips-darwin-x64": {
|
| 1219 |
-
"version": "1.
|
| 1220 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.
|
| 1221 |
-
"integrity": "sha512-
|
| 1222 |
"cpu": [
|
| 1223 |
"x64"
|
| 1224 |
],
|
|
@@ -1232,9 +985,9 @@
|
|
| 1232 |
}
|
| 1233 |
},
|
| 1234 |
"node_modules/@img/sharp-libvips-linux-arm": {
|
| 1235 |
-
"version": "1.
|
| 1236 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.
|
| 1237 |
-
"integrity": "sha512-
|
| 1238 |
"cpu": [
|
| 1239 |
"arm"
|
| 1240 |
],
|
|
@@ -1248,9 +1001,9 @@
|
|
| 1248 |
}
|
| 1249 |
},
|
| 1250 |
"node_modules/@img/sharp-libvips-linux-arm64": {
|
| 1251 |
-
"version": "1.
|
| 1252 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.
|
| 1253 |
-
"integrity": "sha512-
|
| 1254 |
"cpu": [
|
| 1255 |
"arm64"
|
| 1256 |
],
|
|
@@ -1263,42 +1016,10 @@
|
|
| 1263 |
"url": "https://opencollective.com/libvips"
|
| 1264 |
}
|
| 1265 |
},
|
| 1266 |
-
"node_modules/@img/sharp-libvips-linux-ppc64": {
|
| 1267 |
-
"version": "1.2.4",
|
| 1268 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
|
| 1269 |
-
"integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
|
| 1270 |
-
"cpu": [
|
| 1271 |
-
"ppc64"
|
| 1272 |
-
],
|
| 1273 |
-
"license": "LGPL-3.0-or-later",
|
| 1274 |
-
"optional": true,
|
| 1275 |
-
"os": [
|
| 1276 |
-
"linux"
|
| 1277 |
-
],
|
| 1278 |
-
"funding": {
|
| 1279 |
-
"url": "https://opencollective.com/libvips"
|
| 1280 |
-
}
|
| 1281 |
-
},
|
| 1282 |
-
"node_modules/@img/sharp-libvips-linux-riscv64": {
|
| 1283 |
-
"version": "1.2.4",
|
| 1284 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
|
| 1285 |
-
"integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
|
| 1286 |
-
"cpu": [
|
| 1287 |
-
"riscv64"
|
| 1288 |
-
],
|
| 1289 |
-
"license": "LGPL-3.0-or-later",
|
| 1290 |
-
"optional": true,
|
| 1291 |
-
"os": [
|
| 1292 |
-
"linux"
|
| 1293 |
-
],
|
| 1294 |
-
"funding": {
|
| 1295 |
-
"url": "https://opencollective.com/libvips"
|
| 1296 |
-
}
|
| 1297 |
-
},
|
| 1298 |
"node_modules/@img/sharp-libvips-linux-s390x": {
|
| 1299 |
-
"version": "1.
|
| 1300 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.
|
| 1301 |
-
"integrity": "sha512-
|
| 1302 |
"cpu": [
|
| 1303 |
"s390x"
|
| 1304 |
],
|
|
@@ -1312,9 +1033,9 @@
|
|
| 1312 |
}
|
| 1313 |
},
|
| 1314 |
"node_modules/@img/sharp-libvips-linux-x64": {
|
| 1315 |
-
"version": "1.
|
| 1316 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.
|
| 1317 |
-
"integrity": "sha512-
|
| 1318 |
"cpu": [
|
| 1319 |
"x64"
|
| 1320 |
],
|
|
@@ -1328,9 +1049,9 @@
|
|
| 1328 |
}
|
| 1329 |
},
|
| 1330 |
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
| 1331 |
-
"version": "1.
|
| 1332 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.
|
| 1333 |
-
"integrity": "sha512-
|
| 1334 |
"cpu": [
|
| 1335 |
"arm64"
|
| 1336 |
],
|
|
@@ -1344,9 +1065,9 @@
|
|
| 1344 |
}
|
| 1345 |
},
|
| 1346 |
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
| 1347 |
-
"version": "1.
|
| 1348 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.
|
| 1349 |
-
"integrity": "sha512-+
|
| 1350 |
"cpu": [
|
| 1351 |
"x64"
|
| 1352 |
],
|
|
@@ -1360,9 +1081,9 @@
|
|
| 1360 |
}
|
| 1361 |
},
|
| 1362 |
"node_modules/@img/sharp-linux-arm": {
|
| 1363 |
-
"version": "0.
|
| 1364 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.
|
| 1365 |
-
"integrity": "sha512-
|
| 1366 |
"cpu": [
|
| 1367 |
"arm"
|
| 1368 |
],
|
|
@@ -1378,13 +1099,13 @@
|
|
| 1378 |
"url": "https://opencollective.com/libvips"
|
| 1379 |
},
|
| 1380 |
"optionalDependencies": {
|
| 1381 |
-
"@img/sharp-libvips-linux-arm": "1.
|
| 1382 |
}
|
| 1383 |
},
|
| 1384 |
"node_modules/@img/sharp-linux-arm64": {
|
| 1385 |
-
"version": "0.
|
| 1386 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.
|
| 1387 |
-
"integrity": "sha512-
|
| 1388 |
"cpu": [
|
| 1389 |
"arm64"
|
| 1390 |
],
|
|
@@ -1400,57 +1121,13 @@
|
|
| 1400 |
"url": "https://opencollective.com/libvips"
|
| 1401 |
},
|
| 1402 |
"optionalDependencies": {
|
| 1403 |
-
"@img/sharp-libvips-linux-arm64": "1.
|
| 1404 |
-
}
|
| 1405 |
-
},
|
| 1406 |
-
"node_modules/@img/sharp-linux-ppc64": {
|
| 1407 |
-
"version": "0.34.5",
|
| 1408 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
|
| 1409 |
-
"integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
|
| 1410 |
-
"cpu": [
|
| 1411 |
-
"ppc64"
|
| 1412 |
-
],
|
| 1413 |
-
"license": "Apache-2.0",
|
| 1414 |
-
"optional": true,
|
| 1415 |
-
"os": [
|
| 1416 |
-
"linux"
|
| 1417 |
-
],
|
| 1418 |
-
"engines": {
|
| 1419 |
-
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
| 1420 |
-
},
|
| 1421 |
-
"funding": {
|
| 1422 |
-
"url": "https://opencollective.com/libvips"
|
| 1423 |
-
},
|
| 1424 |
-
"optionalDependencies": {
|
| 1425 |
-
"@img/sharp-libvips-linux-ppc64": "1.2.4"
|
| 1426 |
-
}
|
| 1427 |
-
},
|
| 1428 |
-
"node_modules/@img/sharp-linux-riscv64": {
|
| 1429 |
-
"version": "0.34.5",
|
| 1430 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
|
| 1431 |
-
"integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
|
| 1432 |
-
"cpu": [
|
| 1433 |
-
"riscv64"
|
| 1434 |
-
],
|
| 1435 |
-
"license": "Apache-2.0",
|
| 1436 |
-
"optional": true,
|
| 1437 |
-
"os": [
|
| 1438 |
-
"linux"
|
| 1439 |
-
],
|
| 1440 |
-
"engines": {
|
| 1441 |
-
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
| 1442 |
-
},
|
| 1443 |
-
"funding": {
|
| 1444 |
-
"url": "https://opencollective.com/libvips"
|
| 1445 |
-
},
|
| 1446 |
-
"optionalDependencies": {
|
| 1447 |
-
"@img/sharp-libvips-linux-riscv64": "1.2.4"
|
| 1448 |
}
|
| 1449 |
},
|
| 1450 |
"node_modules/@img/sharp-linux-s390x": {
|
| 1451 |
-
"version": "0.
|
| 1452 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.
|
| 1453 |
-
"integrity": "sha512-
|
| 1454 |
"cpu": [
|
| 1455 |
"s390x"
|
| 1456 |
],
|
|
@@ -1466,13 +1143,13 @@
|
|
| 1466 |
"url": "https://opencollective.com/libvips"
|
| 1467 |
},
|
| 1468 |
"optionalDependencies": {
|
| 1469 |
-
"@img/sharp-libvips-linux-s390x": "1.
|
| 1470 |
}
|
| 1471 |
},
|
| 1472 |
"node_modules/@img/sharp-linux-x64": {
|
| 1473 |
-
"version": "0.
|
| 1474 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.
|
| 1475 |
-
"integrity": "sha512-
|
| 1476 |
"cpu": [
|
| 1477 |
"x64"
|
| 1478 |
],
|
|
@@ -1488,13 +1165,13 @@
|
|
| 1488 |
"url": "https://opencollective.com/libvips"
|
| 1489 |
},
|
| 1490 |
"optionalDependencies": {
|
| 1491 |
-
"@img/sharp-libvips-linux-x64": "1.
|
| 1492 |
}
|
| 1493 |
},
|
| 1494 |
"node_modules/@img/sharp-linuxmusl-arm64": {
|
| 1495 |
-
"version": "0.
|
| 1496 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.
|
| 1497 |
-
"integrity": "sha512-
|
| 1498 |
"cpu": [
|
| 1499 |
"arm64"
|
| 1500 |
],
|
|
@@ -1510,13 +1187,13 @@
|
|
| 1510 |
"url": "https://opencollective.com/libvips"
|
| 1511 |
},
|
| 1512 |
"optionalDependencies": {
|
| 1513 |
-
"@img/sharp-libvips-linuxmusl-arm64": "1.
|
| 1514 |
}
|
| 1515 |
},
|
| 1516 |
"node_modules/@img/sharp-linuxmusl-x64": {
|
| 1517 |
-
"version": "0.
|
| 1518 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.
|
| 1519 |
-
"integrity": "sha512-
|
| 1520 |
"cpu": [
|
| 1521 |
"x64"
|
| 1522 |
],
|
|
@@ -1532,20 +1209,20 @@
|
|
| 1532 |
"url": "https://opencollective.com/libvips"
|
| 1533 |
},
|
| 1534 |
"optionalDependencies": {
|
| 1535 |
-
"@img/sharp-libvips-linuxmusl-x64": "1.
|
| 1536 |
}
|
| 1537 |
},
|
| 1538 |
"node_modules/@img/sharp-wasm32": {
|
| 1539 |
-
"version": "0.
|
| 1540 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.
|
| 1541 |
-
"integrity": "sha512-
|
| 1542 |
"cpu": [
|
| 1543 |
"wasm32"
|
| 1544 |
],
|
| 1545 |
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
| 1546 |
"optional": true,
|
| 1547 |
"dependencies": {
|
| 1548 |
-
"@emnapi/runtime": "^1.
|
| 1549 |
},
|
| 1550 |
"engines": {
|
| 1551 |
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
@@ -1554,29 +1231,10 @@
|
|
| 1554 |
"url": "https://opencollective.com/libvips"
|
| 1555 |
}
|
| 1556 |
},
|
| 1557 |
-
"node_modules/@img/sharp-win32-arm64": {
|
| 1558 |
-
"version": "0.34.5",
|
| 1559 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
|
| 1560 |
-
"integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
|
| 1561 |
-
"cpu": [
|
| 1562 |
-
"arm64"
|
| 1563 |
-
],
|
| 1564 |
-
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
| 1565 |
-
"optional": true,
|
| 1566 |
-
"os": [
|
| 1567 |
-
"win32"
|
| 1568 |
-
],
|
| 1569 |
-
"engines": {
|
| 1570 |
-
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
| 1571 |
-
},
|
| 1572 |
-
"funding": {
|
| 1573 |
-
"url": "https://opencollective.com/libvips"
|
| 1574 |
-
}
|
| 1575 |
-
},
|
| 1576 |
"node_modules/@img/sharp-win32-ia32": {
|
| 1577 |
-
"version": "0.
|
| 1578 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.
|
| 1579 |
-
"integrity": "sha512-
|
| 1580 |
"cpu": [
|
| 1581 |
"ia32"
|
| 1582 |
],
|
|
@@ -1593,9 +1251,9 @@
|
|
| 1593 |
}
|
| 1594 |
},
|
| 1595 |
"node_modules/@img/sharp-win32-x64": {
|
| 1596 |
-
"version": "0.
|
| 1597 |
-
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.
|
| 1598 |
-
"integrity": "sha512-+
|
| 1599 |
"cpu": [
|
| 1600 |
"x64"
|
| 1601 |
],
|
|
@@ -1675,15 +1333,15 @@
|
|
| 1675 |
}
|
| 1676 |
},
|
| 1677 |
"node_modules/@next/env": {
|
| 1678 |
-
"version": "
|
| 1679 |
-
"resolved": "https://registry.npmjs.org/@next/env/-/env-
|
| 1680 |
-
"integrity": "sha512-
|
| 1681 |
"license": "MIT"
|
| 1682 |
},
|
| 1683 |
"node_modules/@next/eslint-plugin-next": {
|
| 1684 |
-
"version": "
|
| 1685 |
-
"resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-
|
| 1686 |
-
"integrity": "sha512-
|
| 1687 |
"dev": true,
|
| 1688 |
"license": "MIT",
|
| 1689 |
"dependencies": {
|
|
@@ -1691,9 +1349,9 @@
|
|
| 1691 |
}
|
| 1692 |
},
|
| 1693 |
"node_modules/@next/swc-darwin-arm64": {
|
| 1694 |
-
"version": "
|
| 1695 |
-
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-
|
| 1696 |
-
"integrity": "sha512-
|
| 1697 |
"cpu": [
|
| 1698 |
"arm64"
|
| 1699 |
],
|
|
@@ -1707,9 +1365,9 @@
|
|
| 1707 |
}
|
| 1708 |
},
|
| 1709 |
"node_modules/@next/swc-darwin-x64": {
|
| 1710 |
-
"version": "
|
| 1711 |
-
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-
|
| 1712 |
-
"integrity": "sha512-/
|
| 1713 |
"cpu": [
|
| 1714 |
"x64"
|
| 1715 |
],
|
|
@@ -1723,9 +1381,9 @@
|
|
| 1723 |
}
|
| 1724 |
},
|
| 1725 |
"node_modules/@next/swc-linux-arm64-gnu": {
|
| 1726 |
-
"version": "
|
| 1727 |
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-
|
| 1728 |
-
"integrity": "sha512-
|
| 1729 |
"cpu": [
|
| 1730 |
"arm64"
|
| 1731 |
],
|
|
@@ -1739,9 +1397,9 @@
|
|
| 1739 |
}
|
| 1740 |
},
|
| 1741 |
"node_modules/@next/swc-linux-arm64-musl": {
|
| 1742 |
-
"version": "
|
| 1743 |
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-
|
| 1744 |
-
"integrity": "sha512-
|
| 1745 |
"cpu": [
|
| 1746 |
"arm64"
|
| 1747 |
],
|
|
@@ -1755,9 +1413,9 @@
|
|
| 1755 |
}
|
| 1756 |
},
|
| 1757 |
"node_modules/@next/swc-linux-x64-gnu": {
|
| 1758 |
-
"version": "
|
| 1759 |
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-
|
| 1760 |
-
"integrity": "sha512-
|
| 1761 |
"cpu": [
|
| 1762 |
"x64"
|
| 1763 |
],
|
|
@@ -1771,9 +1429,9 @@
|
|
| 1771 |
}
|
| 1772 |
},
|
| 1773 |
"node_modules/@next/swc-linux-x64-musl": {
|
| 1774 |
-
"version": "
|
| 1775 |
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-
|
| 1776 |
-
"integrity": "sha512-
|
| 1777 |
"cpu": [
|
| 1778 |
"x64"
|
| 1779 |
],
|
|
@@ -1787,9 +1445,9 @@
|
|
| 1787 |
}
|
| 1788 |
},
|
| 1789 |
"node_modules/@next/swc-win32-arm64-msvc": {
|
| 1790 |
-
"version": "
|
| 1791 |
-
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-
|
| 1792 |
-
"integrity": "sha512-
|
| 1793 |
"cpu": [
|
| 1794 |
"arm64"
|
| 1795 |
],
|
|
@@ -1803,9 +1461,9 @@
|
|
| 1803 |
}
|
| 1804 |
},
|
| 1805 |
"node_modules/@next/swc-win32-x64-msvc": {
|
| 1806 |
-
"version": "
|
| 1807 |
-
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-
|
| 1808 |
-
"integrity": "sha512-
|
| 1809 |
"cpu": [
|
| 1810 |
"x64"
|
| 1811 |
],
|
|
@@ -1930,6 +1588,42 @@
|
|
| 1930 |
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
|
| 1931 |
"license": "BSD-3-Clause"
|
| 1932 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1933 |
"node_modules/@rtsao/scc": {
|
| 1934 |
"version": "1.1.0",
|
| 1935 |
"resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
|
|
@@ -1937,6 +1631,31 @@
|
|
| 1937 |
"dev": true,
|
| 1938 |
"license": "MIT"
|
| 1939 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1940 |
"node_modules/@swc/helpers": {
|
| 1941 |
"version": "0.5.15",
|
| 1942 |
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
|
|
@@ -2228,6 +1947,69 @@
|
|
| 2228 |
"tslib": "^2.4.0"
|
| 2229 |
}
|
| 2230 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2231 |
"node_modules/@types/estree": {
|
| 2232 |
"version": "1.0.8",
|
| 2233 |
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
|
@@ -2262,7 +2044,7 @@
|
|
| 2262 |
"version": "19.2.14",
|
| 2263 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
|
| 2264 |
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
|
| 2265 |
-
"
|
| 2266 |
"license": "MIT",
|
| 2267 |
"dependencies": {
|
| 2268 |
"csstype": "^3.2.2"
|
|
@@ -2278,6 +2060,12 @@
|
|
| 2278 |
"@types/react": "^19.2.0"
|
| 2279 |
}
|
| 2280 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2281 |
"node_modules/@typescript-eslint/eslint-plugin": {
|
| 2282 |
"version": "8.57.2",
|
| 2283 |
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.2.tgz",
|
|
@@ -2505,19 +2293,6 @@
|
|
| 2505 |
"url": "https://github.com/sponsors/isaacs"
|
| 2506 |
}
|
| 2507 |
},
|
| 2508 |
-
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
|
| 2509 |
-
"version": "7.7.4",
|
| 2510 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
| 2511 |
-
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
| 2512 |
-
"dev": true,
|
| 2513 |
-
"license": "ISC",
|
| 2514 |
-
"bin": {
|
| 2515 |
-
"semver": "bin/semver.js"
|
| 2516 |
-
},
|
| 2517 |
-
"engines": {
|
| 2518 |
-
"node": ">=10"
|
| 2519 |
-
}
|
| 2520 |
-
},
|
| 2521 |
"node_modules/@typescript-eslint/utils": {
|
| 2522 |
"version": "8.57.2",
|
| 2523 |
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.2.tgz",
|
|
@@ -3143,18 +2918,6 @@
|
|
| 3143 |
"dev": true,
|
| 3144 |
"license": "MIT"
|
| 3145 |
},
|
| 3146 |
-
"node_modules/baseline-browser-mapping": {
|
| 3147 |
-
"version": "2.10.10",
|
| 3148 |
-
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz",
|
| 3149 |
-
"integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==",
|
| 3150 |
-
"license": "Apache-2.0",
|
| 3151 |
-
"bin": {
|
| 3152 |
-
"baseline-browser-mapping": "dist/cli.cjs"
|
| 3153 |
-
},
|
| 3154 |
-
"engines": {
|
| 3155 |
-
"node": ">=6.0.0"
|
| 3156 |
-
}
|
| 3157 |
-
},
|
| 3158 |
"node_modules/brace-expansion": {
|
| 3159 |
"version": "1.1.12",
|
| 3160 |
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
|
|
@@ -3179,38 +2942,15 @@
|
|
| 3179 |
"node": ">=8"
|
| 3180 |
}
|
| 3181 |
},
|
| 3182 |
-
"node_modules/
|
| 3183 |
-
"version": "
|
| 3184 |
-
"resolved": "https://registry.npmjs.org/
|
| 3185 |
-
"integrity": "sha512-
|
| 3186 |
-
"dev": true,
|
| 3187 |
-
"funding": [
|
| 3188 |
-
{
|
| 3189 |
-
"type": "opencollective",
|
| 3190 |
-
"url": "https://opencollective.com/browserslist"
|
| 3191 |
-
},
|
| 3192 |
-
{
|
| 3193 |
-
"type": "tidelift",
|
| 3194 |
-
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
| 3195 |
-
},
|
| 3196 |
-
{
|
| 3197 |
-
"type": "github",
|
| 3198 |
-
"url": "https://github.com/sponsors/ai"
|
| 3199 |
-
}
|
| 3200 |
-
],
|
| 3201 |
-
"license": "MIT",
|
| 3202 |
"dependencies": {
|
| 3203 |
-
"
|
| 3204 |
-
"caniuse-lite": "^1.0.30001759",
|
| 3205 |
-
"electron-to-chromium": "^1.5.263",
|
| 3206 |
-
"node-releases": "^2.0.27",
|
| 3207 |
-
"update-browserslist-db": "^1.2.0"
|
| 3208 |
-
},
|
| 3209 |
-
"bin": {
|
| 3210 |
-
"browserslist": "cli.js"
|
| 3211 |
},
|
| 3212 |
"engines": {
|
| 3213 |
-
"node": "
|
| 3214 |
}
|
| 3215 |
},
|
| 3216 |
"node_modules/call-bind": {
|
|
@@ -3330,6 +3070,29 @@
|
|
| 3330 |
"node": ">=12"
|
| 3331 |
}
|
| 3332 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3333 |
"node_modules/color-convert": {
|
| 3334 |
"version": "2.0.1",
|
| 3335 |
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
@@ -3348,6 +3111,17 @@
|
|
| 3348 |
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
| 3349 |
"license": "MIT"
|
| 3350 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3351 |
"node_modules/concat-map": {
|
| 3352 |
"version": "0.0.1",
|
| 3353 |
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
|
@@ -3355,13 +3129,6 @@
|
|
| 3355 |
"dev": true,
|
| 3356 |
"license": "MIT"
|
| 3357 |
},
|
| 3358 |
-
"node_modules/convert-source-map": {
|
| 3359 |
-
"version": "2.0.0",
|
| 3360 |
-
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
|
| 3361 |
-
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
|
| 3362 |
-
"dev": true,
|
| 3363 |
-
"license": "MIT"
|
| 3364 |
-
},
|
| 3365 |
"node_modules/cross-spawn": {
|
| 3366 |
"version": "7.0.6",
|
| 3367 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
@@ -3381,9 +3148,130 @@
|
|
| 3381 |
"version": "3.2.3",
|
| 3382 |
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
| 3383 |
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
| 3384 |
-
"
|
| 3385 |
"license": "MIT"
|
| 3386 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3387 |
"node_modules/damerau-levenshtein": {
|
| 3388 |
"version": "1.0.8",
|
| 3389 |
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
|
|
@@ -3463,6 +3351,12 @@
|
|
| 3463 |
}
|
| 3464 |
}
|
| 3465 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3466 |
"node_modules/deep-is": {
|
| 3467 |
"version": "0.1.4",
|
| 3468 |
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
|
@@ -3544,13 +3438,6 @@
|
|
| 3544 |
"node": ">= 0.4"
|
| 3545 |
}
|
| 3546 |
},
|
| 3547 |
-
"node_modules/electron-to-chromium": {
|
| 3548 |
-
"version": "1.5.321",
|
| 3549 |
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz",
|
| 3550 |
-
"integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==",
|
| 3551 |
-
"dev": true,
|
| 3552 |
-
"license": "ISC"
|
| 3553 |
-
},
|
| 3554 |
"node_modules/emoji-regex": {
|
| 3555 |
"version": "9.2.2",
|
| 3556 |
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
|
@@ -3750,6 +3637,16 @@
|
|
| 3750 |
"url": "https://github.com/sponsors/ljharb"
|
| 3751 |
}
|
| 3752 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3753 |
"node_modules/escalade": {
|
| 3754 |
"version": "3.2.0",
|
| 3755 |
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
|
@@ -3833,24 +3730,25 @@
|
|
| 3833 |
}
|
| 3834 |
},
|
| 3835 |
"node_modules/eslint-config-next": {
|
| 3836 |
-
"version": "
|
| 3837 |
-
"resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-
|
| 3838 |
-
"integrity": "sha512-
|
| 3839 |
"dev": true,
|
| 3840 |
"license": "MIT",
|
| 3841 |
"dependencies": {
|
| 3842 |
-
"@next/eslint-plugin-next": "
|
|
|
|
|
|
|
|
|
|
| 3843 |
"eslint-import-resolver-node": "^0.3.6",
|
| 3844 |
"eslint-import-resolver-typescript": "^3.5.2",
|
| 3845 |
-
"eslint-plugin-import": "^2.
|
| 3846 |
"eslint-plugin-jsx-a11y": "^6.10.0",
|
| 3847 |
"eslint-plugin-react": "^7.37.0",
|
| 3848 |
-
"eslint-plugin-react-hooks": "^
|
| 3849 |
-
"globals": "16.4.0",
|
| 3850 |
-
"typescript-eslint": "^8.46.0"
|
| 3851 |
},
|
| 3852 |
"peerDependencies": {
|
| 3853 |
-
"eslint": "
|
| 3854 |
"typescript": ">=3.3.1"
|
| 3855 |
},
|
| 3856 |
"peerDependenciesMeta": {
|
|
@@ -3859,19 +3757,6 @@
|
|
| 3859 |
}
|
| 3860 |
}
|
| 3861 |
},
|
| 3862 |
-
"node_modules/eslint-config-next/node_modules/globals": {
|
| 3863 |
-
"version": "16.4.0",
|
| 3864 |
-
"resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz",
|
| 3865 |
-
"integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==",
|
| 3866 |
-
"dev": true,
|
| 3867 |
-
"license": "MIT",
|
| 3868 |
-
"engines": {
|
| 3869 |
-
"node": ">=18"
|
| 3870 |
-
},
|
| 3871 |
-
"funding": {
|
| 3872 |
-
"url": "https://github.com/sponsors/sindresorhus"
|
| 3873 |
-
}
|
| 3874 |
-
},
|
| 3875 |
"node_modules/eslint-import-resolver-node": {
|
| 3876 |
"version": "0.3.9",
|
| 3877 |
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
|
|
@@ -4001,6 +3886,16 @@
|
|
| 4001 |
"ms": "^2.1.1"
|
| 4002 |
}
|
| 4003 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4004 |
"node_modules/eslint-plugin-jsx-a11y": {
|
| 4005 |
"version": "6.10.2",
|
| 4006 |
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz",
|
|
@@ -4065,20 +3960,13 @@
|
|
| 4065 |
}
|
| 4066 |
},
|
| 4067 |
"node_modules/eslint-plugin-react-hooks": {
|
| 4068 |
-
"version": "
|
| 4069 |
-
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-
|
| 4070 |
-
"integrity": "sha512-
|
| 4071 |
"dev": true,
|
| 4072 |
"license": "MIT",
|
| 4073 |
-
"dependencies": {
|
| 4074 |
-
"@babel/core": "^7.24.4",
|
| 4075 |
-
"@babel/parser": "^7.24.4",
|
| 4076 |
-
"hermes-parser": "^0.25.1",
|
| 4077 |
-
"zod": "^3.25.0 || ^4.0.0",
|
| 4078 |
-
"zod-validation-error": "^3.5.0 || ^4.0.0"
|
| 4079 |
-
},
|
| 4080 |
"engines": {
|
| 4081 |
-
"node": ">=
|
| 4082 |
},
|
| 4083 |
"peerDependencies": {
|
| 4084 |
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
|
|
@@ -4108,6 +3996,16 @@
|
|
| 4108 |
"url": "https://github.com/sponsors/ljharb"
|
| 4109 |
}
|
| 4110 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4111 |
"node_modules/eslint-scope": {
|
| 4112 |
"version": "8.4.0",
|
| 4113 |
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
|
|
@@ -4202,6 +4100,12 @@
|
|
| 4202 |
"node": ">=0.10.0"
|
| 4203 |
}
|
| 4204 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4205 |
"node_modules/fast-deep-equal": {
|
| 4206 |
"version": "3.1.3",
|
| 4207 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
|
@@ -4354,6 +4258,30 @@
|
|
| 4354 |
"@firebase/util": "1.15.0"
|
| 4355 |
}
|
| 4356 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4357 |
"node_modules/flat-cache": {
|
| 4358 |
"version": "4.0.1",
|
| 4359 |
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
|
|
@@ -4391,6 +4319,33 @@
|
|
| 4391 |
"url": "https://github.com/sponsors/ljharb"
|
| 4392 |
}
|
| 4393 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4394 |
"node_modules/function-bind": {
|
| 4395 |
"version": "1.1.2",
|
| 4396 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
@@ -4442,16 +4397,6 @@
|
|
| 4442 |
"node": ">= 0.4"
|
| 4443 |
}
|
| 4444 |
},
|
| 4445 |
-
"node_modules/gensync": {
|
| 4446 |
-
"version": "1.0.0-beta.2",
|
| 4447 |
-
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
|
| 4448 |
-
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
|
| 4449 |
-
"dev": true,
|
| 4450 |
-
"license": "MIT",
|
| 4451 |
-
"engines": {
|
| 4452 |
-
"node": ">=6.9.0"
|
| 4453 |
-
}
|
| 4454 |
-
},
|
| 4455 |
"node_modules/get-caller-file": {
|
| 4456 |
"version": "2.0.5",
|
| 4457 |
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
|
@@ -4688,23 +4633,6 @@
|
|
| 4688 |
"node": ">= 0.4"
|
| 4689 |
}
|
| 4690 |
},
|
| 4691 |
-
"node_modules/hermes-estree": {
|
| 4692 |
-
"version": "0.25.1",
|
| 4693 |
-
"resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
|
| 4694 |
-
"integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
|
| 4695 |
-
"dev": true,
|
| 4696 |
-
"license": "MIT"
|
| 4697 |
-
},
|
| 4698 |
-
"node_modules/hermes-parser": {
|
| 4699 |
-
"version": "0.25.1",
|
| 4700 |
-
"resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
|
| 4701 |
-
"integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
|
| 4702 |
-
"dev": true,
|
| 4703 |
-
"license": "MIT",
|
| 4704 |
-
"dependencies": {
|
| 4705 |
-
"hermes-estree": "0.25.1"
|
| 4706 |
-
}
|
| 4707 |
-
},
|
| 4708 |
"node_modules/http-parser-js": {
|
| 4709 |
"version": "0.5.10",
|
| 4710 |
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
|
|
@@ -4727,6 +4655,16 @@
|
|
| 4727 |
"node": ">= 4"
|
| 4728 |
}
|
| 4729 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4730 |
"node_modules/import-fresh": {
|
| 4731 |
"version": "3.3.1",
|
| 4732 |
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
|
|
@@ -4769,6 +4707,15 @@
|
|
| 4769 |
"node": ">= 0.4"
|
| 4770 |
}
|
| 4771 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4772 |
"node_modules/is-array-buffer": {
|
| 4773 |
"version": "3.0.5",
|
| 4774 |
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
|
|
@@ -4787,6 +4734,13 @@
|
|
| 4787 |
"url": "https://github.com/sponsors/ljharb"
|
| 4788 |
}
|
| 4789 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4790 |
"node_modules/is-async-function": {
|
| 4791 |
"version": "2.1.1",
|
| 4792 |
"resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
|
|
@@ -4850,19 +4804,6 @@
|
|
| 4850 |
"semver": "^7.7.1"
|
| 4851 |
}
|
| 4852 |
},
|
| 4853 |
-
"node_modules/is-bun-module/node_modules/semver": {
|
| 4854 |
-
"version": "7.7.4",
|
| 4855 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
| 4856 |
-
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
| 4857 |
-
"dev": true,
|
| 4858 |
-
"license": "ISC",
|
| 4859 |
-
"bin": {
|
| 4860 |
-
"semver": "bin/semver.js"
|
| 4861 |
-
},
|
| 4862 |
-
"engines": {
|
| 4863 |
-
"node": ">=10"
|
| 4864 |
-
}
|
| 4865 |
-
},
|
| 4866 |
"node_modules/is-callable": {
|
| 4867 |
"version": "1.2.7",
|
| 4868 |
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
|
|
@@ -5255,19 +5196,6 @@
|
|
| 5255 |
"js-yaml": "bin/js-yaml.js"
|
| 5256 |
}
|
| 5257 |
},
|
| 5258 |
-
"node_modules/jsesc": {
|
| 5259 |
-
"version": "3.1.0",
|
| 5260 |
-
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
|
| 5261 |
-
"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
|
| 5262 |
-
"dev": true,
|
| 5263 |
-
"license": "MIT",
|
| 5264 |
-
"bin": {
|
| 5265 |
-
"jsesc": "bin/jsesc"
|
| 5266 |
-
},
|
| 5267 |
-
"engines": {
|
| 5268 |
-
"node": ">=6"
|
| 5269 |
-
}
|
| 5270 |
-
},
|
| 5271 |
"node_modules/json-buffer": {
|
| 5272 |
"version": "3.0.1",
|
| 5273 |
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
|
@@ -5290,16 +5218,16 @@
|
|
| 5290 |
"license": "MIT"
|
| 5291 |
},
|
| 5292 |
"node_modules/json5": {
|
| 5293 |
-
"version": "
|
| 5294 |
-
"resolved": "https://registry.npmjs.org/json5/-/json5-
|
| 5295 |
-
"integrity": "sha512-
|
| 5296 |
"dev": true,
|
| 5297 |
"license": "MIT",
|
|
|
|
|
|
|
|
|
|
| 5298 |
"bin": {
|
| 5299 |
"json5": "lib/cli.js"
|
| 5300 |
-
},
|
| 5301 |
-
"engines": {
|
| 5302 |
-
"node": ">=6"
|
| 5303 |
}
|
| 5304 |
},
|
| 5305 |
"node_modules/jsx-ast-utils": {
|
|
@@ -5671,14 +5599,13 @@
|
|
| 5671 |
"loose-envify": "cli.js"
|
| 5672 |
}
|
| 5673 |
},
|
| 5674 |
-
"node_modules/
|
| 5675 |
-
"version": "
|
| 5676 |
-
"resolved": "https://registry.npmjs.org/
|
| 5677 |
-
"integrity": "sha512-
|
| 5678 |
-
"dev": true,
|
| 5679 |
"license": "ISC",
|
| 5680 |
-
"
|
| 5681 |
-
"
|
| 5682 |
}
|
| 5683 |
},
|
| 5684 |
"node_modules/magic-string": {
|
|
@@ -5748,6 +5675,21 @@
|
|
| 5748 |
"url": "https://github.com/sponsors/ljharb"
|
| 5749 |
}
|
| 5750 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5751 |
"node_modules/ms": {
|
| 5752 |
"version": "2.1.3",
|
| 5753 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
|
@@ -5797,14 +5739,16 @@
|
|
| 5797 |
"license": "MIT"
|
| 5798 |
},
|
| 5799 |
"node_modules/next": {
|
| 5800 |
-
"version": "
|
| 5801 |
-
"resolved": "https://registry.npmjs.org/next/-/next-
|
| 5802 |
-
"integrity": "sha512-
|
|
|
|
| 5803 |
"license": "MIT",
|
| 5804 |
"dependencies": {
|
| 5805 |
-
"@next/env": "
|
|
|
|
| 5806 |
"@swc/helpers": "0.5.15",
|
| 5807 |
-
"
|
| 5808 |
"caniuse-lite": "^1.0.30001579",
|
| 5809 |
"postcss": "8.4.31",
|
| 5810 |
"styled-jsx": "5.1.6"
|
|
@@ -5813,22 +5757,22 @@
|
|
| 5813 |
"next": "dist/bin/next"
|
| 5814 |
},
|
| 5815 |
"engines": {
|
| 5816 |
-
"node": ">=20.
|
| 5817 |
},
|
| 5818 |
"optionalDependencies": {
|
| 5819 |
-
"@next/swc-darwin-arm64": "
|
| 5820 |
-
"@next/swc-darwin-x64": "
|
| 5821 |
-
"@next/swc-linux-arm64-gnu": "
|
| 5822 |
-
"@next/swc-linux-arm64-musl": "
|
| 5823 |
-
"@next/swc-linux-x64-gnu": "
|
| 5824 |
-
"@next/swc-linux-x64-musl": "
|
| 5825 |
-
"@next/swc-win32-arm64-msvc": "
|
| 5826 |
-
"@next/swc-win32-x64-msvc": "
|
| 5827 |
-
"sharp": "^0.
|
| 5828 |
},
|
| 5829 |
"peerDependencies": {
|
| 5830 |
"@opentelemetry/api": "^1.1.0",
|
| 5831 |
-
"@playwright/test": "^1.
|
| 5832 |
"babel-plugin-react-compiler": "*",
|
| 5833 |
"react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
|
| 5834 |
"react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
|
|
@@ -5896,12 +5840,15 @@
|
|
| 5896 |
"url": "https://github.com/sponsors/ljharb"
|
| 5897 |
}
|
| 5898 |
},
|
| 5899 |
-
"node_modules/node-
|
| 5900 |
-
"version": "
|
| 5901 |
-
"resolved": "https://registry.npmjs.org/
|
| 5902 |
-
"integrity": "sha512-
|
| 5903 |
"dev": true,
|
| 5904 |
-
"license": "
|
|
|
|
|
|
|
|
|
|
| 5905 |
},
|
| 5906 |
"node_modules/object-assign": {
|
| 5907 |
"version": "4.1.1",
|
|
@@ -6214,6 +6161,13 @@
|
|
| 6214 |
"react-is": "^16.13.1"
|
| 6215 |
}
|
| 6216 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6217 |
"node_modules/protobufjs": {
|
| 6218 |
"version": "7.5.4",
|
| 6219 |
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
|
|
@@ -6270,33 +6224,101 @@
|
|
| 6270 |
"license": "MIT"
|
| 6271 |
},
|
| 6272 |
"node_modules/react": {
|
| 6273 |
-
"version": "19.
|
| 6274 |
-
"resolved": "https://registry.npmjs.org/react/-/react-19.
|
| 6275 |
-
"integrity": "sha512-
|
| 6276 |
"license": "MIT",
|
| 6277 |
"engines": {
|
| 6278 |
"node": ">=0.10.0"
|
| 6279 |
}
|
| 6280 |
},
|
| 6281 |
"node_modules/react-dom": {
|
| 6282 |
-
"version": "19.
|
| 6283 |
-
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.
|
| 6284 |
-
"integrity": "sha512-
|
| 6285 |
"license": "MIT",
|
| 6286 |
"dependencies": {
|
| 6287 |
-
"scheduler": "^0.
|
| 6288 |
},
|
| 6289 |
"peerDependencies": {
|
| 6290 |
-
"react": "^19.
|
| 6291 |
}
|
| 6292 |
},
|
| 6293 |
"node_modules/react-is": {
|
| 6294 |
-
"version": "
|
| 6295 |
-
"resolved": "https://registry.npmjs.org/react-is/-/react-is-
|
| 6296 |
-
"integrity": "sha512-
|
| 6297 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6298 |
"license": "MIT"
|
| 6299 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6300 |
"node_modules/reflect.getprototypeof": {
|
| 6301 |
"version": "1.0.10",
|
| 6302 |
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
|
|
@@ -6350,6 +6372,12 @@
|
|
| 6350 |
"node": ">=0.10.0"
|
| 6351 |
}
|
| 6352 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6353 |
"node_modules/resolve": {
|
| 6354 |
"version": "1.22.11",
|
| 6355 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
|
|
@@ -6502,19 +6530,22 @@
|
|
| 6502 |
}
|
| 6503 |
},
|
| 6504 |
"node_modules/scheduler": {
|
| 6505 |
-
"version": "0.
|
| 6506 |
-
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.
|
| 6507 |
-
"integrity": "sha512-
|
| 6508 |
"license": "MIT"
|
| 6509 |
},
|
| 6510 |
"node_modules/semver": {
|
| 6511 |
-
"version": "
|
| 6512 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-
|
| 6513 |
-
"integrity": "sha512-
|
| 6514 |
-
"
|
| 6515 |
"license": "ISC",
|
| 6516 |
"bin": {
|
| 6517 |
"semver": "bin/semver.js"
|
|
|
|
|
|
|
|
|
|
| 6518 |
}
|
| 6519 |
},
|
| 6520 |
"node_modules/set-function-length": {
|
|
@@ -6567,16 +6598,16 @@
|
|
| 6567 |
}
|
| 6568 |
},
|
| 6569 |
"node_modules/sharp": {
|
| 6570 |
-
"version": "0.
|
| 6571 |
-
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.
|
| 6572 |
-
"integrity": "sha512-
|
| 6573 |
"hasInstallScript": true,
|
| 6574 |
"license": "Apache-2.0",
|
| 6575 |
"optional": true,
|
| 6576 |
"dependencies": {
|
| 6577 |
-
"
|
| 6578 |
-
"detect-libc": "^2.
|
| 6579 |
-
"semver": "^7.
|
| 6580 |
},
|
| 6581 |
"engines": {
|
| 6582 |
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
@@ -6585,43 +6616,25 @@
|
|
| 6585 |
"url": "https://opencollective.com/libvips"
|
| 6586 |
},
|
| 6587 |
"optionalDependencies": {
|
| 6588 |
-
"@img/sharp-darwin-arm64": "0.
|
| 6589 |
-
"@img/sharp-darwin-x64": "0.
|
| 6590 |
-
"@img/sharp-libvips-darwin-arm64": "1.
|
| 6591 |
-
"@img/sharp-libvips-darwin-x64": "1.
|
| 6592 |
-
"@img/sharp-libvips-linux-arm": "1.
|
| 6593 |
-
"@img/sharp-libvips-linux-arm64": "1.
|
| 6594 |
-
"@img/sharp-libvips-linux-
|
| 6595 |
-
"@img/sharp-libvips-linux-
|
| 6596 |
-
"@img/sharp-libvips-
|
| 6597 |
-
"@img/sharp-libvips-
|
| 6598 |
-
"@img/sharp-
|
| 6599 |
-
"@img/sharp-
|
| 6600 |
-
"@img/sharp-linux-
|
| 6601 |
-
"@img/sharp-linux-
|
| 6602 |
-
"@img/sharp-
|
| 6603 |
-
"@img/sharp-
|
| 6604 |
-
"@img/sharp-
|
| 6605 |
-
"@img/sharp-
|
| 6606 |
-
"@img/sharp-
|
| 6607 |
-
"@img/sharp-linuxmusl-x64": "0.34.5",
|
| 6608 |
-
"@img/sharp-wasm32": "0.34.5",
|
| 6609 |
-
"@img/sharp-win32-arm64": "0.34.5",
|
| 6610 |
-
"@img/sharp-win32-ia32": "0.34.5",
|
| 6611 |
-
"@img/sharp-win32-x64": "0.34.5"
|
| 6612 |
-
}
|
| 6613 |
-
},
|
| 6614 |
-
"node_modules/sharp/node_modules/semver": {
|
| 6615 |
-
"version": "7.7.4",
|
| 6616 |
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
| 6617 |
-
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
| 6618 |
-
"license": "ISC",
|
| 6619 |
-
"optional": true,
|
| 6620 |
-
"bin": {
|
| 6621 |
-
"semver": "bin/semver.js"
|
| 6622 |
-
},
|
| 6623 |
-
"engines": {
|
| 6624 |
-
"node": ">=10"
|
| 6625 |
}
|
| 6626 |
},
|
| 6627 |
"node_modules/shebang-command": {
|
|
@@ -6723,6 +6736,16 @@
|
|
| 6723 |
"url": "https://github.com/sponsors/ljharb"
|
| 6724 |
}
|
| 6725 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6726 |
"node_modules/source-map-js": {
|
| 6727 |
"version": "1.2.1",
|
| 6728 |
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
|
@@ -6753,6 +6776,14 @@
|
|
| 6753 |
"node": ">= 0.4"
|
| 6754 |
}
|
| 6755 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6756 |
"node_modules/string-width": {
|
| 6757 |
"version": "4.2.3",
|
| 6758 |
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
|
@@ -6991,6 +7022,12 @@
|
|
| 6991 |
"url": "https://opencollective.com/webpack"
|
| 6992 |
}
|
| 6993 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6994 |
"node_modules/tinyglobby": {
|
| 6995 |
"version": "0.2.15",
|
| 6996 |
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
|
@@ -7078,19 +7115,6 @@
|
|
| 7078 |
"strip-bom": "^3.0.0"
|
| 7079 |
}
|
| 7080 |
},
|
| 7081 |
-
"node_modules/tsconfig-paths/node_modules/json5": {
|
| 7082 |
-
"version": "1.0.2",
|
| 7083 |
-
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
| 7084 |
-
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
| 7085 |
-
"dev": true,
|
| 7086 |
-
"license": "MIT",
|
| 7087 |
-
"dependencies": {
|
| 7088 |
-
"minimist": "^1.2.0"
|
| 7089 |
-
},
|
| 7090 |
-
"bin": {
|
| 7091 |
-
"json5": "lib/cli.js"
|
| 7092 |
-
}
|
| 7093 |
-
},
|
| 7094 |
"node_modules/tslib": {
|
| 7095 |
"version": "2.8.1",
|
| 7096 |
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
|
@@ -7202,30 +7226,6 @@
|
|
| 7202 |
"node": ">=14.17"
|
| 7203 |
}
|
| 7204 |
},
|
| 7205 |
-
"node_modules/typescript-eslint": {
|
| 7206 |
-
"version": "8.57.2",
|
| 7207 |
-
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.57.2.tgz",
|
| 7208 |
-
"integrity": "sha512-VEPQ0iPgWO/sBaZOU1xo4nuNdODVOajPnTIbog2GKYr31nIlZ0fWPoCQgGfF3ETyBl1vn63F/p50Um9Z4J8O8A==",
|
| 7209 |
-
"dev": true,
|
| 7210 |
-
"license": "MIT",
|
| 7211 |
-
"dependencies": {
|
| 7212 |
-
"@typescript-eslint/eslint-plugin": "8.57.2",
|
| 7213 |
-
"@typescript-eslint/parser": "8.57.2",
|
| 7214 |
-
"@typescript-eslint/typescript-estree": "8.57.2",
|
| 7215 |
-
"@typescript-eslint/utils": "8.57.2"
|
| 7216 |
-
},
|
| 7217 |
-
"engines": {
|
| 7218 |
-
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
| 7219 |
-
},
|
| 7220 |
-
"funding": {
|
| 7221 |
-
"type": "opencollective",
|
| 7222 |
-
"url": "https://opencollective.com/typescript-eslint"
|
| 7223 |
-
},
|
| 7224 |
-
"peerDependencies": {
|
| 7225 |
-
"eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
|
| 7226 |
-
"typescript": ">=4.8.4 <6.0.0"
|
| 7227 |
-
}
|
| 7228 |
-
},
|
| 7229 |
"node_modules/unbox-primitive": {
|
| 7230 |
"version": "1.1.0",
|
| 7231 |
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
|
|
@@ -7286,37 +7286,6 @@
|
|
| 7286 |
"@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
|
| 7287 |
}
|
| 7288 |
},
|
| 7289 |
-
"node_modules/update-browserslist-db": {
|
| 7290 |
-
"version": "1.2.3",
|
| 7291 |
-
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
|
| 7292 |
-
"integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
|
| 7293 |
-
"dev": true,
|
| 7294 |
-
"funding": [
|
| 7295 |
-
{
|
| 7296 |
-
"type": "opencollective",
|
| 7297 |
-
"url": "https://opencollective.com/browserslist"
|
| 7298 |
-
},
|
| 7299 |
-
{
|
| 7300 |
-
"type": "tidelift",
|
| 7301 |
-
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
| 7302 |
-
},
|
| 7303 |
-
{
|
| 7304 |
-
"type": "github",
|
| 7305 |
-
"url": "https://github.com/sponsors/ai"
|
| 7306 |
-
}
|
| 7307 |
-
],
|
| 7308 |
-
"license": "MIT",
|
| 7309 |
-
"dependencies": {
|
| 7310 |
-
"escalade": "^3.2.0",
|
| 7311 |
-
"picocolors": "^1.1.1"
|
| 7312 |
-
},
|
| 7313 |
-
"bin": {
|
| 7314 |
-
"update-browserslist-db": "cli.js"
|
| 7315 |
-
},
|
| 7316 |
-
"peerDependencies": {
|
| 7317 |
-
"browserslist": ">= 4.21.0"
|
| 7318 |
-
}
|
| 7319 |
-
},
|
| 7320 |
"node_modules/uri-js": {
|
| 7321 |
"version": "4.4.1",
|
| 7322 |
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
|
@@ -7327,6 +7296,37 @@
|
|
| 7327 |
"punycode": "^2.1.0"
|
| 7328 |
}
|
| 7329 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7330 |
"node_modules/web-vitals": {
|
| 7331 |
"version": "4.2.4",
|
| 7332 |
"resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz",
|
|
@@ -7497,13 +7497,6 @@
|
|
| 7497 |
"node": ">=10"
|
| 7498 |
}
|
| 7499 |
},
|
| 7500 |
-
"node_modules/yallist": {
|
| 7501 |
-
"version": "3.1.1",
|
| 7502 |
-
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
| 7503 |
-
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
| 7504 |
-
"dev": true,
|
| 7505 |
-
"license": "ISC"
|
| 7506 |
-
},
|
| 7507 |
"node_modules/yargs": {
|
| 7508 |
"version": "17.7.2",
|
| 7509 |
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
|
@@ -7543,29 +7536,6 @@
|
|
| 7543 |
"funding": {
|
| 7544 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 7545 |
}
|
| 7546 |
-
},
|
| 7547 |
-
"node_modules/zod": {
|
| 7548 |
-
"version": "4.3.6",
|
| 7549 |
-
"resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz",
|
| 7550 |
-
"integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
|
| 7551 |
-
"dev": true,
|
| 7552 |
-
"license": "MIT",
|
| 7553 |
-
"funding": {
|
| 7554 |
-
"url": "https://github.com/sponsors/colinhacks"
|
| 7555 |
-
}
|
| 7556 |
-
},
|
| 7557 |
-
"node_modules/zod-validation-error": {
|
| 7558 |
-
"version": "4.0.2",
|
| 7559 |
-
"resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz",
|
| 7560 |
-
"integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==",
|
| 7561 |
-
"dev": true,
|
| 7562 |
-
"license": "MIT",
|
| 7563 |
-
"engines": {
|
| 7564 |
-
"node": ">=18.0.0"
|
| 7565 |
-
},
|
| 7566 |
-
"peerDependencies": {
|
| 7567 |
-
"zod": "^3.25.0 || ^4.0.0"
|
| 7568 |
-
}
|
| 7569 |
}
|
| 7570 |
}
|
| 7571 |
}
|
|
|
|
| 9 |
"version": "0.1.0",
|
| 10 |
"dependencies": {
|
| 11 |
"firebase": "^12.11.0",
|
| 12 |
+
"framer-motion": "^12.38.0",
|
| 13 |
+
"lucide-react": "^1.0.1",
|
| 14 |
+
"next": "15.1.4",
|
| 15 |
+
"react": "19.0.0",
|
| 16 |
+
"react-dom": "19.0.0",
|
| 17 |
+
"recharts": "^3.8.0"
|
| 18 |
},
|
| 19 |
"devDependencies": {
|
| 20 |
"@tailwindcss/postcss": "^4",
|
|
|
|
| 22 |
"@types/react": "^19",
|
| 23 |
"@types/react-dom": "^19",
|
| 24 |
"eslint": "^9",
|
| 25 |
+
"eslint-config-next": "15.1.4",
|
| 26 |
"tailwindcss": "^4",
|
| 27 |
"typescript": "^5"
|
| 28 |
}
|
|
|
|
| 40 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 41 |
}
|
| 42 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
"node_modules/@emnapi/core": {
|
| 44 |
"version": "1.9.1",
|
| 45 |
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz",
|
|
|
|
| 363 |
"integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==",
|
| 364 |
"license": "Apache-2.0"
|
| 365 |
},
|
| 366 |
+
"node_modules/@firebase/auth-compat": {
|
| 367 |
+
"version": "0.6.4",
|
| 368 |
+
"resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.6.4.tgz",
|
| 369 |
+
"integrity": "sha512-2pj8m/hnqXvMLfC0Mk+fORVTM5DQPkS6l8JpMgtoAWGVgCmYnoWdFMaNWtKbmCxBEyvMA3FlnCJyzrUSMWTfuA==",
|
| 370 |
"license": "Apache-2.0",
|
| 371 |
"dependencies": {
|
| 372 |
+
"@firebase/auth": "1.12.2",
|
| 373 |
+
"@firebase/auth-types": "0.13.0",
|
| 374 |
"@firebase/component": "0.7.2",
|
|
|
|
| 375 |
"@firebase/util": "1.15.0",
|
| 376 |
"tslib": "^2.1.0"
|
| 377 |
},
|
|
|
|
| 379 |
"node": ">=20.0.0"
|
| 380 |
},
|
| 381 |
"peerDependencies": {
|
| 382 |
+
"@firebase/app-compat": "0.x"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
}
|
| 384 |
},
|
| 385 |
+
"node_modules/@firebase/auth-compat/node_modules/@firebase/auth": {
|
| 386 |
+
"version": "1.12.2",
|
| 387 |
+
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.12.2.tgz",
|
| 388 |
+
"integrity": "sha512-CZJL8V10Vzibs+pDTXdQF+hot1IigIoqF4a4lA/qr5Deo1srcefiyIfgg28B67Lk7IxZhwfJMuI+1bu2xBmV0A==",
|
| 389 |
"license": "Apache-2.0",
|
| 390 |
"dependencies": {
|
|
|
|
|
|
|
| 391 |
"@firebase/component": "0.7.2",
|
| 392 |
+
"@firebase/logger": "0.5.0",
|
| 393 |
"@firebase/util": "1.15.0",
|
| 394 |
"tslib": "^2.1.0"
|
| 395 |
},
|
|
|
|
| 397 |
"node": ">=20.0.0"
|
| 398 |
},
|
| 399 |
"peerDependencies": {
|
| 400 |
+
"@firebase/app": "0.x",
|
| 401 |
+
"@react-native-async-storage/async-storage": "^2.2.0"
|
| 402 |
+
},
|
| 403 |
+
"peerDependenciesMeta": {
|
| 404 |
+
"@react-native-async-storage/async-storage": {
|
| 405 |
+
"optional": true
|
| 406 |
+
}
|
| 407 |
}
|
| 408 |
},
|
| 409 |
"node_modules/@firebase/auth-interop-types": {
|
|
|
|
| 908 |
"url": "https://github.com/sponsors/nzakas"
|
| 909 |
}
|
| 910 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 911 |
"node_modules/@img/sharp-darwin-arm64": {
|
| 912 |
+
"version": "0.33.5",
|
| 913 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
|
| 914 |
+
"integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
|
| 915 |
"cpu": [
|
| 916 |
"arm64"
|
| 917 |
],
|
|
|
|
| 927 |
"url": "https://opencollective.com/libvips"
|
| 928 |
},
|
| 929 |
"optionalDependencies": {
|
| 930 |
+
"@img/sharp-libvips-darwin-arm64": "1.0.4"
|
| 931 |
}
|
| 932 |
},
|
| 933 |
"node_modules/@img/sharp-darwin-x64": {
|
| 934 |
+
"version": "0.33.5",
|
| 935 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
|
| 936 |
+
"integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
|
| 937 |
"cpu": [
|
| 938 |
"x64"
|
| 939 |
],
|
|
|
|
| 949 |
"url": "https://opencollective.com/libvips"
|
| 950 |
},
|
| 951 |
"optionalDependencies": {
|
| 952 |
+
"@img/sharp-libvips-darwin-x64": "1.0.4"
|
| 953 |
}
|
| 954 |
},
|
| 955 |
"node_modules/@img/sharp-libvips-darwin-arm64": {
|
| 956 |
+
"version": "1.0.4",
|
| 957 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
|
| 958 |
+
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
|
| 959 |
"cpu": [
|
| 960 |
"arm64"
|
| 961 |
],
|
|
|
|
| 969 |
}
|
| 970 |
},
|
| 971 |
"node_modules/@img/sharp-libvips-darwin-x64": {
|
| 972 |
+
"version": "1.0.4",
|
| 973 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
|
| 974 |
+
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
|
| 975 |
"cpu": [
|
| 976 |
"x64"
|
| 977 |
],
|
|
|
|
| 985 |
}
|
| 986 |
},
|
| 987 |
"node_modules/@img/sharp-libvips-linux-arm": {
|
| 988 |
+
"version": "1.0.5",
|
| 989 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
|
| 990 |
+
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
|
| 991 |
"cpu": [
|
| 992 |
"arm"
|
| 993 |
],
|
|
|
|
| 1001 |
}
|
| 1002 |
},
|
| 1003 |
"node_modules/@img/sharp-libvips-linux-arm64": {
|
| 1004 |
+
"version": "1.0.4",
|
| 1005 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
|
| 1006 |
+
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
|
| 1007 |
"cpu": [
|
| 1008 |
"arm64"
|
| 1009 |
],
|
|
|
|
| 1016 |
"url": "https://opencollective.com/libvips"
|
| 1017 |
}
|
| 1018 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1019 |
"node_modules/@img/sharp-libvips-linux-s390x": {
|
| 1020 |
+
"version": "1.0.4",
|
| 1021 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
|
| 1022 |
+
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
|
| 1023 |
"cpu": [
|
| 1024 |
"s390x"
|
| 1025 |
],
|
|
|
|
| 1033 |
}
|
| 1034 |
},
|
| 1035 |
"node_modules/@img/sharp-libvips-linux-x64": {
|
| 1036 |
+
"version": "1.0.4",
|
| 1037 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
|
| 1038 |
+
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
|
| 1039 |
"cpu": [
|
| 1040 |
"x64"
|
| 1041 |
],
|
|
|
|
| 1049 |
}
|
| 1050 |
},
|
| 1051 |
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
| 1052 |
+
"version": "1.0.4",
|
| 1053 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
|
| 1054 |
+
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
|
| 1055 |
"cpu": [
|
| 1056 |
"arm64"
|
| 1057 |
],
|
|
|
|
| 1065 |
}
|
| 1066 |
},
|
| 1067 |
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
| 1068 |
+
"version": "1.0.4",
|
| 1069 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
|
| 1070 |
+
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
|
| 1071 |
"cpu": [
|
| 1072 |
"x64"
|
| 1073 |
],
|
|
|
|
| 1081 |
}
|
| 1082 |
},
|
| 1083 |
"node_modules/@img/sharp-linux-arm": {
|
| 1084 |
+
"version": "0.33.5",
|
| 1085 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
|
| 1086 |
+
"integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
|
| 1087 |
"cpu": [
|
| 1088 |
"arm"
|
| 1089 |
],
|
|
|
|
| 1099 |
"url": "https://opencollective.com/libvips"
|
| 1100 |
},
|
| 1101 |
"optionalDependencies": {
|
| 1102 |
+
"@img/sharp-libvips-linux-arm": "1.0.5"
|
| 1103 |
}
|
| 1104 |
},
|
| 1105 |
"node_modules/@img/sharp-linux-arm64": {
|
| 1106 |
+
"version": "0.33.5",
|
| 1107 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
|
| 1108 |
+
"integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
|
| 1109 |
"cpu": [
|
| 1110 |
"arm64"
|
| 1111 |
],
|
|
|
|
| 1121 |
"url": "https://opencollective.com/libvips"
|
| 1122 |
},
|
| 1123 |
"optionalDependencies": {
|
| 1124 |
+
"@img/sharp-libvips-linux-arm64": "1.0.4"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1125 |
}
|
| 1126 |
},
|
| 1127 |
"node_modules/@img/sharp-linux-s390x": {
|
| 1128 |
+
"version": "0.33.5",
|
| 1129 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
|
| 1130 |
+
"integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
|
| 1131 |
"cpu": [
|
| 1132 |
"s390x"
|
| 1133 |
],
|
|
|
|
| 1143 |
"url": "https://opencollective.com/libvips"
|
| 1144 |
},
|
| 1145 |
"optionalDependencies": {
|
| 1146 |
+
"@img/sharp-libvips-linux-s390x": "1.0.4"
|
| 1147 |
}
|
| 1148 |
},
|
| 1149 |
"node_modules/@img/sharp-linux-x64": {
|
| 1150 |
+
"version": "0.33.5",
|
| 1151 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
|
| 1152 |
+
"integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
|
| 1153 |
"cpu": [
|
| 1154 |
"x64"
|
| 1155 |
],
|
|
|
|
| 1165 |
"url": "https://opencollective.com/libvips"
|
| 1166 |
},
|
| 1167 |
"optionalDependencies": {
|
| 1168 |
+
"@img/sharp-libvips-linux-x64": "1.0.4"
|
| 1169 |
}
|
| 1170 |
},
|
| 1171 |
"node_modules/@img/sharp-linuxmusl-arm64": {
|
| 1172 |
+
"version": "0.33.5",
|
| 1173 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
|
| 1174 |
+
"integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
|
| 1175 |
"cpu": [
|
| 1176 |
"arm64"
|
| 1177 |
],
|
|
|
|
| 1187 |
"url": "https://opencollective.com/libvips"
|
| 1188 |
},
|
| 1189 |
"optionalDependencies": {
|
| 1190 |
+
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
|
| 1191 |
}
|
| 1192 |
},
|
| 1193 |
"node_modules/@img/sharp-linuxmusl-x64": {
|
| 1194 |
+
"version": "0.33.5",
|
| 1195 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
|
| 1196 |
+
"integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
|
| 1197 |
"cpu": [
|
| 1198 |
"x64"
|
| 1199 |
],
|
|
|
|
| 1209 |
"url": "https://opencollective.com/libvips"
|
| 1210 |
},
|
| 1211 |
"optionalDependencies": {
|
| 1212 |
+
"@img/sharp-libvips-linuxmusl-x64": "1.0.4"
|
| 1213 |
}
|
| 1214 |
},
|
| 1215 |
"node_modules/@img/sharp-wasm32": {
|
| 1216 |
+
"version": "0.33.5",
|
| 1217 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
|
| 1218 |
+
"integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
|
| 1219 |
"cpu": [
|
| 1220 |
"wasm32"
|
| 1221 |
],
|
| 1222 |
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
| 1223 |
"optional": true,
|
| 1224 |
"dependencies": {
|
| 1225 |
+
"@emnapi/runtime": "^1.2.0"
|
| 1226 |
},
|
| 1227 |
"engines": {
|
| 1228 |
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
|
|
| 1231 |
"url": "https://opencollective.com/libvips"
|
| 1232 |
}
|
| 1233 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1234 |
"node_modules/@img/sharp-win32-ia32": {
|
| 1235 |
+
"version": "0.33.5",
|
| 1236 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
|
| 1237 |
+
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
|
| 1238 |
"cpu": [
|
| 1239 |
"ia32"
|
| 1240 |
],
|
|
|
|
| 1251 |
}
|
| 1252 |
},
|
| 1253 |
"node_modules/@img/sharp-win32-x64": {
|
| 1254 |
+
"version": "0.33.5",
|
| 1255 |
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
|
| 1256 |
+
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
|
| 1257 |
"cpu": [
|
| 1258 |
"x64"
|
| 1259 |
],
|
|
|
|
| 1333 |
}
|
| 1334 |
},
|
| 1335 |
"node_modules/@next/env": {
|
| 1336 |
+
"version": "15.1.4",
|
| 1337 |
+
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.4.tgz",
|
| 1338 |
+
"integrity": "sha512-2fZ5YZjedi5AGaeoaC0B20zGntEHRhi2SdWcu61i48BllODcAmmtj8n7YarSPt4DaTsJaBFdxQAVEVzgmx2Zpw==",
|
| 1339 |
"license": "MIT"
|
| 1340 |
},
|
| 1341 |
"node_modules/@next/eslint-plugin-next": {
|
| 1342 |
+
"version": "15.1.4",
|
| 1343 |
+
"resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.1.4.tgz",
|
| 1344 |
+
"integrity": "sha512-HwlEXwCK3sr6zmVGEvWBjW9tBFs1Oe6hTmTLoFQtpm4As5HCdu8jfSE0XJOp7uhfEGLniIx8yrGxEWwNnY0fmQ==",
|
| 1345 |
"dev": true,
|
| 1346 |
"license": "MIT",
|
| 1347 |
"dependencies": {
|
|
|
|
| 1349 |
}
|
| 1350 |
},
|
| 1351 |
"node_modules/@next/swc-darwin-arm64": {
|
| 1352 |
+
"version": "15.1.4",
|
| 1353 |
+
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.4.tgz",
|
| 1354 |
+
"integrity": "sha512-wBEMBs+np+R5ozN1F8Y8d/Dycns2COhRnkxRc+rvnbXke5uZBHkUGFgWxfTXn5rx7OLijuUhyfB+gC/ap58dDw==",
|
| 1355 |
"cpu": [
|
| 1356 |
"arm64"
|
| 1357 |
],
|
|
|
|
| 1365 |
}
|
| 1366 |
},
|
| 1367 |
"node_modules/@next/swc-darwin-x64": {
|
| 1368 |
+
"version": "15.1.4",
|
| 1369 |
+
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.4.tgz",
|
| 1370 |
+
"integrity": "sha512-7sgf5rM7Z81V9w48F02Zz6DgEJulavC0jadab4ZsJ+K2sxMNK0/BtF8J8J3CxnsJN3DGcIdC260wEKssKTukUw==",
|
| 1371 |
"cpu": [
|
| 1372 |
"x64"
|
| 1373 |
],
|
|
|
|
| 1381 |
}
|
| 1382 |
},
|
| 1383 |
"node_modules/@next/swc-linux-arm64-gnu": {
|
| 1384 |
+
"version": "15.1.4",
|
| 1385 |
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.4.tgz",
|
| 1386 |
+
"integrity": "sha512-JaZlIMNaJenfd55kjaLWMfok+vWBlcRxqnRoZrhFQrhM1uAehP3R0+Aoe+bZOogqlZvAz53nY/k3ZyuKDtT2zQ==",
|
| 1387 |
"cpu": [
|
| 1388 |
"arm64"
|
| 1389 |
],
|
|
|
|
| 1397 |
}
|
| 1398 |
},
|
| 1399 |
"node_modules/@next/swc-linux-arm64-musl": {
|
| 1400 |
+
"version": "15.1.4",
|
| 1401 |
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.4.tgz",
|
| 1402 |
+
"integrity": "sha512-7EBBjNoyTO2ipMDgCiORpwwOf5tIueFntKjcN3NK+GAQD7OzFJe84p7a2eQUeWdpzZvhVXuAtIen8QcH71ZCOQ==",
|
| 1403 |
"cpu": [
|
| 1404 |
"arm64"
|
| 1405 |
],
|
|
|
|
| 1413 |
}
|
| 1414 |
},
|
| 1415 |
"node_modules/@next/swc-linux-x64-gnu": {
|
| 1416 |
+
"version": "15.1.4",
|
| 1417 |
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.4.tgz",
|
| 1418 |
+
"integrity": "sha512-9TGEgOycqZFuADyFqwmK/9g6S0FYZ3tphR4ebcmCwhL8Y12FW8pIBKJvSwV+UBjMkokstGNH+9F8F031JZKpHw==",
|
| 1419 |
"cpu": [
|
| 1420 |
"x64"
|
| 1421 |
],
|
|
|
|
| 1429 |
}
|
| 1430 |
},
|
| 1431 |
"node_modules/@next/swc-linux-x64-musl": {
|
| 1432 |
+
"version": "15.1.4",
|
| 1433 |
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.4.tgz",
|
| 1434 |
+
"integrity": "sha512-0578bLRVDJOh+LdIoKvgNDz77+Bd85c5JrFgnlbI1SM3WmEQvsjxTA8ATu9Z9FCiIS/AliVAW2DV/BDwpXbtiQ==",
|
| 1435 |
"cpu": [
|
| 1436 |
"x64"
|
| 1437 |
],
|
|
|
|
| 1445 |
}
|
| 1446 |
},
|
| 1447 |
"node_modules/@next/swc-win32-arm64-msvc": {
|
| 1448 |
+
"version": "15.1.4",
|
| 1449 |
+
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.4.tgz",
|
| 1450 |
+
"integrity": "sha512-JgFCiV4libQavwII+kncMCl30st0JVxpPOtzWcAI2jtum4HjYaclobKhj+JsRu5tFqMtA5CJIa0MvYyuu9xjjQ==",
|
| 1451 |
"cpu": [
|
| 1452 |
"arm64"
|
| 1453 |
],
|
|
|
|
| 1461 |
}
|
| 1462 |
},
|
| 1463 |
"node_modules/@next/swc-win32-x64-msvc": {
|
| 1464 |
+
"version": "15.1.4",
|
| 1465 |
+
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.4.tgz",
|
| 1466 |
+
"integrity": "sha512-xxsJy9wzq7FR5SqPCUqdgSXiNXrMuidgckBa8nH9HtjjxsilgcN6VgXF6tZ3uEWuVEadotQJI8/9EQ6guTC4Yw==",
|
| 1467 |
"cpu": [
|
| 1468 |
"x64"
|
| 1469 |
],
|
|
|
|
| 1588 |
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
|
| 1589 |
"license": "BSD-3-Clause"
|
| 1590 |
},
|
| 1591 |
+
"node_modules/@reduxjs/toolkit": {
|
| 1592 |
+
"version": "2.11.2",
|
| 1593 |
+
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz",
|
| 1594 |
+
"integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==",
|
| 1595 |
+
"license": "MIT",
|
| 1596 |
+
"dependencies": {
|
| 1597 |
+
"@standard-schema/spec": "^1.0.0",
|
| 1598 |
+
"@standard-schema/utils": "^0.3.0",
|
| 1599 |
+
"immer": "^11.0.0",
|
| 1600 |
+
"redux": "^5.0.1",
|
| 1601 |
+
"redux-thunk": "^3.1.0",
|
| 1602 |
+
"reselect": "^5.1.0"
|
| 1603 |
+
},
|
| 1604 |
+
"peerDependencies": {
|
| 1605 |
+
"react": "^16.9.0 || ^17.0.0 || ^18 || ^19",
|
| 1606 |
+
"react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
|
| 1607 |
+
},
|
| 1608 |
+
"peerDependenciesMeta": {
|
| 1609 |
+
"react": {
|
| 1610 |
+
"optional": true
|
| 1611 |
+
},
|
| 1612 |
+
"react-redux": {
|
| 1613 |
+
"optional": true
|
| 1614 |
+
}
|
| 1615 |
+
}
|
| 1616 |
+
},
|
| 1617 |
+
"node_modules/@reduxjs/toolkit/node_modules/immer": {
|
| 1618 |
+
"version": "11.1.4",
|
| 1619 |
+
"resolved": "https://registry.npmjs.org/immer/-/immer-11.1.4.tgz",
|
| 1620 |
+
"integrity": "sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==",
|
| 1621 |
+
"license": "MIT",
|
| 1622 |
+
"funding": {
|
| 1623 |
+
"type": "opencollective",
|
| 1624 |
+
"url": "https://opencollective.com/immer"
|
| 1625 |
+
}
|
| 1626 |
+
},
|
| 1627 |
"node_modules/@rtsao/scc": {
|
| 1628 |
"version": "1.1.0",
|
| 1629 |
"resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
|
|
|
|
| 1631 |
"dev": true,
|
| 1632 |
"license": "MIT"
|
| 1633 |
},
|
| 1634 |
+
"node_modules/@rushstack/eslint-patch": {
|
| 1635 |
+
"version": "1.16.1",
|
| 1636 |
+
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.16.1.tgz",
|
| 1637 |
+
"integrity": "sha512-TvZbIpeKqGQQ7X0zSCvPH9riMSFQFSggnfBjFZ1mEoILW+UuXCKwOoPcgjMwiUtRqFZ8jWhPJc4um14vC6I4ag==",
|
| 1638 |
+
"dev": true,
|
| 1639 |
+
"license": "MIT"
|
| 1640 |
+
},
|
| 1641 |
+
"node_modules/@standard-schema/spec": {
|
| 1642 |
+
"version": "1.1.0",
|
| 1643 |
+
"resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
|
| 1644 |
+
"integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
|
| 1645 |
+
"license": "MIT"
|
| 1646 |
+
},
|
| 1647 |
+
"node_modules/@standard-schema/utils": {
|
| 1648 |
+
"version": "0.3.0",
|
| 1649 |
+
"resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz",
|
| 1650 |
+
"integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==",
|
| 1651 |
+
"license": "MIT"
|
| 1652 |
+
},
|
| 1653 |
+
"node_modules/@swc/counter": {
|
| 1654 |
+
"version": "0.1.3",
|
| 1655 |
+
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
| 1656 |
+
"integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
|
| 1657 |
+
"license": "Apache-2.0"
|
| 1658 |
+
},
|
| 1659 |
"node_modules/@swc/helpers": {
|
| 1660 |
"version": "0.5.15",
|
| 1661 |
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
|
|
|
|
| 1947 |
"tslib": "^2.4.0"
|
| 1948 |
}
|
| 1949 |
},
|
| 1950 |
+
"node_modules/@types/d3-array": {
|
| 1951 |
+
"version": "3.2.2",
|
| 1952 |
+
"resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz",
|
| 1953 |
+
"integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==",
|
| 1954 |
+
"license": "MIT"
|
| 1955 |
+
},
|
| 1956 |
+
"node_modules/@types/d3-color": {
|
| 1957 |
+
"version": "3.1.3",
|
| 1958 |
+
"resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
|
| 1959 |
+
"integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
|
| 1960 |
+
"license": "MIT"
|
| 1961 |
+
},
|
| 1962 |
+
"node_modules/@types/d3-ease": {
|
| 1963 |
+
"version": "3.0.2",
|
| 1964 |
+
"resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
|
| 1965 |
+
"integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
|
| 1966 |
+
"license": "MIT"
|
| 1967 |
+
},
|
| 1968 |
+
"node_modules/@types/d3-interpolate": {
|
| 1969 |
+
"version": "3.0.4",
|
| 1970 |
+
"resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
|
| 1971 |
+
"integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
|
| 1972 |
+
"license": "MIT",
|
| 1973 |
+
"dependencies": {
|
| 1974 |
+
"@types/d3-color": "*"
|
| 1975 |
+
}
|
| 1976 |
+
},
|
| 1977 |
+
"node_modules/@types/d3-path": {
|
| 1978 |
+
"version": "3.1.1",
|
| 1979 |
+
"resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
|
| 1980 |
+
"integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
|
| 1981 |
+
"license": "MIT"
|
| 1982 |
+
},
|
| 1983 |
+
"node_modules/@types/d3-scale": {
|
| 1984 |
+
"version": "4.0.9",
|
| 1985 |
+
"resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
|
| 1986 |
+
"integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
|
| 1987 |
+
"license": "MIT",
|
| 1988 |
+
"dependencies": {
|
| 1989 |
+
"@types/d3-time": "*"
|
| 1990 |
+
}
|
| 1991 |
+
},
|
| 1992 |
+
"node_modules/@types/d3-shape": {
|
| 1993 |
+
"version": "3.1.8",
|
| 1994 |
+
"resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz",
|
| 1995 |
+
"integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==",
|
| 1996 |
+
"license": "MIT",
|
| 1997 |
+
"dependencies": {
|
| 1998 |
+
"@types/d3-path": "*"
|
| 1999 |
+
}
|
| 2000 |
+
},
|
| 2001 |
+
"node_modules/@types/d3-time": {
|
| 2002 |
+
"version": "3.0.4",
|
| 2003 |
+
"resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
|
| 2004 |
+
"integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
|
| 2005 |
+
"license": "MIT"
|
| 2006 |
+
},
|
| 2007 |
+
"node_modules/@types/d3-timer": {
|
| 2008 |
+
"version": "3.0.2",
|
| 2009 |
+
"resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
|
| 2010 |
+
"integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
|
| 2011 |
+
"license": "MIT"
|
| 2012 |
+
},
|
| 2013 |
"node_modules/@types/estree": {
|
| 2014 |
"version": "1.0.8",
|
| 2015 |
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
|
|
|
| 2044 |
"version": "19.2.14",
|
| 2045 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
|
| 2046 |
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
|
| 2047 |
+
"devOptional": true,
|
| 2048 |
"license": "MIT",
|
| 2049 |
"dependencies": {
|
| 2050 |
"csstype": "^3.2.2"
|
|
|
|
| 2060 |
"@types/react": "^19.2.0"
|
| 2061 |
}
|
| 2062 |
},
|
| 2063 |
+
"node_modules/@types/use-sync-external-store": {
|
| 2064 |
+
"version": "0.0.6",
|
| 2065 |
+
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
|
| 2066 |
+
"integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
|
| 2067 |
+
"license": "MIT"
|
| 2068 |
+
},
|
| 2069 |
"node_modules/@typescript-eslint/eslint-plugin": {
|
| 2070 |
"version": "8.57.2",
|
| 2071 |
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.2.tgz",
|
|
|
|
| 2293 |
"url": "https://github.com/sponsors/isaacs"
|
| 2294 |
}
|
| 2295 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2296 |
"node_modules/@typescript-eslint/utils": {
|
| 2297 |
"version": "8.57.2",
|
| 2298 |
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.2.tgz",
|
|
|
|
| 2918 |
"dev": true,
|
| 2919 |
"license": "MIT"
|
| 2920 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2921 |
"node_modules/brace-expansion": {
|
| 2922 |
"version": "1.1.12",
|
| 2923 |
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
|
|
|
|
| 2942 |
"node": ">=8"
|
| 2943 |
}
|
| 2944 |
},
|
| 2945 |
+
"node_modules/busboy": {
|
| 2946 |
+
"version": "1.6.0",
|
| 2947 |
+
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
|
| 2948 |
+
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2949 |
"dependencies": {
|
| 2950 |
+
"streamsearch": "^1.1.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2951 |
},
|
| 2952 |
"engines": {
|
| 2953 |
+
"node": ">=10.16.0"
|
| 2954 |
}
|
| 2955 |
},
|
| 2956 |
"node_modules/call-bind": {
|
|
|
|
| 3070 |
"node": ">=12"
|
| 3071 |
}
|
| 3072 |
},
|
| 3073 |
+
"node_modules/clsx": {
|
| 3074 |
+
"version": "2.1.1",
|
| 3075 |
+
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
|
| 3076 |
+
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
|
| 3077 |
+
"license": "MIT",
|
| 3078 |
+
"engines": {
|
| 3079 |
+
"node": ">=6"
|
| 3080 |
+
}
|
| 3081 |
+
},
|
| 3082 |
+
"node_modules/color": {
|
| 3083 |
+
"version": "4.2.3",
|
| 3084 |
+
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
|
| 3085 |
+
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
|
| 3086 |
+
"license": "MIT",
|
| 3087 |
+
"optional": true,
|
| 3088 |
+
"dependencies": {
|
| 3089 |
+
"color-convert": "^2.0.1",
|
| 3090 |
+
"color-string": "^1.9.0"
|
| 3091 |
+
},
|
| 3092 |
+
"engines": {
|
| 3093 |
+
"node": ">=12.5.0"
|
| 3094 |
+
}
|
| 3095 |
+
},
|
| 3096 |
"node_modules/color-convert": {
|
| 3097 |
"version": "2.0.1",
|
| 3098 |
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
|
|
| 3111 |
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
| 3112 |
"license": "MIT"
|
| 3113 |
},
|
| 3114 |
+
"node_modules/color-string": {
|
| 3115 |
+
"version": "1.9.1",
|
| 3116 |
+
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
|
| 3117 |
+
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
|
| 3118 |
+
"license": "MIT",
|
| 3119 |
+
"optional": true,
|
| 3120 |
+
"dependencies": {
|
| 3121 |
+
"color-name": "^1.0.0",
|
| 3122 |
+
"simple-swizzle": "^0.2.2"
|
| 3123 |
+
}
|
| 3124 |
+
},
|
| 3125 |
"node_modules/concat-map": {
|
| 3126 |
"version": "0.0.1",
|
| 3127 |
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
|
|
|
| 3129 |
"dev": true,
|
| 3130 |
"license": "MIT"
|
| 3131 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3132 |
"node_modules/cross-spawn": {
|
| 3133 |
"version": "7.0.6",
|
| 3134 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
|
|
| 3148 |
"version": "3.2.3",
|
| 3149 |
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
| 3150 |
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
| 3151 |
+
"devOptional": true,
|
| 3152 |
"license": "MIT"
|
| 3153 |
},
|
| 3154 |
+
"node_modules/d3-array": {
|
| 3155 |
+
"version": "3.2.4",
|
| 3156 |
+
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
|
| 3157 |
+
"integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
|
| 3158 |
+
"license": "ISC",
|
| 3159 |
+
"dependencies": {
|
| 3160 |
+
"internmap": "1 - 2"
|
| 3161 |
+
},
|
| 3162 |
+
"engines": {
|
| 3163 |
+
"node": ">=12"
|
| 3164 |
+
}
|
| 3165 |
+
},
|
| 3166 |
+
"node_modules/d3-color": {
|
| 3167 |
+
"version": "3.1.0",
|
| 3168 |
+
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
|
| 3169 |
+
"integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
|
| 3170 |
+
"license": "ISC",
|
| 3171 |
+
"engines": {
|
| 3172 |
+
"node": ">=12"
|
| 3173 |
+
}
|
| 3174 |
+
},
|
| 3175 |
+
"node_modules/d3-ease": {
|
| 3176 |
+
"version": "3.0.1",
|
| 3177 |
+
"resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
|
| 3178 |
+
"integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
|
| 3179 |
+
"license": "BSD-3-Clause",
|
| 3180 |
+
"engines": {
|
| 3181 |
+
"node": ">=12"
|
| 3182 |
+
}
|
| 3183 |
+
},
|
| 3184 |
+
"node_modules/d3-format": {
|
| 3185 |
+
"version": "3.1.2",
|
| 3186 |
+
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz",
|
| 3187 |
+
"integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==",
|
| 3188 |
+
"license": "ISC",
|
| 3189 |
+
"engines": {
|
| 3190 |
+
"node": ">=12"
|
| 3191 |
+
}
|
| 3192 |
+
},
|
| 3193 |
+
"node_modules/d3-interpolate": {
|
| 3194 |
+
"version": "3.0.1",
|
| 3195 |
+
"resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
|
| 3196 |
+
"integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
|
| 3197 |
+
"license": "ISC",
|
| 3198 |
+
"dependencies": {
|
| 3199 |
+
"d3-color": "1 - 3"
|
| 3200 |
+
},
|
| 3201 |
+
"engines": {
|
| 3202 |
+
"node": ">=12"
|
| 3203 |
+
}
|
| 3204 |
+
},
|
| 3205 |
+
"node_modules/d3-path": {
|
| 3206 |
+
"version": "3.1.0",
|
| 3207 |
+
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
|
| 3208 |
+
"integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
|
| 3209 |
+
"license": "ISC",
|
| 3210 |
+
"engines": {
|
| 3211 |
+
"node": ">=12"
|
| 3212 |
+
}
|
| 3213 |
+
},
|
| 3214 |
+
"node_modules/d3-scale": {
|
| 3215 |
+
"version": "4.0.2",
|
| 3216 |
+
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
|
| 3217 |
+
"integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
|
| 3218 |
+
"license": "ISC",
|
| 3219 |
+
"dependencies": {
|
| 3220 |
+
"d3-array": "2.10.0 - 3",
|
| 3221 |
+
"d3-format": "1 - 3",
|
| 3222 |
+
"d3-interpolate": "1.2.0 - 3",
|
| 3223 |
+
"d3-time": "2.1.1 - 3",
|
| 3224 |
+
"d3-time-format": "2 - 4"
|
| 3225 |
+
},
|
| 3226 |
+
"engines": {
|
| 3227 |
+
"node": ">=12"
|
| 3228 |
+
}
|
| 3229 |
+
},
|
| 3230 |
+
"node_modules/d3-shape": {
|
| 3231 |
+
"version": "3.2.0",
|
| 3232 |
+
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
|
| 3233 |
+
"integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
|
| 3234 |
+
"license": "ISC",
|
| 3235 |
+
"dependencies": {
|
| 3236 |
+
"d3-path": "^3.1.0"
|
| 3237 |
+
},
|
| 3238 |
+
"engines": {
|
| 3239 |
+
"node": ">=12"
|
| 3240 |
+
}
|
| 3241 |
+
},
|
| 3242 |
+
"node_modules/d3-time": {
|
| 3243 |
+
"version": "3.1.0",
|
| 3244 |
+
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
|
| 3245 |
+
"integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
|
| 3246 |
+
"license": "ISC",
|
| 3247 |
+
"dependencies": {
|
| 3248 |
+
"d3-array": "2 - 3"
|
| 3249 |
+
},
|
| 3250 |
+
"engines": {
|
| 3251 |
+
"node": ">=12"
|
| 3252 |
+
}
|
| 3253 |
+
},
|
| 3254 |
+
"node_modules/d3-time-format": {
|
| 3255 |
+
"version": "4.1.0",
|
| 3256 |
+
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
|
| 3257 |
+
"integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
|
| 3258 |
+
"license": "ISC",
|
| 3259 |
+
"dependencies": {
|
| 3260 |
+
"d3-time": "1 - 3"
|
| 3261 |
+
},
|
| 3262 |
+
"engines": {
|
| 3263 |
+
"node": ">=12"
|
| 3264 |
+
}
|
| 3265 |
+
},
|
| 3266 |
+
"node_modules/d3-timer": {
|
| 3267 |
+
"version": "3.0.1",
|
| 3268 |
+
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
|
| 3269 |
+
"integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
|
| 3270 |
+
"license": "ISC",
|
| 3271 |
+
"engines": {
|
| 3272 |
+
"node": ">=12"
|
| 3273 |
+
}
|
| 3274 |
+
},
|
| 3275 |
"node_modules/damerau-levenshtein": {
|
| 3276 |
"version": "1.0.8",
|
| 3277 |
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
|
|
|
|
| 3351 |
}
|
| 3352 |
}
|
| 3353 |
},
|
| 3354 |
+
"node_modules/decimal.js-light": {
|
| 3355 |
+
"version": "2.5.1",
|
| 3356 |
+
"resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz",
|
| 3357 |
+
"integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
|
| 3358 |
+
"license": "MIT"
|
| 3359 |
+
},
|
| 3360 |
"node_modules/deep-is": {
|
| 3361 |
"version": "0.1.4",
|
| 3362 |
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
|
|
|
| 3438 |
"node": ">= 0.4"
|
| 3439 |
}
|
| 3440 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3441 |
"node_modules/emoji-regex": {
|
| 3442 |
"version": "9.2.2",
|
| 3443 |
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
|
|
|
| 3637 |
"url": "https://github.com/sponsors/ljharb"
|
| 3638 |
}
|
| 3639 |
},
|
| 3640 |
+
"node_modules/es-toolkit": {
|
| 3641 |
+
"version": "1.45.1",
|
| 3642 |
+
"resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.45.1.tgz",
|
| 3643 |
+
"integrity": "sha512-/jhoOj/Fx+A+IIyDNOvO3TItGmlMKhtX8ISAHKE90c4b/k1tqaqEZ+uUqfpU8DMnW5cgNJv606zS55jGvza0Xw==",
|
| 3644 |
+
"license": "MIT",
|
| 3645 |
+
"workspaces": [
|
| 3646 |
+
"docs",
|
| 3647 |
+
"benchmarks"
|
| 3648 |
+
]
|
| 3649 |
+
},
|
| 3650 |
"node_modules/escalade": {
|
| 3651 |
"version": "3.2.0",
|
| 3652 |
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
|
|
|
| 3730 |
}
|
| 3731 |
},
|
| 3732 |
"node_modules/eslint-config-next": {
|
| 3733 |
+
"version": "15.1.4",
|
| 3734 |
+
"resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.1.4.tgz",
|
| 3735 |
+
"integrity": "sha512-u9+7lFmfhKNgGjhQ9tBeyCFsPJyq0SvGioMJBngPC7HXUpR0U+ckEwQR48s7TrRNHra1REm6evGL2ie38agALg==",
|
| 3736 |
"dev": true,
|
| 3737 |
"license": "MIT",
|
| 3738 |
"dependencies": {
|
| 3739 |
+
"@next/eslint-plugin-next": "15.1.4",
|
| 3740 |
+
"@rushstack/eslint-patch": "^1.10.3",
|
| 3741 |
+
"@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
| 3742 |
+
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
| 3743 |
"eslint-import-resolver-node": "^0.3.6",
|
| 3744 |
"eslint-import-resolver-typescript": "^3.5.2",
|
| 3745 |
+
"eslint-plugin-import": "^2.31.0",
|
| 3746 |
"eslint-plugin-jsx-a11y": "^6.10.0",
|
| 3747 |
"eslint-plugin-react": "^7.37.0",
|
| 3748 |
+
"eslint-plugin-react-hooks": "^5.0.0"
|
|
|
|
|
|
|
| 3749 |
},
|
| 3750 |
"peerDependencies": {
|
| 3751 |
+
"eslint": "^7.23.0 || ^8.0.0 || ^9.0.0",
|
| 3752 |
"typescript": ">=3.3.1"
|
| 3753 |
},
|
| 3754 |
"peerDependenciesMeta": {
|
|
|
|
| 3757 |
}
|
| 3758 |
}
|
| 3759 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3760 |
"node_modules/eslint-import-resolver-node": {
|
| 3761 |
"version": "0.3.9",
|
| 3762 |
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
|
|
|
|
| 3886 |
"ms": "^2.1.1"
|
| 3887 |
}
|
| 3888 |
},
|
| 3889 |
+
"node_modules/eslint-plugin-import/node_modules/semver": {
|
| 3890 |
+
"version": "6.3.1",
|
| 3891 |
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
| 3892 |
+
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
| 3893 |
+
"dev": true,
|
| 3894 |
+
"license": "ISC",
|
| 3895 |
+
"bin": {
|
| 3896 |
+
"semver": "bin/semver.js"
|
| 3897 |
+
}
|
| 3898 |
+
},
|
| 3899 |
"node_modules/eslint-plugin-jsx-a11y": {
|
| 3900 |
"version": "6.10.2",
|
| 3901 |
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz",
|
|
|
|
| 3960 |
}
|
| 3961 |
},
|
| 3962 |
"node_modules/eslint-plugin-react-hooks": {
|
| 3963 |
+
"version": "5.2.0",
|
| 3964 |
+
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz",
|
| 3965 |
+
"integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==",
|
| 3966 |
"dev": true,
|
| 3967 |
"license": "MIT",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3968 |
"engines": {
|
| 3969 |
+
"node": ">=10"
|
| 3970 |
},
|
| 3971 |
"peerDependencies": {
|
| 3972 |
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
|
|
|
|
| 3996 |
"url": "https://github.com/sponsors/ljharb"
|
| 3997 |
}
|
| 3998 |
},
|
| 3999 |
+
"node_modules/eslint-plugin-react/node_modules/semver": {
|
| 4000 |
+
"version": "6.3.1",
|
| 4001 |
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
| 4002 |
+
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
| 4003 |
+
"dev": true,
|
| 4004 |
+
"license": "ISC",
|
| 4005 |
+
"bin": {
|
| 4006 |
+
"semver": "bin/semver.js"
|
| 4007 |
+
}
|
| 4008 |
+
},
|
| 4009 |
"node_modules/eslint-scope": {
|
| 4010 |
"version": "8.4.0",
|
| 4011 |
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
|
|
|
|
| 4100 |
"node": ">=0.10.0"
|
| 4101 |
}
|
| 4102 |
},
|
| 4103 |
+
"node_modules/eventemitter3": {
|
| 4104 |
+
"version": "5.0.4",
|
| 4105 |
+
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
|
| 4106 |
+
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
|
| 4107 |
+
"license": "MIT"
|
| 4108 |
+
},
|
| 4109 |
"node_modules/fast-deep-equal": {
|
| 4110 |
"version": "3.1.3",
|
| 4111 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
|
|
|
| 4258 |
"@firebase/util": "1.15.0"
|
| 4259 |
}
|
| 4260 |
},
|
| 4261 |
+
"node_modules/firebase/node_modules/@firebase/auth": {
|
| 4262 |
+
"version": "1.12.2",
|
| 4263 |
+
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.12.2.tgz",
|
| 4264 |
+
"integrity": "sha512-CZJL8V10Vzibs+pDTXdQF+hot1IigIoqF4a4lA/qr5Deo1srcefiyIfgg28B67Lk7IxZhwfJMuI+1bu2xBmV0A==",
|
| 4265 |
+
"license": "Apache-2.0",
|
| 4266 |
+
"dependencies": {
|
| 4267 |
+
"@firebase/component": "0.7.2",
|
| 4268 |
+
"@firebase/logger": "0.5.0",
|
| 4269 |
+
"@firebase/util": "1.15.0",
|
| 4270 |
+
"tslib": "^2.1.0"
|
| 4271 |
+
},
|
| 4272 |
+
"engines": {
|
| 4273 |
+
"node": ">=20.0.0"
|
| 4274 |
+
},
|
| 4275 |
+
"peerDependencies": {
|
| 4276 |
+
"@firebase/app": "0.x",
|
| 4277 |
+
"@react-native-async-storage/async-storage": "^2.2.0"
|
| 4278 |
+
},
|
| 4279 |
+
"peerDependenciesMeta": {
|
| 4280 |
+
"@react-native-async-storage/async-storage": {
|
| 4281 |
+
"optional": true
|
| 4282 |
+
}
|
| 4283 |
+
}
|
| 4284 |
+
},
|
| 4285 |
"node_modules/flat-cache": {
|
| 4286 |
"version": "4.0.1",
|
| 4287 |
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
|
|
|
|
| 4319 |
"url": "https://github.com/sponsors/ljharb"
|
| 4320 |
}
|
| 4321 |
},
|
| 4322 |
+
"node_modules/framer-motion": {
|
| 4323 |
+
"version": "12.38.0",
|
| 4324 |
+
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.38.0.tgz",
|
| 4325 |
+
"integrity": "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==",
|
| 4326 |
+
"license": "MIT",
|
| 4327 |
+
"dependencies": {
|
| 4328 |
+
"motion-dom": "^12.38.0",
|
| 4329 |
+
"motion-utils": "^12.36.0",
|
| 4330 |
+
"tslib": "^2.4.0"
|
| 4331 |
+
},
|
| 4332 |
+
"peerDependencies": {
|
| 4333 |
+
"@emotion/is-prop-valid": "*",
|
| 4334 |
+
"react": "^18.0.0 || ^19.0.0",
|
| 4335 |
+
"react-dom": "^18.0.0 || ^19.0.0"
|
| 4336 |
+
},
|
| 4337 |
+
"peerDependenciesMeta": {
|
| 4338 |
+
"@emotion/is-prop-valid": {
|
| 4339 |
+
"optional": true
|
| 4340 |
+
},
|
| 4341 |
+
"react": {
|
| 4342 |
+
"optional": true
|
| 4343 |
+
},
|
| 4344 |
+
"react-dom": {
|
| 4345 |
+
"optional": true
|
| 4346 |
+
}
|
| 4347 |
+
}
|
| 4348 |
+
},
|
| 4349 |
"node_modules/function-bind": {
|
| 4350 |
"version": "1.1.2",
|
| 4351 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
|
|
| 4397 |
"node": ">= 0.4"
|
| 4398 |
}
|
| 4399 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4400 |
"node_modules/get-caller-file": {
|
| 4401 |
"version": "2.0.5",
|
| 4402 |
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
|
|
|
| 4633 |
"node": ">= 0.4"
|
| 4634 |
}
|
| 4635 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4636 |
"node_modules/http-parser-js": {
|
| 4637 |
"version": "0.5.10",
|
| 4638 |
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
|
|
|
|
| 4655 |
"node": ">= 4"
|
| 4656 |
}
|
| 4657 |
},
|
| 4658 |
+
"node_modules/immer": {
|
| 4659 |
+
"version": "10.2.0",
|
| 4660 |
+
"resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz",
|
| 4661 |
+
"integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
|
| 4662 |
+
"license": "MIT",
|
| 4663 |
+
"funding": {
|
| 4664 |
+
"type": "opencollective",
|
| 4665 |
+
"url": "https://opencollective.com/immer"
|
| 4666 |
+
}
|
| 4667 |
+
},
|
| 4668 |
"node_modules/import-fresh": {
|
| 4669 |
"version": "3.3.1",
|
| 4670 |
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
|
|
|
|
| 4707 |
"node": ">= 0.4"
|
| 4708 |
}
|
| 4709 |
},
|
| 4710 |
+
"node_modules/internmap": {
|
| 4711 |
+
"version": "2.0.3",
|
| 4712 |
+
"resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
|
| 4713 |
+
"integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
|
| 4714 |
+
"license": "ISC",
|
| 4715 |
+
"engines": {
|
| 4716 |
+
"node": ">=12"
|
| 4717 |
+
}
|
| 4718 |
+
},
|
| 4719 |
"node_modules/is-array-buffer": {
|
| 4720 |
"version": "3.0.5",
|
| 4721 |
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
|
|
|
|
| 4734 |
"url": "https://github.com/sponsors/ljharb"
|
| 4735 |
}
|
| 4736 |
},
|
| 4737 |
+
"node_modules/is-arrayish": {
|
| 4738 |
+
"version": "0.3.4",
|
| 4739 |
+
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz",
|
| 4740 |
+
"integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==",
|
| 4741 |
+
"license": "MIT",
|
| 4742 |
+
"optional": true
|
| 4743 |
+
},
|
| 4744 |
"node_modules/is-async-function": {
|
| 4745 |
"version": "2.1.1",
|
| 4746 |
"resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
|
|
|
|
| 4804 |
"semver": "^7.7.1"
|
| 4805 |
}
|
| 4806 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4807 |
"node_modules/is-callable": {
|
| 4808 |
"version": "1.2.7",
|
| 4809 |
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
|
|
|
|
| 5196 |
"js-yaml": "bin/js-yaml.js"
|
| 5197 |
}
|
| 5198 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5199 |
"node_modules/json-buffer": {
|
| 5200 |
"version": "3.0.1",
|
| 5201 |
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
|
|
|
| 5218 |
"license": "MIT"
|
| 5219 |
},
|
| 5220 |
"node_modules/json5": {
|
| 5221 |
+
"version": "1.0.2",
|
| 5222 |
+
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
| 5223 |
+
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
| 5224 |
"dev": true,
|
| 5225 |
"license": "MIT",
|
| 5226 |
+
"dependencies": {
|
| 5227 |
+
"minimist": "^1.2.0"
|
| 5228 |
+
},
|
| 5229 |
"bin": {
|
| 5230 |
"json5": "lib/cli.js"
|
|
|
|
|
|
|
|
|
|
| 5231 |
}
|
| 5232 |
},
|
| 5233 |
"node_modules/jsx-ast-utils": {
|
|
|
|
| 5599 |
"loose-envify": "cli.js"
|
| 5600 |
}
|
| 5601 |
},
|
| 5602 |
+
"node_modules/lucide-react": {
|
| 5603 |
+
"version": "1.0.1",
|
| 5604 |
+
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.0.1.tgz",
|
| 5605 |
+
"integrity": "sha512-lih7tKEczCYOQjVEzpFuxEuNzlwf+1yhvlMlEkGWJM3va8Pugv8bYXc/pRtcjPncaP7k84X0Pt/71ufxvqEPtQ==",
|
|
|
|
| 5606 |
"license": "ISC",
|
| 5607 |
+
"peerDependencies": {
|
| 5608 |
+
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
| 5609 |
}
|
| 5610 |
},
|
| 5611 |
"node_modules/magic-string": {
|
|
|
|
| 5675 |
"url": "https://github.com/sponsors/ljharb"
|
| 5676 |
}
|
| 5677 |
},
|
| 5678 |
+
"node_modules/motion-dom": {
|
| 5679 |
+
"version": "12.38.0",
|
| 5680 |
+
"resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.38.0.tgz",
|
| 5681 |
+
"integrity": "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==",
|
| 5682 |
+
"license": "MIT",
|
| 5683 |
+
"dependencies": {
|
| 5684 |
+
"motion-utils": "^12.36.0"
|
| 5685 |
+
}
|
| 5686 |
+
},
|
| 5687 |
+
"node_modules/motion-utils": {
|
| 5688 |
+
"version": "12.36.0",
|
| 5689 |
+
"resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz",
|
| 5690 |
+
"integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==",
|
| 5691 |
+
"license": "MIT"
|
| 5692 |
+
},
|
| 5693 |
"node_modules/ms": {
|
| 5694 |
"version": "2.1.3",
|
| 5695 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
|
|
|
| 5739 |
"license": "MIT"
|
| 5740 |
},
|
| 5741 |
"node_modules/next": {
|
| 5742 |
+
"version": "15.1.4",
|
| 5743 |
+
"resolved": "https://registry.npmjs.org/next/-/next-15.1.4.tgz",
|
| 5744 |
+
"integrity": "sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==",
|
| 5745 |
+
"deprecated": "This version has a security vulnerability. Please upgrade to a patched version. See https://nextjs.org/blog/CVE-2025-66478 for more details.",
|
| 5746 |
"license": "MIT",
|
| 5747 |
"dependencies": {
|
| 5748 |
+
"@next/env": "15.1.4",
|
| 5749 |
+
"@swc/counter": "0.1.3",
|
| 5750 |
"@swc/helpers": "0.5.15",
|
| 5751 |
+
"busboy": "1.6.0",
|
| 5752 |
"caniuse-lite": "^1.0.30001579",
|
| 5753 |
"postcss": "8.4.31",
|
| 5754 |
"styled-jsx": "5.1.6"
|
|
|
|
| 5757 |
"next": "dist/bin/next"
|
| 5758 |
},
|
| 5759 |
"engines": {
|
| 5760 |
+
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
|
| 5761 |
},
|
| 5762 |
"optionalDependencies": {
|
| 5763 |
+
"@next/swc-darwin-arm64": "15.1.4",
|
| 5764 |
+
"@next/swc-darwin-x64": "15.1.4",
|
| 5765 |
+
"@next/swc-linux-arm64-gnu": "15.1.4",
|
| 5766 |
+
"@next/swc-linux-arm64-musl": "15.1.4",
|
| 5767 |
+
"@next/swc-linux-x64-gnu": "15.1.4",
|
| 5768 |
+
"@next/swc-linux-x64-musl": "15.1.4",
|
| 5769 |
+
"@next/swc-win32-arm64-msvc": "15.1.4",
|
| 5770 |
+
"@next/swc-win32-x64-msvc": "15.1.4",
|
| 5771 |
+
"sharp": "^0.33.5"
|
| 5772 |
},
|
| 5773 |
"peerDependencies": {
|
| 5774 |
"@opentelemetry/api": "^1.1.0",
|
| 5775 |
+
"@playwright/test": "^1.41.2",
|
| 5776 |
"babel-plugin-react-compiler": "*",
|
| 5777 |
"react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
|
| 5778 |
"react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
|
|
|
|
| 5840 |
"url": "https://github.com/sponsors/ljharb"
|
| 5841 |
}
|
| 5842 |
},
|
| 5843 |
+
"node_modules/node-exports-info/node_modules/semver": {
|
| 5844 |
+
"version": "6.3.1",
|
| 5845 |
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
| 5846 |
+
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
| 5847 |
"dev": true,
|
| 5848 |
+
"license": "ISC",
|
| 5849 |
+
"bin": {
|
| 5850 |
+
"semver": "bin/semver.js"
|
| 5851 |
+
}
|
| 5852 |
},
|
| 5853 |
"node_modules/object-assign": {
|
| 5854 |
"version": "4.1.1",
|
|
|
|
| 6161 |
"react-is": "^16.13.1"
|
| 6162 |
}
|
| 6163 |
},
|
| 6164 |
+
"node_modules/prop-types/node_modules/react-is": {
|
| 6165 |
+
"version": "16.13.1",
|
| 6166 |
+
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
| 6167 |
+
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
|
| 6168 |
+
"dev": true,
|
| 6169 |
+
"license": "MIT"
|
| 6170 |
+
},
|
| 6171 |
"node_modules/protobufjs": {
|
| 6172 |
"version": "7.5.4",
|
| 6173 |
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
|
|
|
|
| 6224 |
"license": "MIT"
|
| 6225 |
},
|
| 6226 |
"node_modules/react": {
|
| 6227 |
+
"version": "19.0.0",
|
| 6228 |
+
"resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
|
| 6229 |
+
"integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
|
| 6230 |
"license": "MIT",
|
| 6231 |
"engines": {
|
| 6232 |
"node": ">=0.10.0"
|
| 6233 |
}
|
| 6234 |
},
|
| 6235 |
"node_modules/react-dom": {
|
| 6236 |
+
"version": "19.0.0",
|
| 6237 |
+
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
|
| 6238 |
+
"integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
|
| 6239 |
"license": "MIT",
|
| 6240 |
"dependencies": {
|
| 6241 |
+
"scheduler": "^0.25.0"
|
| 6242 |
},
|
| 6243 |
"peerDependencies": {
|
| 6244 |
+
"react": "^19.0.0"
|
| 6245 |
}
|
| 6246 |
},
|
| 6247 |
"node_modules/react-is": {
|
| 6248 |
+
"version": "19.2.4",
|
| 6249 |
+
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz",
|
| 6250 |
+
"integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==",
|
| 6251 |
+
"license": "MIT",
|
| 6252 |
+
"peer": true
|
| 6253 |
+
},
|
| 6254 |
+
"node_modules/react-redux": {
|
| 6255 |
+
"version": "9.2.0",
|
| 6256 |
+
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
|
| 6257 |
+
"integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
|
| 6258 |
+
"license": "MIT",
|
| 6259 |
+
"dependencies": {
|
| 6260 |
+
"@types/use-sync-external-store": "^0.0.6",
|
| 6261 |
+
"use-sync-external-store": "^1.4.0"
|
| 6262 |
+
},
|
| 6263 |
+
"peerDependencies": {
|
| 6264 |
+
"@types/react": "^18.2.25 || ^19",
|
| 6265 |
+
"react": "^18.0 || ^19",
|
| 6266 |
+
"redux": "^5.0.0"
|
| 6267 |
+
},
|
| 6268 |
+
"peerDependenciesMeta": {
|
| 6269 |
+
"@types/react": {
|
| 6270 |
+
"optional": true
|
| 6271 |
+
},
|
| 6272 |
+
"redux": {
|
| 6273 |
+
"optional": true
|
| 6274 |
+
}
|
| 6275 |
+
}
|
| 6276 |
+
},
|
| 6277 |
+
"node_modules/recharts": {
|
| 6278 |
+
"version": "3.8.0",
|
| 6279 |
+
"resolved": "https://registry.npmjs.org/recharts/-/recharts-3.8.0.tgz",
|
| 6280 |
+
"integrity": "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ==",
|
| 6281 |
+
"license": "MIT",
|
| 6282 |
+
"workspaces": [
|
| 6283 |
+
"www"
|
| 6284 |
+
],
|
| 6285 |
+
"dependencies": {
|
| 6286 |
+
"@reduxjs/toolkit": "^1.9.0 || 2.x.x",
|
| 6287 |
+
"clsx": "^2.1.1",
|
| 6288 |
+
"decimal.js-light": "^2.5.1",
|
| 6289 |
+
"es-toolkit": "^1.39.3",
|
| 6290 |
+
"eventemitter3": "^5.0.1",
|
| 6291 |
+
"immer": "^10.1.1",
|
| 6292 |
+
"react-redux": "8.x.x || 9.x.x",
|
| 6293 |
+
"reselect": "5.1.1",
|
| 6294 |
+
"tiny-invariant": "^1.3.3",
|
| 6295 |
+
"use-sync-external-store": "^1.2.2",
|
| 6296 |
+
"victory-vendor": "^37.0.2"
|
| 6297 |
+
},
|
| 6298 |
+
"engines": {
|
| 6299 |
+
"node": ">=18"
|
| 6300 |
+
},
|
| 6301 |
+
"peerDependencies": {
|
| 6302 |
+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
| 6303 |
+
"react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
| 6304 |
+
"react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
| 6305 |
+
}
|
| 6306 |
+
},
|
| 6307 |
+
"node_modules/redux": {
|
| 6308 |
+
"version": "5.0.1",
|
| 6309 |
+
"resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
|
| 6310 |
+
"integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
|
| 6311 |
"license": "MIT"
|
| 6312 |
},
|
| 6313 |
+
"node_modules/redux-thunk": {
|
| 6314 |
+
"version": "3.1.0",
|
| 6315 |
+
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
|
| 6316 |
+
"integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
|
| 6317 |
+
"license": "MIT",
|
| 6318 |
+
"peerDependencies": {
|
| 6319 |
+
"redux": "^5.0.0"
|
| 6320 |
+
}
|
| 6321 |
+
},
|
| 6322 |
"node_modules/reflect.getprototypeof": {
|
| 6323 |
"version": "1.0.10",
|
| 6324 |
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
|
|
|
|
| 6372 |
"node": ">=0.10.0"
|
| 6373 |
}
|
| 6374 |
},
|
| 6375 |
+
"node_modules/reselect": {
|
| 6376 |
+
"version": "5.1.1",
|
| 6377 |
+
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
|
| 6378 |
+
"integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
|
| 6379 |
+
"license": "MIT"
|
| 6380 |
+
},
|
| 6381 |
"node_modules/resolve": {
|
| 6382 |
"version": "1.22.11",
|
| 6383 |
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
|
|
|
|
| 6530 |
}
|
| 6531 |
},
|
| 6532 |
"node_modules/scheduler": {
|
| 6533 |
+
"version": "0.25.0",
|
| 6534 |
+
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
|
| 6535 |
+
"integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==",
|
| 6536 |
"license": "MIT"
|
| 6537 |
},
|
| 6538 |
"node_modules/semver": {
|
| 6539 |
+
"version": "7.7.4",
|
| 6540 |
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
|
| 6541 |
+
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
|
| 6542 |
+
"devOptional": true,
|
| 6543 |
"license": "ISC",
|
| 6544 |
"bin": {
|
| 6545 |
"semver": "bin/semver.js"
|
| 6546 |
+
},
|
| 6547 |
+
"engines": {
|
| 6548 |
+
"node": ">=10"
|
| 6549 |
}
|
| 6550 |
},
|
| 6551 |
"node_modules/set-function-length": {
|
|
|
|
| 6598 |
}
|
| 6599 |
},
|
| 6600 |
"node_modules/sharp": {
|
| 6601 |
+
"version": "0.33.5",
|
| 6602 |
+
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
|
| 6603 |
+
"integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
|
| 6604 |
"hasInstallScript": true,
|
| 6605 |
"license": "Apache-2.0",
|
| 6606 |
"optional": true,
|
| 6607 |
"dependencies": {
|
| 6608 |
+
"color": "^4.2.3",
|
| 6609 |
+
"detect-libc": "^2.0.3",
|
| 6610 |
+
"semver": "^7.6.3"
|
| 6611 |
},
|
| 6612 |
"engines": {
|
| 6613 |
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
|
|
|
| 6616 |
"url": "https://opencollective.com/libvips"
|
| 6617 |
},
|
| 6618 |
"optionalDependencies": {
|
| 6619 |
+
"@img/sharp-darwin-arm64": "0.33.5",
|
| 6620 |
+
"@img/sharp-darwin-x64": "0.33.5",
|
| 6621 |
+
"@img/sharp-libvips-darwin-arm64": "1.0.4",
|
| 6622 |
+
"@img/sharp-libvips-darwin-x64": "1.0.4",
|
| 6623 |
+
"@img/sharp-libvips-linux-arm": "1.0.5",
|
| 6624 |
+
"@img/sharp-libvips-linux-arm64": "1.0.4",
|
| 6625 |
+
"@img/sharp-libvips-linux-s390x": "1.0.4",
|
| 6626 |
+
"@img/sharp-libvips-linux-x64": "1.0.4",
|
| 6627 |
+
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
|
| 6628 |
+
"@img/sharp-libvips-linuxmusl-x64": "1.0.4",
|
| 6629 |
+
"@img/sharp-linux-arm": "0.33.5",
|
| 6630 |
+
"@img/sharp-linux-arm64": "0.33.5",
|
| 6631 |
+
"@img/sharp-linux-s390x": "0.33.5",
|
| 6632 |
+
"@img/sharp-linux-x64": "0.33.5",
|
| 6633 |
+
"@img/sharp-linuxmusl-arm64": "0.33.5",
|
| 6634 |
+
"@img/sharp-linuxmusl-x64": "0.33.5",
|
| 6635 |
+
"@img/sharp-wasm32": "0.33.5",
|
| 6636 |
+
"@img/sharp-win32-ia32": "0.33.5",
|
| 6637 |
+
"@img/sharp-win32-x64": "0.33.5"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6638 |
}
|
| 6639 |
},
|
| 6640 |
"node_modules/shebang-command": {
|
|
|
|
| 6736 |
"url": "https://github.com/sponsors/ljharb"
|
| 6737 |
}
|
| 6738 |
},
|
| 6739 |
+
"node_modules/simple-swizzle": {
|
| 6740 |
+
"version": "0.2.4",
|
| 6741 |
+
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz",
|
| 6742 |
+
"integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==",
|
| 6743 |
+
"license": "MIT",
|
| 6744 |
+
"optional": true,
|
| 6745 |
+
"dependencies": {
|
| 6746 |
+
"is-arrayish": "^0.3.1"
|
| 6747 |
+
}
|
| 6748 |
+
},
|
| 6749 |
"node_modules/source-map-js": {
|
| 6750 |
"version": "1.2.1",
|
| 6751 |
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
|
|
|
| 6776 |
"node": ">= 0.4"
|
| 6777 |
}
|
| 6778 |
},
|
| 6779 |
+
"node_modules/streamsearch": {
|
| 6780 |
+
"version": "1.1.0",
|
| 6781 |
+
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
|
| 6782 |
+
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
|
| 6783 |
+
"engines": {
|
| 6784 |
+
"node": ">=10.0.0"
|
| 6785 |
+
}
|
| 6786 |
+
},
|
| 6787 |
"node_modules/string-width": {
|
| 6788 |
"version": "4.2.3",
|
| 6789 |
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
|
|
|
| 7022 |
"url": "https://opencollective.com/webpack"
|
| 7023 |
}
|
| 7024 |
},
|
| 7025 |
+
"node_modules/tiny-invariant": {
|
| 7026 |
+
"version": "1.3.3",
|
| 7027 |
+
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
|
| 7028 |
+
"integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
|
| 7029 |
+
"license": "MIT"
|
| 7030 |
+
},
|
| 7031 |
"node_modules/tinyglobby": {
|
| 7032 |
"version": "0.2.15",
|
| 7033 |
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
|
|
|
| 7115 |
"strip-bom": "^3.0.0"
|
| 7116 |
}
|
| 7117 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7118 |
"node_modules/tslib": {
|
| 7119 |
"version": "2.8.1",
|
| 7120 |
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
|
|
|
| 7226 |
"node": ">=14.17"
|
| 7227 |
}
|
| 7228 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7229 |
"node_modules/unbox-primitive": {
|
| 7230 |
"version": "1.1.0",
|
| 7231 |
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
|
|
|
|
| 7286 |
"@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
|
| 7287 |
}
|
| 7288 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7289 |
"node_modules/uri-js": {
|
| 7290 |
"version": "4.4.1",
|
| 7291 |
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
|
|
|
| 7296 |
"punycode": "^2.1.0"
|
| 7297 |
}
|
| 7298 |
},
|
| 7299 |
+
"node_modules/use-sync-external-store": {
|
| 7300 |
+
"version": "1.6.0",
|
| 7301 |
+
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
|
| 7302 |
+
"integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
|
| 7303 |
+
"license": "MIT",
|
| 7304 |
+
"peerDependencies": {
|
| 7305 |
+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
| 7306 |
+
}
|
| 7307 |
+
},
|
| 7308 |
+
"node_modules/victory-vendor": {
|
| 7309 |
+
"version": "37.3.6",
|
| 7310 |
+
"resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz",
|
| 7311 |
+
"integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==",
|
| 7312 |
+
"license": "MIT AND ISC",
|
| 7313 |
+
"dependencies": {
|
| 7314 |
+
"@types/d3-array": "^3.0.3",
|
| 7315 |
+
"@types/d3-ease": "^3.0.0",
|
| 7316 |
+
"@types/d3-interpolate": "^3.0.1",
|
| 7317 |
+
"@types/d3-scale": "^4.0.2",
|
| 7318 |
+
"@types/d3-shape": "^3.1.0",
|
| 7319 |
+
"@types/d3-time": "^3.0.0",
|
| 7320 |
+
"@types/d3-timer": "^3.0.0",
|
| 7321 |
+
"d3-array": "^3.1.6",
|
| 7322 |
+
"d3-ease": "^3.0.1",
|
| 7323 |
+
"d3-interpolate": "^3.0.1",
|
| 7324 |
+
"d3-scale": "^4.0.2",
|
| 7325 |
+
"d3-shape": "^3.1.0",
|
| 7326 |
+
"d3-time": "^3.0.0",
|
| 7327 |
+
"d3-timer": "^3.0.1"
|
| 7328 |
+
}
|
| 7329 |
+
},
|
| 7330 |
"node_modules/web-vitals": {
|
| 7331 |
"version": "4.2.4",
|
| 7332 |
"resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz",
|
|
|
|
| 7497 |
"node": ">=10"
|
| 7498 |
}
|
| 7499 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7500 |
"node_modules/yargs": {
|
| 7501 |
"version": "17.7.2",
|
| 7502 |
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
|
|
|
| 7536 |
"funding": {
|
| 7537 |
"url": "https://github.com/sponsors/sindresorhus"
|
| 7538 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7539 |
}
|
| 7540 |
}
|
| 7541 |
}
|
package.json
CHANGED
|
@@ -10,9 +10,12 @@
|
|
| 10 |
},
|
| 11 |
"dependencies": {
|
| 12 |
"firebase": "^12.11.0",
|
|
|
|
|
|
|
| 13 |
"next": "15.1.4",
|
| 14 |
"react": "19.0.0",
|
| 15 |
-
"react-dom": "19.0.0"
|
|
|
|
| 16 |
},
|
| 17 |
"devDependencies": {
|
| 18 |
"@tailwindcss/postcss": "^4",
|
|
|
|
| 10 |
},
|
| 11 |
"dependencies": {
|
| 12 |
"firebase": "^12.11.0",
|
| 13 |
+
"framer-motion": "^12.38.0",
|
| 14 |
+
"lucide-react": "^1.0.1",
|
| 15 |
"next": "15.1.4",
|
| 16 |
"react": "19.0.0",
|
| 17 |
+
"react-dom": "19.0.0",
|
| 18 |
+
"recharts": "^3.8.0"
|
| 19 |
},
|
| 20 |
"devDependencies": {
|
| 21 |
"@tailwindcss/postcss": "^4",
|