/* Copyright 2026 Marimo. All rights reserved. */ import { Loader2Icon } from "lucide-react"; import { useEffect, useState } from "react"; import { cn } from "@/utils/cn"; export const LargeSpinner = ({ title }: { title?: string }) => { const [currentTitle, setCurrentTitle] = useState(title); const [isVisible, setIsVisible] = useState(true); useEffect(() => { if (title !== currentTitle) { setIsVisible(false); const timer = setTimeout(() => { setCurrentTitle(title); setIsVisible(true); }, 300); // Wait for fade out animation to complete return () => clearTimeout(timer); } }, [title, currentTitle]); return (