BeniUI

Getting Started

Welcome to BeniUI — a collection of beautifully crafted, accessible React components that you can copy and paste directly into your projects.

What is BeniUI?

BeniUI is a component library built with React and Tailwind CSS. Unlike traditional component libraries that require npm installation, BeniUI components are designed to be copied directly into your codebase. This means:

  • Full ownership — The code is yours to modify and extend
  • No dependency lock-in — No need to wait for library updates
  • Complete customization — Adapt components to your exact needs
  • TypeScript support — Full type safety out of the box

What Makes BeniUI Different?

Copy & Paste

No npm install needed. Just copy the code and paste it into your project.

Fully Customizable

Every component is yours. Modify colors, sizes, and behavior to match your brand.

Production Ready

Accessible, responsive, and thoroughly tested components ready for production.

Prerequisites

Before using BeniUI components, make sure your project has the following set up:

  • 1

    React 18+

    Modern React with hooks support

  • 2

    Tailwind CSS 3.4+

    Utility-first CSS framework for styling

  • 3

    TypeScript (optional but recommended)

    For type safety and better DX

How to Use Components

Using BeniUI components is as simple as copy and paste:

  1. Set up dependencies — Install the required utilities (see Installation)
  2. Browse components — Find the component you need in the Components section
  3. Copy the code — Click the copy button on the code block
  4. Create the file — Add a new file in your components/ui folder
  5. Paste and use — Import the component and start using it!

Quick Start

Here's a quick example of using a Button component:

import { Button } from "@/components/ui/button";

export default function MyComponent() {
  return (
    <div className="flex gap-4">
      <Button variant="primary">Primary</Button>
      <Button variant="secondary">Secondary</Button>
      <Button variant="ghost">Ghost</Button>
    </div>
  );
}

Next Steps