Skip to content

COMPONENT / data-rain

Data Rain_

Falling --label glyph columns with one --signal column, fading into --ground-void. Pure CSS; static under reduced motion. Requires @cybr/tokens and @cybr/effects.

Install

  1. 1. Map the @cybr namespace, once per project. Add this inside your components.json, or into its existing "registries" object. No components.json yet? Run npx shadcn@latest init first to create one.

    "registries": { "@cybr": "https://cybr-ui.com/r/{name}.json" }
  2. 2. Add components:

    $ npx shadcn@latest add @cybr/data-rain

If shadcn reports Unknown registry "@cybr", step 1 is missing from that project's components.json.

Preview

05 / DATA RAIN

GREY BY DEFAULT · ONE SIGNAL COLUMN

Props

Component props
PropTypeDefaultDescription
columnsnumber18How many glyph columns, spread evenly across the width.
signalColumnnumber7Zero-based index of the one --signal column. Any index outside 0 to columns − 1 means all columns are grey.
...propsComponentProps<"div">—Every other native <div> attribute is forwarded; className is merged last with cn(). Give the root a height (or content) and any layout classes; they apply to the children directly.

Usage

Needs the stylesheets from @cybr/tokens and @cybr/effects. After the install, import them in app/globals.css:

@import "tailwindcss";
@import "../styles/cybr-tokens.css";
@import "../styles/cybr-effects.css";
import { DataRain } from "@/components/ui/data-rain";

export function Uplink() {
  return (
    <DataRain className="flex min-h-96 items-end p-10">
      <p className="bg-ground-deep px-3 py-2 font-mono text-sm text-ink">UPLINK ESTABLISHED</p>
    </DataRain>
  );
}

States

Accessibility