Sharingan

Section · scroll

Card journey

A paragraph darkens word by word while a deck of cards shuffles beside it; the deck deals out into a staircase, then lands in a tabbed grid.

Whether you're an artist looking for a home for your work, or a collector looking for the piece that stops you, Atelier Nine connects you to the people who make it.

Where art meets its people

Every work is shown by the artist who made it, with the story behind it.

Collections

Our vision for any kind of art

Painters, printmakers, collagists: each shows the work as they see it, and collectors find it without an algorithm in the way.

Read more
  • Abstract geometric shapes in orange, blue and greyGeometric studyNYPL
  • Stylised group portrait of many faces drawn with bold linesFacesNYPL
  • A red rooster with floral patterns on a yellow backgroundRooster on goldEuropeana
  • Torn layers of colourful paper posters revealing a black and white handTorn postersJazmin Quaynor
  • Abstract painting with bold red, blue and black strokesRed, blue, blackFons Heijnsbroek
  • Abstract painting of a blue square over pink and red stripesBlue squareFons Heijnsbroek

Card journey

A paragraph darkens word by word while a deck of cards shuffles beside it; the deck deals out into a staircase, then lands in a tabbed grid.

Use when: Right under a visual hero, to bridge a statement and a collection: marketplaces, portfolios, catalogues with six strong images.

DOM and GSAP (ScrollTrigger, Flip), every browser · pinned for about 3 screens

npx shadcn@latest add @sharingan/card-journey

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

Card journey content
NameTypeDefaultDescription
statement *string (20–240 chars)—The paragraph that darkens as it is read, 20–40 words.
asideobject—A note that sits beside the staircase of cards.
title *string (2–40 chars)—
textstring (≤ 140 chars)—
eyebrowstring (≤ 48 chars)—A short kicker above the grid's headline.
headline *string (8–60 chars)—The grid's headline, 4–9 words.
textstring (≤ 220 chars)—One or two sentences under the headline.
ctaobject—
label *string (2–28 chars)—Action verb first, 1–4 words.
href *string (≥ 1 chars)—
tabsobject[] (2–4)—Tabs over the grid, each showing some of the cards.
label *string (1–20 chars)—
cardsinteger[]—The cards (by index) this tab shows; every card when left out.
cards *object[] (3–9)—The cards: the deck, the staircase, then the grid (three per row).
src *string (≥ 1 chars)—The image, portrait (4:5 works best).
alt *string (4–160 chars)—What the image shows, for screen readers.
title *string (1–40 chars)—
metastring (≤ 40 chars)—A second line under the title: the artist, a price.
hrefstring—Where the card leads.

config how it moves; attributes on the Web Component

Card journey config
NameTypeDefaultDescription
lengthnumber (1.5–5)3How long the section stays pinned, in screen heights.
tiltnumber (0–14)6How far the deck's outer cards turn, in degrees.
shufflebooleantrueThe deck shuffles while the paragraph is read.
accentstring (≥ 1 chars)"var(--foreground, #111114)"The selected tab's colour.

The same section as a Web Component

Section · scroll

<sg-card-journey>

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

The same engine as a Web Component: plain HTML in the page, five cards marked with data-sg-card, a wider deck and a warmer tab.

No framework

<sg-card-journey> splits the paragraph into words itself.

Web Component · no framework

<sg-card-journey>

Configured with attributes: length, tilt, shuffle and accent.

  • A turquoise teapot pouring a twisted red candy rope into a white cupRed teaFilip Mroz
  • Mint earphones on a mint and pink backgroundEarphonesIcons8 team
  • A silhouette holding a bottle against purple and pink lightNight sodaIlya Mazurkevich
  • A hand holding a small black camera against a pink wallPocket cameraDaria Shevtsova
  • A glass of iced tea with mint leavesIced teaSajjad Ghanavati

Sharingan is made by Dilane Kombou.

Open source under the MIT licence.