NextJs Guide

Install and Configure Tailus UI React with NextJs

1. Create a new Next project

First, create a new Next project by running the following command:

npx create-next-app@latest my-project --typescript --eslint
cd my-project

2. Install Tailwind CSS

Next, add Tailwind CSS to your project by running the following command:

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

3. Install Tailus UI Themer

Next, install Tailus UI Themer by running the following command:

npm install @tailus/themer tailwind-merge lucide-react

4. Update your Tailwind CSS configuration

Add the components path to your content array

module.exports = {
    content: [
        "./app/**/*.{js,ts,jsx,tsx,mdx}",
        "./pages/**/*.{js,ts,jsx,tsx,mdx}",
        "./components/**/*.{js,ts,jsx,tsx,mdx}",
    
        // Or if using `src` directory:
        "./src/**/*.{js,ts,jsx,tsx,mdx}",

        "./node_modules/@tailus/themer/dist/components/**/*.{js,ts}",
    ],
    theme: {
        extend: {},
    }
};

5. Add css directives

Add the following tailwind css directives to your global.css file

// global.css

@tailwind base;
@tailwind components;
@tailwind utilities;

6. Add cloneElement utility

Create a file called utils.ts in your /lib directory and copy-paste the following code

mkdir lib && touch lib/utils.ts
import { twMerge } from "tailwind-merge";
import React from "react";

/**
 * Clone React element.
 * The function clones React element and adds Tailwind CSS classnames to the cloned element
 * @param element the React element to clone
 * @param classNames Tailwind CSS classnames
 * @returns { React.ReactElement } - Cloned React element
 */
export function cloneElement(element: React.ReactElement, classNames: string) {
    return React.cloneElement(element, {
        className: twMerge(element.props.className, classNames)
    });
}

7. Add paths

Add paths to your tsconfig.json file to make the import of the components easier.

{
    "compilerOptions": {
        /* Paths */
        "baseUrl": "./src",
        "paths": {
            "@tailus-ui/*": ["/components/tailus-ui/*"],
            "@lib/*": ["/lib/*"],
        }
    },
}

What’s next?

Great job! You’ve successfully installed Tailus UI React in your project. Next, let’s learn how to configure your theme.