150+ Animated Components & Blocks with Tailwind and Motion – Eldora UI

150+ animated React components built with Tailwind and Motion. Copy-paste into any Next.js project using the shadcn CLI.

Eldora UI is an open-source collection of 150+ animated UI components, effects, and blocks built with React, TypeScript, Tailwind CSS, and Motion.

Run a single shadcn CLI command, and the component files land in your src/ directory as editable source code. You own the output completely and can modify any animation, color, or layout detail.

Features

🧩 Copy-Paste Components: Component files land in your project’s source directory as editable TypeScript and TSX files.

🎞️ Motion Animations: Fancy effects such as Blur In, Fade, Word Pull Up, Wavy Text, and Letter Pull Up.

🔘 Background Effects: Hacker Background, Novatrix Background, and Photon Beam cover full-bleed decorative backgrounds.

🎨 Tailwind CSS Styling: All styles go through Tailwind utility classes.

🧱 UI Blocks: Pre-built sections include Header, Logo Cloud, Features, Testimonials, Pricing, CTA, and Footer layouts.

📦 shadcn/ui Compatible: The installation process mirrors shadcn/ui exactly.

Use Cases

  • Landing Pages: Build marketing pages quickly using pre-built animated sections and components.
  • Product Showcases: Highlight features with animated cards, hover effects, and interactive elements.
  • Personal Portfolios: Add subtle animations to text and backgrounds to create engaging personal sites.
  • Startup MVPs: Prototype a polished UI without spending weeks on custom animation work.

How to Use It

1. Eldora UI uses the shadcn CLI for installation. If you do not have a Next.js project yet, run the init command to scaffold one and configure shadcn:

npx shadcn@latest init

2. Run the add command with the Eldora UI package name for the component you want. The example below adds a flexible Grid component to your project:

# PNPM
pnpm dlx shadcn@latest add @eldoraui/grid
# NPM
npx shadcn@latest add @eldoraui/grid
# YARN
yarn shadcn@latest add @eldoraui/grid
# BUN
bunx --bun shadcn@latest add @eldoraui/grid

The CLI copies the component’s TSX file into src/components/eldoraui/. You can swap map for any other component slug from the catalog.

3. After the CLI completes, import the component from its local path:

"use client"
import { Grid } from "@/registry/eldoraui/grid"
export function GridDemo() {
  return (
    <div className="bg-background relative z-10 w-full space-y-8 overflow-hidden rounded-lg border p-8">
      {/* Basic Grid */}
      <div className="space-y-4">
        <h3 className="text-lg font-semibold">Basic Grid</h3>
        <Grid columns={9} rows={2} height="h-24" />
      </div>
    </div>
  )
}

The component is now part of your codebase. Open the file at src/components/eldoraui/grid.tsx to inspect or modify the animation parameters, Tailwind classes, or layout structure.

Available UI Components & Blocks

ComponentDescription
Animated BadgeBadge with entrance animation
Animated ListList items that animate in sequentially
Card Flip HoverCard that flips to reveal content on hover
Clerk OTPOTP input field styled for auth flows
Cobe GlobeInteractive 3D globe built on Cobe
Github Inline CommentsUI pattern mimicking GitHub’s diff comment style
GridAnimated background grid pattern
IntegrationsLogo grid showing third-party service connections
TerminalTerminal window UI with typed text animation
Testimonial SliderAuto-advancing testimonial carousel
Special AnimationsAssorted entry and interaction effects
Animated FrameworksFramework logo animation sequence
Logo TimelineLogos arranged along an animated timeline
MapDecorative map component

Button Components

ComponentDescription
Animated Shiny ButtonButton with a moving shine effect
Live ButtonPulsing live-indicator button

Text Animations

ComponentDescription
Blur In TextText that fades in from a blurred state
Dock TextText that scales on a dock-style hover
Fade TextSimple opacity fade entrance
Font Weight TextText that transitions font weight on scroll or trigger
Gradual Spacing TextLetter spacing expands from compressed to full
Letter Pull Up TextIndividual letters rise into position
Multi Direction Slide TextWords slide in from multiple directions
Scale Letter TextLetters scale up from zero on entrance
Separate Away TextLetters separate outward on trigger
Wavy TextLetters animate on a wave path
Word Pull Up TextWords pull up into the viewport sequentially

Backgrounds

ComponentDescription
Hacker BackgroundMatrix-style falling character animation
Novatrix BackgroundParticle or motion-based abstract background
Photon BeamBeam of light animation across the background

Blocks

BlockDescription
HeaderFull hero header block with nav
Logo CloudHorizontal brand logo strip
FeaturesFeature section with icons and descriptions
TestimonialsTestimonial grid or carousel block
PricingPricing tier comparison block
CTACall-to-action section block
FooterPage footer block

Related Resources

  • shadcn/ui: The original copy-paste component library that Eldora UI’s installation model mirrors.
  • Motion (Framer Motion): The animation library that powers Eldora UI’s motion effects.

FAQs

Q: Can I use Eldora UI with Vite instead of Next.js?
A: Yes. The shadcn CLI works with Vite-based React projects. Run npx shadcn@latest init in your Vite project and follow the prompts to configure components.json for your path aliases. The component installation commands work identically after that.

Q: Does adding an Eldora UI component lock me into a specific version?
A: No. The CLI copies the component source into your project as a static file. There is no ongoing package dependency for the component itself. You can update it by re-running the add command, but that overwrites your local edits.

Q: Can I customize animation duration and easing after installing a component?
A: Yes. Open the component file in src/components/eldoraui/ and locate the Motion props directly in the JSX.

Q: Does Eldora UI work with React Server Components in Next.js App Router?
A: Most animated components rely on Motion and client-side event hooks, so they need the "use client" directive. The installed files should already include it. If a component triggers a server/client boundary error, add "use client" to the top of the file.

karthikmudunuri

karthikmudunuri

Leave a Reply

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