Open in

Summertime Sadness
Lana Del Rey

Mitran Di Chhatri
Babbu Maan

For Whom The Bell Tolls
Metallica

Stairway To Heaven
Led Zeppelin

Toh Phir Aao
Mustafa Zahid
Installation
Install dependencies
npm i motion clsx tailwind-merge
Add util file
lib/utils.ts
import { ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
Add useOutsideClick
hook
hooks/use-outside-click.ts
import React, { useEffect } from "react";
export const useOutsideClick = (
ref: React.RefObject<HTMLDivElement>,
callback: Function
) => {
useEffect(() => {
const listener = (event: any) => {
if (!ref.current || ref.current.contains(event.target)) {
return;
}
callback(event);
};
document.addEventListener("mousedown", listener);
document.addEventListener("touchstart", listener);
return () => {
document.removeEventListener("mousedown", listener);
document.removeEventListener("touchstart", listener);
};
}, [ref, callback]);
};
Examples
Standard
Open in

Summertime Sadness
Lana Del Rey

Mitran Di Chhatri
Babbu Maan

For Whom The Bell Tolls
Metallica

Stairway To Heaven
Led Zeppelin

Toh Phir Aao
Mustafa Zahid
Grid
Open in

Summertime Sadness
Lana Del Rey

Mitran Di Chhatri
Babbu Maan

For Whom The Bell Tolls
Metallica

Aap Ka Suroor
Lord Himesh
Get beautiful, hand-crafted templates and components with Aceternity UI Pro
Professional, beautiful and elegant templates for your business. Get the best component packs and templates with Aceternity UI Pro.
I'd highly recommend working with Manu on a site redesign. We came to Manu with a basic website shell. Manu quickly took our rough concept and transformed it into a polished, user-friendly website....
Ray Thai
Head of Product at Fireworks