← Back to Glossary

Shadcn

Shadcn offers beautifully designed, accessible, customizable, open-source components that you can copy and paste into your applications. It emphasizes developer ownership and flexibility, allowing you to integrate and customize components to fit your specific project needs.

What is Shadcn?

Shadcn provides a collection of beautifully designed, reusable components that developers can copy and paste directly into their applications. Unlike traditional component libraries that require installation via npm, Shadcn components are not distributed as dependencies. This approach gives developers complete control over the code, including customization and styling.

Why Copy/Paste Instead of Packaging?

The main philosophy behind Shadcn is to encourage developers to own their codebase completely. By copying and pasting code, you gain full control over how the components are built and styled. This method avoids the limitations of npm packages, where styles are often tightly coupled with the component implementation.

Integration with Your Project

Next.js Integration

To integrate Shadcn with a Next.js project, you can use the CLI provided by Shadcn:

  1. Create a Project:

    npx shadcn@latest init
    

    Use the -d flag to set default options:

    npx shadcn@latest init -d
    
  2. Configure components.json: You will be prompted to configure the components according to your preferences:

    • Style: New York
    • Base Color: Zinc
    • CSS Variables: Yes/No
  3. Add Components: You can add specific components to your project using the following command:

    npx shadcn@latest add button
    

    Then, import the component in your project:

    import { Button } from "@/components/ui/button";
    
    export default function Home() {
      return (
        <div>
          <Button>Click me</Button>
        </div>
      );
    }
    

Benefits of Shadcn

  1. Complete Control: You own the code, which allows you to customize it easily to fit your project.
  2. Modular Components: Install only the components you need, reducing bloat and improving performance.
  3. User-Friendly Documentation: Shadcn provides clear, example-rich documentation, making it easy to use and customize components.
  4. Accessibility: Built with accessibility in mind, ensuring your applications are inclusive for all users.
  5. Modern Design: Default styles are modern and minimal, providing a great starting point for customization.
  6. Dark/Light Themes: Easily configurable to support both dark and light themes.

Conclusion

Shadcn is a unique and powerful collection of reusable components designed to give developers full control and flexibility. Whether you're building a new project or integrating it into an existing one, Shadcn offers a customizable and efficient solution. For users of Wisp, Shadcn can be a valuable asset in enhancing your web development experience with sleek, accessible, and highly configurable components.