Sharingan

Section · scroll

Scroll read

A large paragraph that darkens word by word as it is scrolled, with small images that grow inside the text.

Every piece tells a story

We started Atelier Nine for the painter A painting of red, blue and black strokes who never showed her work, the printmaker A print of many faces drawn in bold lines who sold only to friends, and the collector A hand holding a small black camera against a pink wall who wanted to know the hand behind the piece on her wall.

Our story

Scroll read

A large paragraph that darkens word by word as it is scrolled, with small images that grow inside the text.

Use when: A manifesto, a mission or a long promise that deserves to be read slowly, between two visual sections.

DOM and GSAP (ScrollTrigger, Flip), every browser · not pinned

npx shadcn@latest add @sharingan/scroll-read

First time? Add the @sharingan registry to your project: getting started. The CLI also installs gsap, used under GSAP’s own no-charge licence.

Add ?motion=final or ?motion=off to the address for the version without scroll motion; phones below 768 px get it too, with short reveals.

Props

content what the section says, real text in the DOM

Scroll read content
NameTypeDefaultDescription
eyebrowstring (≤ 48 chars)—A short kicker above the paragraph.
text *string (20–400 chars)—The paragraph, 20–60 words. `{0}`, `{1}`… place the images inside it, between words.
imagesobject[] (≤ 6)—The images the text places with `{0}`, `{1}`…
src *string (≥ 1 chars)—A small image, shown about two letters wide inside the text.
alt *string (2–120 chars)—What it shows; leave it empty in markup when it only decorates.
ctaobject—
label *string (2–28 chars)—
href *string (≥ 1 chars)—

config how it moves; attributes on the Web Component

Scroll read config
NameTypeDefaultDescription
fromnumber (0.4–0.9)0.45How dark unread words are (their opacity); 0.4 keeps 3:1 contrast.
popbooleantrueImages inside the text grow in when they are reached.

The same section as a Web Component

Section · scroll

<sg-scroll-read>

The same engine as a Web Component, driven by attributes, on the page’s own HTML.

Web Component · no framework

This paragraph is plain text in the page. <sg-scroll-read> splits it into words itself, keeps the image where it was set, and reads it with lighter grey words.

Sharingan is made by Dilane Kombou.

Open source under the MIT licence.