Animated UI Component Library With Framer Motion and Three.js – MeetUI

An animated UI component library built with Framer Motion, Tailwind CSS, and Three.js. Copy components directly into your Next.js project.

MeetUI is an animated UI component library built on Next.js 15+ (App Route), Tailwind CSS v4, React Three Fiber, and Framer Motion.

Each component lands in your project as editable source code. You own every file and can modify styling, animation timing, and layout at will.

Features

🗂️ Copy-Paste: Components arrive as source files. You copy the code and drop it into your src/components/ui/ directory.

🎞️ Motion Animations: All motion effects run through Framer Motion, including text reveals, card transitions, cursor interactions, and scroll-triggered effects.

🧊 React Three Fiber: 3D components use @react-three/fiber and @react-three/drei for Three.js rendering directly inside React.

🎨 Tailwind CSS Theming: Colors and typography tokens live inside @theme {} blocks in your CSS file.

🔷 TypeScript: Every component ships with full type definitions.

📐 Next.js 15 App Router Structure: The project follows the App Router file structure with pages and layouts inside src/app/.

Use Cases

  • Marketing Sites: Add scroll-triggered text animations and magnetic cursor effects to landing pages.
  • Portfolio Showcases: Use the staggered testimonials and hover galleries to display work samples.
  • Interactive Dashboards: Implement animated counters and glow cards for metric displays.
  • Experimental Projects: Combine the orbit ecosystem with 3D elements for creative coding experiments.

How to Use It

1. Install core dependencies. You can swap npm for yarn, pnpm, or bun based on your preference.

npm install framer-motion clsx tailwind-merge lucide-react

2. Components that use Three.js rendering, such as fluid toggles or particle-based effects, need additional packages:

npm install @react-three/fiber @react-three/drei three

3. Browse the MeetUI component library and copy the source code for the component you want. Paste the file into your src/components/ui/ directory. For example, if you copy the GlowCard component, the file would go here:

src/
└── components/
    └── ui/
        └── glow-card.tsx

4. Once the file is in place, import it directly from your components path:

import { GlowCard } from "@/components/ui/glow-card"
export default function HomePage() {
  return (
    <main>
      <GlowCard>
        <h2>Project Title</h2>
        <p>Short description of this project.</p>
      </GlowCard>
    </main>
  )
}

5. MeetUI reads color and typography tokens from your globals.css. Open that file and add your @theme block:

@theme {
  --color-primary: oklch(0.637 0.237 311);
  --color-secondary: oklch(0.541 0.281 293);
  --color-accent: oklch(0.685 0.169 237);
  --font-heading: "Inter", sans-serif;
  --font-mono: "JetBrains Mono", monospace;
}

Change any token value and every component that references it updates automatically. You can define as many tokens as your design system needs.

Components Included

Text Animations

ComponentDescription
Blur RevealText fades in from a blurred state
Stretch TextCharacters stretch horizontally on reveal
Split Text RevealLines or words split apart on entry
Typewriter TextCharacters appear sequentially, typewriter style
Morphing TextOne text string morphs into another
Scroll Fill TextText fills with color as you scroll
Shatter TextText breaks into fragments on trigger
Gooey TextCharacters merge with a gooey liquid effect
Text UnderlineAnimated underline draw on hover or scroll
Sparkles TextSparkle particles scatter around text
Rubber Band TextCharacters snap with a rubber band physics feel
Spotlight TextA light beam scans across the text
Pattern TextText fills with a repeating pattern texture
Hyper TextCharacters scramble and resolve into readable text
Stacked Block TextText blocks stack and shift on scroll

UI Components

ComponentDescription
Liquid Text HoverText distorts with a liquid effect on hover
Mask Text HoverA mask reveals text on cursor entry
Zajno Text HoverLetter-level hover distortion effect
Looping WordsWords cycle through in a continuous loop
Staggered TestimonialsTestimonial cards animate in with stagger timing
Glass ToggleA frosted glass toggle switch with 3D depth
Animated CounterNumbers count up on scroll or trigger
MarqueeHorizontal ticker with configurable speed
Stacked CarouselCards stack and fan out in a carousel layout
Highlight GalleryGallery with highlight or spotlight on hover
Stacked Info CardsCards stack with depth and spread on interaction
Bouncing LoaderDots or elements bounce in a loader pattern
Glow CardCard with a radial glow that follows the cursor
Content Reveal CardCard reveals content on hover with a masked transition
Wave CardCard border animates in a wave pattern
Luminous CardCard with a luminous light-bleed effect
Social ClockClock face built from social media iconography
Follow EyesEye elements that track the cursor
Floating Tech StackTech icons float in a layered arrangement
Isometric Tech GridTech icons arranged in an isometric grid
Hover Name GalleryGallery items reveal names on hover
Social Icon HoverSocial icons animate and scale on hover
Text Image RevealAn image reveals beneath text on hover
Full Screen MenuA full viewport overlay navigation
Interactive Hover MenuMenu items react to cursor proximity
Floating Tilt TagsTags tilt in 3D on hover
Morphing Card StackA stack of cards morphs between states
Testimonials SplitTestimonials split across two columns with motion
Orbit EcosystemElements orbit a central point continuously

Mouse Interactions

ComponentDescription
Magnetic CursorThe cursor snaps toward interactive elements
Click RippleA ripple wave expands from each click point
Aurora CursorA colorful aurora trail follows the cursor
Shooting StarA shooting star effect trails cursor movement
Ring CursorA circular ring follows the cursor with spring physics
Pixel Cursor TrailPixel squares trail behind cursor movement

Buttons

ComponentDescription
Shiny ButtonButton with an animated sheen sweep on hover
Drawer ButtonButton that expands a drawer panel on click
Splash ButtonButton triggers a splash or burst effect on click

Related Resources

  • Framer Motion: The animation library that backs MeetUI’s motion effects,.
  • React Three Fiber: The React renderer for Three.js used by MeetUI’s 3D components.

FAQs

Q: Do I need the full project repository to use MeetUI components?
A: No. You copy individual component files from the MeetUI site and paste them into your own project.

Q: Can I use MeetUI components in an existing Next.js project?
A: Yes. Copy the component file into your src/components/ui/ directory, install any listed peer dependencies, and import the component wherever you need it.

Q: What if I only need standard React without Next.js?
A: MeetUI components are React files. They work in any React setup as long as you install Framer Motion and the other required packages.

Q: How do I add a new component to the registry?
A: The docs/ADDING_COMPONENTS.md file in the repository covers this process. The registry stores component metadata and code strings inside src/lib/components-data/.

Meet Darji

Meet Darji

Leave a Reply

Your email address will not be published. Required fields are marked *