Loader 1
LoadersLoading Animation

Code
relume-loader1.tsx
"use client";
import { useEffect, useState } from "react";
import { ProgressActivity } from "relume-icons";
export const Loader1 = () => {
const [isExiting, setIsExiting] = useState(false);
useEffect(() => {
const timer = setTimeout(() => {
setIsExiting(true);
}, 2000);
return () => clearTimeout(timer);
}, []);
return (
<div className="relative h-screen overflow-hidden">
<div
className={`fixed inset-0 z-[9999] flex items-center justify-center bg-neutral-darkest transition-transform duration-700 ease-in-out ${
isExiting ? "-translate-y-full" : "translate-y-0"
}`}
>
{!isExiting && (
<div className="flex flex-col items-center justify-center">
<ProgressActivity className="h-16 w-16 animate-spin text-white" />
</div>
)}
</div>
</div>
);
};npm i @radix-ui/react-accordion @radix-ui/react-checkbox @radix-ui/react-dialog @radix-ui/react-dropdown-menu @radix-ui/react-label @radix-ui/react-radio-group @radix-ui/react-select @radix-ui/react-slider @radix-ui/react-slot @radix-ui/react-switch @radix-ui/react-tabs class-variance-authority@0.7.1 clsx@^2.1.1 luxon@^3.5.0 motion@^12.15.0 relume-icons@1.3.0 tailwind-merge@^2.2.2


