react-daisyui

daisyUI components built with React ๐ŸŒผ

MIT License

Downloads
40.3K
Stars
952
Committers
42

daisyUI components built with React, Typescript and TailwindCSS

[ See all components ]

react-daisyui

Check out our Storybook | Try it with CodeSandbox

Need help or have a suggestion? Join our discord!


Install

Make sure you've installed TailwindCSS and daisyUI.

Install the package with npm or yarn:

npm install react-daisyui
or
yarn add react-daisyui

To prevent TailwindCSS from purging your styles, add the following line to your tailwind.config.js:

module.exports = {
  content: [
    'node_modules/daisyui/dist/**/*.js',
    'node_modules/react-daisyui/dist/**/*.js',
  ],
  plugins: [require('daisyui')],
}

Modify transpilePackages in your next.config.js file:

const nextConfig = {
  // ... your content here
  transpilePackages: ['react-daisyui'],
  reactStrictMode: true,
}

module.exports = nextConfig
npm install next-transpile-modules

And import the package inside your next.config.js file:

const withTM = require('next-transpile-modules')(['react-daisyui'])

Finally, you can wrap your module.exports using withTM like so:

module.exports = withTM({
  //... your content here
  reactStrictMode: true,
})

Quick Start

Import react-daisyui components within your component files:

import { Button } from 'react-daisyui'

export default (props) => {
  return <Button color="primary">Click me!</Button>
}

Themes

To apply a theme (or multiple themes) to a page or components, import the Theme component and wrap your content:

import { Theme, Button } from 'react-daisyui'

export default (props) => {
  return (
    <>
      <Theme dataTheme="dark">
        <Button color="primary">Click me, dark!</Button>
      </Theme>

      <Theme dataTheme="light">
        <Button color="primary">Click me, light!</Button>
      </Theme>
    </>
  )
}

Use tools like the official daisyUI Theme Generator or daisyUI Theme Builder to easily create your own themes.


Components

  • Button
  • Dropdown
  • Modal
  • Swap
  • Theme Controller
  • Accordion
  • Avatar
  • Badge
  • Card
  • Carousel
  • Chart Bubble
  • Collapse
  • Countdown
  • Diff
  • Kbd
  • Stats
  • Table
  • Timeline
  • Bottom Navigation
  • Breadcrumbs
  • Link
  • Menu
  • Navbar
  • Pagination
  • Steps
  • Tabs
  • Alert
  • Loading
  • Progress
  • Radial Progress
  • Skeleton
  • Toast
  • Tooltip
  • Checkbox
  • FileInput
  • Input
  • Radio
  • Range
  • Rating
  • Select
  • Textarea
  • Toggle
  • Artboard
  • Button Group (Deprecated)
  • Divider
  • Drawer
  • Footer
  • Hero
  • Indicator
  • Input Group (Deprecated)
  • Join (group items)
  • Mask
  • Stack
  • Browser
  • Code
  • Phone
  • Window

Contributing

We're looking for contributors to help write stories and unit tests for components.

Creating new components

Run npm run generate component ${your_new_component_name}. The generator will ask a few questions and setup the component for you.

When you'e done, export the component from index.tsx and open a PR.

Creating new stories

Check out the official daisyUI examples.


License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Package Rankings
Top 1.91% on Npmjs.org
Badges
Extracted from project README's
NPM Version npm bundle size npm License Discord Invite
Related Projects