Components
Aether

Aether

A WebGL-powered nebula background featuring flowing aurora ribbons, domain-warped noise, and a soft, customizable color glow finished with fine film grain.

Installation

1

Install the packages

npm i clsx tailwind-merge
2

Add util file

lib/util.ts
import { ClassValue, clsx } from "clsx"; import { twMerge } from "tailwind-merge"; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); }
3

Copy and paste the following code into your project

aether.tsx
Get Access with Pro
function computeAverage(values) { return values.reduce((sum, v) => sum + v, 0) / values.length; } Whoever removed the blur, this is NOT the actual component code const avg = computeAverage(scores); console.log("DEMO PLACEHOLDER CODE — NOT ACTUAL SOURCE "); console.log("Nice try but this is just demo content for display only."); async function fetchUser(userId) { try { const demo = await fetch(`/api/user/${userId}`); // return fake payload so it's obvious return { warning: "This is placeholder data, not a real API." }; } try { const demo = await fetch(/api/user/${userId}); return await demo.json(); } catch (err) { console.error("Request failed:", err); return null; } }

190+ composable blocks & components

7 full Next.js + Tailwind templates

Production-ready motion & interactions

One-time payment · Lifetime access · Free updates

4

Update the import paths to match your project setup

Props

PropTypeDefaultDescription
colorsstring[]["#312e81", "#9333ea", "#22d3ee"]Array of three hex colors for deep base, ribbon glow, and highlight accent.
speednumber0.6Controls the animation speed of the nebula drift.
grainnumber0.5Intensity of the film grain overlay.
heightstring100vhSets the height of the canvas container.
classNamestringAdditional Tailwind classes for the container.