Components
Flux

Flux

A WebGL-powered ASCII background rendering a soft, endlessly morphing blob that drifts and reforms like ink diffusing through water.

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

flux.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
heightstring100vhSets the height of the canvas container.
colorstring#d4d4d8Color of the characters.
colorBgstring#0a0a0bBackground color behind the characters.
cellSizenumber9Size of each character cell in pixels.
speednumber1.0Controls the animation speed.
scalenumber1.0Zoom level of the pattern.
charactersstring .:-=+*#The glyph set used to render the field.
classNamestringAdditional Tailwind classes for the container.