Stepkit/Scroll showcase
Product interfaces · Original

Scroll showcase

A scroll-aware product scene that flattens into a detailed workspace dashboard.

Download ZIP
Live preview

Try it in context

Customize preview
Source delivery

Usage & source

v0.3.0
React
"use client";

import type { CSSProperties } from "react";
import { ScrollShowcase } from "./components/stepkit/ScrollShowcase";
import "./components/stepkit/styles.css";
import "./components/stepkit/showcase.css";

const themeStyle = {"--stepkit-bg":"#f7f7f8","--stepkit-surface":"#ffffff","--stepkit-surface-muted":"#f0f0f3","--stepkit-fg":"#17181c","--stepkit-muted":"#626572","--stepkit-border":"#e3e4e9","--stepkit-border-strong":"#c8cad3","--stepkit-code":"#f1f1f4","--stepkit-shadow":"0 20px 60px rgba(31, 26, 64, .10)","--stepkit-accent":"#b64e0d","--stepkit-accent-strong":"#8f3b08","--stepkit-accent-soft":"#fff0e6","--stepkit-accent-on-soft":"#8f3b08","--stepkit-accent-text":"#ffffff","--stepkit-error":"#b43145","--stepkit-placeholder":"#626572","--stepkit-radius":"16px","--stepkit-space":"16px","--stepkit-control-height":"44px","--stepkit-font-sans":"Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"} as CSSProperties;

export default function Example() {
  return (
    <div className="stepkit-theme" data-stepkit-preset="modern" style={themeStyle}>
      <ScrollShowcase
      headline={"Make room for your next big idea."}
      description={"A composed workspace that turns a busy product into a clear place to think."}
      paused={false}
      />
    </div>
  );
}

Dependencies

[email protected]
[email protected]
Add to your project

Install

Use the registry command or download the complete source archive.

npx [email protected] add https://vstepanov.com/stepkit/r/scroll-showcase.json
Assistant handoff

Integration prompt

Prompt
Install Stepkit Scroll showcase 0.3.0 from the registry and preserve the included MIT notice.
npx [email protected] add https://vstepanov.com/stepkit/v0.3.0/r/scroll-showcase.json
Install the tested runtime dependencies exactly: npm install [email protected] [email protected]
Keep the component source, shared styles, NOTICE.md, and provenance files together. Apply the theme tokens on a wrapper rather than passing theme keys as component props.

Usage:
```tsx
"use client";

import type { CSSProperties } from "react";
import { ScrollShowcase } from "./components/stepkit/ScrollShowcase";
import "./components/stepkit/styles.css";
import "./components/stepkit/showcase.css";

const themeStyle = {"--stepkit-bg":"#f7f7f8","--stepkit-surface":"#ffffff","--stepkit-surface-muted":"#f0f0f3","--stepkit-fg":"#17181c","--stepkit-muted":"#626572","--stepkit-border":"#e3e4e9","--stepkit-border-strong":"#c8cad3","--stepkit-code":"#f1f1f4","--stepkit-shadow":"0 20px 60px rgba(31, 26, 64, .10)","--stepkit-accent":"#6950df","--stepkit-accent-strong":"#5137c7","--stepkit-accent-soft":"#eeeafd","--stepkit-accent-on-soft":"#5137c7","--stepkit-accent-text":"#ffffff","--stepkit-error":"#b43145","--stepkit-placeholder":"#626572","--stepkit-radius":"16px","--stepkit-space":"16px","--stepkit-control-height":"44px","--stepkit-font-sans":"Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif"} as CSSProperties;

export default function Example() {
  return (
    <div className="stepkit-theme" data-stepkit-preset="modern" style={themeStyle}>
      <ScrollShowcase
      headline={"Make room for your next big idea."}
      description={"A composed workspace that turns a busy product into a clear place to think."}
      paused={false}
      />
    </div>
  );
}
```

Selected bounded settings: {"headline":"Make room for your next big idea.","description":"A composed workspace that turns a busy product into a clear place to think.","paused":false}.
Selected theme: {"mode":"light","accent":"violet","radius":"soft","density":"comfortable","preset":"modern"}.
API

Props

NameTypeDefaultDescription
headlinestring"Make room for your next big idea."Editorial heading.
descriptionstring"A composed workspace that turns a busy product into a clear place to think."Supporting copy.
progressnumberundefinedControlled 0–1 scroll progress.
projectsScrollShowcaseProject[]default projectsDashboard project rows.
onProjectSelect(project: ScrollShowcaseProject) => voidundefinedCalled after a project row is selected.
pausedbooleanfalseFreezes scroll response and preserves the resting pose.
Quality

Accessibility & limits

  • The dashboard is composed from readable native text and controls.
  • Scroll response is disabled for reduced-motion preferences and paused mode.
  • The laptop scene is decorative around the labelled heading and project controls.

Limitations

  • The component observes the page scroll position when progress is uncontrolled; pass progress for an embedded scroll container.
Source record

Provenance

Original source under the MIT licence.

Original Stepkit implementation.

Required notices: NOTICE.md, PROVENANCE-stepkit-scroll-showcase.md