npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@redshoes/daisy-ui-react

v0.5.7

Published

A React UI component library built with TailwindCSS and DaisyUI

Downloads

19

Readme

🌼 DaisyUI React Component Library

A React UI component library built with DaisyUI and TailwindCSS. This library supports nearly all DaisyUI components, plus some special components like ModelList (an advanced data table with filtering, sorting, inline editing, and mass actions).

npm package License: MIT TypeScript Chromatic

⚠️ Important Notice

For production use, we recommend using daisyui/react-daisyui - a proven, well-maintained React component library for DaisyUI.

This library is maintained for personal use and may not be production-ready. Use at your own discretion.

🚀 Quick Start

Installation

npm install @redshoes/daisy-ui-react
# or
yarn add @redshoes/daisy-ui-react
# or
pnpm add @redshoes/daisy-ui-react

Prerequisites

This library requires TailwindCSS 4+ and DaisyUI in your project:

npm install tailwindcss@latest daisyui@latest

TailwindCSS Configuration

// tailwind.config.js
module.exports = {
  content: [
    './src/**/*.{js,ts,jsx,tsx}',
    './node_modules/@redshoes/daisy-ui-react/dist/**/*.{js,mjs}',
  ],
  plugins: [require('daisyui')],
  daisyui: {
    themes: true, // Enable all themes
    // Or specify themes: ['light', 'dark', 'cupcake', ...]
  },
};

Basic Usage

import React from 'react';
import { Button, Card, Badge } from '@redshoes/daisy-ui-react';
import { IconHeart } from '@tabler/icons-react';

function App() {
  return (
    <Card className="w-96">
      <Card.Body>
        <Card.Title>Welcome to DaisyUI React!</Card.Title>
        <p>Build beautiful UIs with ease.</p>
        <Badge color="primary">New</Badge>
        <Card.Actions>
          <Button
            color="primary"
            size="lg"
            icon={IconHeart}
            onClick={() => console.log('Clicked!')}
          >
            Get Started
          </Button>
        </Card.Actions>
      </Card.Body>
    </Card>
  );
}

⭐ Featured Components

ModelList - Advanced Data Table

Our flagship component featuring:

  • ✅ Sorting and filtering (text, select, date)
  • ✅ Inline editing with validation
  • ✅ Mass actions (bulk operations)
  • ✅ Custom row actions
  • ✅ Drag-and-drop row ordering
  • ✅ Custom cell rendering
  • ✅ Pagination support
  • ✅ Full TypeScript generics
import { ModelList } from '@redshoes/daisy-ui-react';

interface User {
  id: number;
  name: string;
  email: string;
  role: string;
}

<ModelList<User>
  title="Users Management"
  items={usersData}
  columns={[
    { key: 'name', label: 'Name', sortable: true, filterable: true },
    { key: 'email', label: 'Email', sortable: true, editableInline: true },
    { key: 'role', label: 'Role', filterType: 'select' }
  ]}
  massActions={[
    { name: 'delete', label: 'Delete Selected' }
  ]}
  editRoute={(id) => `/users/${id}/edit`}
  deleteRoute={(id) => `/users/${id}`}
/>

🎨 Theme System

Full support for all 35+ DaisyUI themes with real-time switching:

import { ThemeController } from '@redshoes/daisy-ui-react';

// Simple theme toggle
<ThemeController />

// Or manually control theme
<div data-theme="synthwave">
  <Button color="primary">Synthwave Button</Button>
</div>

<div data-theme="corporate">
  <Button color="primary">Corporate Button</Button>
</div>

Available themes: light, dark, cupcake, bumblebee, emerald, corporate, synthwave, retro, cyberpunk, valentine, halloween, garden, forest, aqua, lofi, pastel, fantasy, wireframe, black, luxury, dracula, cmyk, autumn, business, acid, lemonade, night, coffee, winter, dim, nord, sunset, and more!

🔧 API Examples

Button Component

import { Button } from '@redshoes/daisy-ui-react';
import { IconDownload } from '@tabler/icons-react';

// Colors and variants
<Button color="primary">Primary</Button>
<Button color="secondary" style="outline">Outline</Button>
<Button color="accent" style="ghost">Ghost</Button>

// Sizes and modifiers
<Button size="xs">Extra Small</Button>
<Button size="lg" modifier="wide">Large Wide</Button>
<Button size="icon" icon={IconDownload} />

// States
<Button processing={loading}>
  {loading ? 'Processing...' : 'Submit'}
</Button>

<Button success={isSuccess} fail={hasError}>
  Save Changes
</Button>

Card Component

import { Card, Badge } from '@redshoes/daisy-ui-react';

<Card className="w-96" imageSrc="/product.jpg" imageAlt="Product">
  <Card.Body>
    <Card.Title>Product Name</Card.Title>
    <p>Description goes here...</p>
    <div className="flex gap-2">
      <Badge color="primary">New</Badge>
      <Badge color="success">In Stock</Badge>
    </div>
    <Card.Actions>
      <Button color="primary">Buy Now</Button>
    </Card.Actions>
  </Card.Body>
</Card>

Form Components

import { Input, Select, Checkbox, Toggle } from '@redshoes/daisy-ui-react';

<Input
  type="email"
  placeholder="Enter email"
  label="Email Address"
  helper="We'll never share your email"
  error={errors.email}
/>

<Select
  label="Country"
  options={countries}
  value={selectedCountry}
  onChange={setSelectedCountry}
/>

<Checkbox
  label="Accept terms and conditions"
  checked={accepted}
  onChange={(e) => setAccepted(e.target.checked)}
/>

<Toggle
  label="Enable notifications"
  checked={notifications}
  onChange={(e) => setNotifications(e.target.checked)}
/>

Modal Component

import { Modal, Button } from '@redshoes/daisy-ui-react';

const [open, setOpen] = useState(false);

<>
  <Button onClick={() => setOpen(true)}>Open Modal</Button>

  <Modal open={open} onClose={() => setOpen(false)}>
    <Modal.Header>Confirm Action</Modal.Header>
    <Modal.Body>
      <p>Are you sure you want to continue?</p>
    </Modal.Body>
    <Modal.Actions>
      <Button onClick={() => setOpen(false)}>Cancel</Button>
      <Button color="primary" onClick={handleConfirm}>Confirm</Button>
    </Modal.Actions>
  </Modal>
</>

📚 Documentation

🛠️ Development

Prerequisites

  • Node.js 18+
  • npm/yarn/pnpm

Setup

# Clone the repository
git clone https://github.com/erimeilis/daisy-ui-react.git
cd daisy-ui-react

# Install dependencies
npm install

# Start Storybook
npm run storybook

# Run type checking
npm run type-check

# Run linting
npm run lint

# Build library
npm run build

# Run tests
npm run test

Project Structure

daisy-ui-react/
├── src/
│   ├── components/
│   │   ├── form/          # Form components
│   │   ├── data-display/  # Display components
│   │   ├── navigation/    # Navigation components
│   │   ├── feedback/      # Feedback components
│   │   ├── layout/        # Layout components
│   │   └── ui/            # Core UI components
│   ├── hooks/             # Custom React hooks
│   ├── lib/               # Utility libraries
│   ├── types/             # TypeScript type definitions
│   └── stories/           # Storybook stories
├── tests/                 # Test files
└── dist/                  # Built package

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

🔗 Links


Built with ❤️ by Eri Meilis

Making beautiful, accessible UIs easier - one component at a time.