Components
Amethyst

Amethyst

A WebGL-powered nocturnal glow background with layered simplex noise, soft violet blooms, and a gentle drifting warp.

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

amethyst.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[]["#6b21a8", "#9333ea", "#d8b4fe"]Array of three hex colors for deep base, primary glow, and highlight shimmer.
speednumber0.3Controls the animation speed of the glow movement.
grainnumber0.3Intensity of the film grain overlay.
heightstring100vhSets the height of the canvas container.
classNamestringAdditional Tailwind classes for the container.