AI Unlock Animation
tripled/ai-unlock-animation-shadcnuiFreeComponent
Premium unlock animation with particles, ripples, and loading states
Live preview
live · rendered by the registry
Rendered by tripled on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.tripled.work/r/ai-unlock-animation-shadcnui.jsonSource
1"use client";23import { AnimatePresence, motion } from "framer-motion";4import { useEffect, useState } from "react";56type AIUnlockAnimationProps = {7 autoPlay?: boolean;8};910export function AIUnlockAnimation({ autoPlay = true }: AIUnlockAnimationProps) {11 const [isUnlocking, setIsUnlocking] = useState(false);12 const [isComplete, setIsComplete] = useState(false);1314 // Auto-start if autoplay is enabled15 useEffect(() => {16 if (autoPlay) {17 setIsUnlocking(true);18 setIsComplete(false);19 const timer = setTimeout(() => {20 setIsComplete(true);21 }, 3000);22 return () => clearTimeout(timer);23 }24 }, [autoPlay]);2526 const triggerUnlock = () => {27 setIsUnlocking(true);28 setIsComplete(false);29 setTimeout(() => {30 setIsComplete(true);31 }, 3000);32 };3334 const resetAnimation = () => {35 setIsUnlocking(false);36 setIsComplete(false);37 };3839 // Generate minimal particles40 const particles = Array.from({ length: 24 }, (_, i) => ({41 id: i,42 angle: (Math.PI * 2 * i) / 24,43 delay: Math.random() * 0.3,44 duration: 1.2 + Math.random() * 0.5,45 }));4647 return (48 <div className="relative w-full max-w-md">49 {/* Main content card */}50 <motion.div51 className="relative bg-card border border-border rounded-2xl p-16 shadow-sm"52 animate={53 isUnlocking54 ? {55 boxShadow: [56 "0 1px 3px 0 rgb(0 0 0 / 0.1)",57 "0 0 0 4px rgb(0 0 0 / 0.05)",58 "0 1px 3px 0 rgb(0 0 0 / 0.1)",59 ],60 }61 : {}62 }63 transition={{ duration: 1.5, ease: "easeInOut" }}64 >65 {/* Ripple effects */}66 <AnimatePresence>67 {isUnlocking && (68 <>69 {[0, 0.2, 0.4].map((delay, i) => (70 <motion.div71 key={i}72 className="absolute inset-0 rounded-2xl border border-foreground z-0"73 initial={{ scale: 1, opacity: 0.3 }}74 style={{ zIndex: -1 }}75 animate={{ scale: 2, opacity: 0 }}76 exit={{ opacity: 0 }}77 transition={{ duration: 1.5, delay, ease: "easeOut" }}78 />79 ))}80 </>81 )}82 </AnimatePresence>8384 {/* Particle system */}85 <AnimatePresence>86 {isUnlocking &&87 particles.map((particle) => (88 <motion.div89// … truncated
What it pulls in
npm packages
Files it writes
More from tripled
All 282 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| AI Chat Interfaceai-chat-interface-shadcnui | tripled | Components | Free | 2 deps | |
| AI Glow Inputai-glow-input-shadcnui | tripled | Components | Free | 2 deps | |
| AI Loading Skeletonai-loading-skeleton-shadcnui | tripled | Components | Free | 2 deps | |
| AI Response Typing Streamai-response-typing-shadcnui | tripled | Components | Free | 2 deps | |
| Animated Accordionanimated-accordion-shadcnui | tripled | Components | Free | 2 deps | |
| Animated Card Stackanimated-card-stack-baseui | tripled | Components | Free | 2 deps | |
| Animated Card Stackanimated-card-stack-shadcnui | tripled | Components | Free | 2 deps | |
| Animated Checkboxanimated-checkbox-shadcnui | tripled | Components | Free | 2 deps |
