Labs

Components

Interactions

Hover Reveal

A two-column client index. Hovering a name fades-and-scales the preview into focus while the active row magnetically drifts under the cursor.

All components
Blackframe
PROTOCOLS
Showing Blackframe

Installation

Coming soon. Components will be available via the registry once checkout goes live.

Usage

<HoverReveal
  label="Clients"
  items={[
    { name: "Linear", src: "/clients/linear.webp" },
    { name: "Vercel", src: "/clients/vercel.webp" },
    { name: "Stripe", src: "/clients/stripe.webp" },
  ]}
/>

Props

PropTypeDefaultDescription
items*HoverRevealItem[]List of `{ name, src, alt? }`. 2–12 entries works best for the typography rhythm.
labelstring | null"Clients"Small uppercase label above the list. Pass `null` to hide.
defaultActiveIndexnumber0Initial active row for uncontrolled use.
activeIndexnumberControlled active index. When provided, the component is fully controlled.
onActiveChange(index: number) => voidFires whenever the active index changes (hover, focus, click, keyboard).
imageAspectstring"4/5"CSS aspect-ratio for the mobile image frame.
imageMinHeightnumber | string"34rem"Min height of the desktop frame. Numbers are treated as px.
formatIndex(index: number) => stringCustom formatter for the index column. Defaults to zero-padded `01`, `02`…
hideIndexbooleanfalseHide the index column entirely.
imageZoomnumber1.4Starting scale of an entering image — zooms from this down to 1.
imageScaleDurationnumber1.4Duration of the image zoom-out, in seconds.
disableParallaxbooleanfalseDisable cursor-driven parallax on the active image.
disableFloatbooleanfalseDisable the idle vertical float.
disableMagneticbooleanfalseDisable the magnetic pull on row text.
disableSkewbooleanfalseDisable the skew on the active row.
classNamestringClasses applied to the root.
imageClassNamestringClasses applied to the image element inside the frame.

Use cases

  • Client / logo wall

    Replace a static logo grid with an editorial index that rewards exploration.

  • Team page

    List of team members with portrait reveals on hover.

  • Case studies index

    Studio / agency site listing recent projects, each with a representative cover.

  • Press / press kit

    Editorial list of features and mentions, each with a hero shot of the publication.