Stepkit/Vellum workspace
Complete page · Original

Vellum workspace

A complete operations workspace: sidebar and mobile drawer, chart, searchable sortable table, add/edit drawer, and local toasts on demo data.

Live preview

The whole page

Runnable project

Usage & source

v0.4.1
React + Vite
"use client";

import type { CSSProperties } from "react";
import { VellumWorkspace } from "./pages/vellum-workspace/VellumWorkspace";
import "./components/styles.css";
import "./pages/vellum-workspace/vellum-workspace.css";

const themeStyle = {"--stepkit-bg":"#111217","--stepkit-surface":"#1b1c24","--stepkit-surface-muted":"#22232d","--stepkit-fg":"#f6f5fb","--stepkit-muted":"#a4a6b4","--stepkit-border":"#343641","--stepkit-border-strong":"#565866","--stepkit-code":"#20212a","--stepkit-shadow":"0 24px 70px rgba(0, 0, 0, .34)","--stepkit-accent":"#2563eb","--stepkit-accent-strong":"#1d4ed8","--stepkit-accent-soft":"#1f356b","--stepkit-accent-on-soft":"#a9c4ff","--stepkit-accent-text":"#ffffff","--stepkit-error":"#ff9ba9","--stepkit-placeholder":"#b8bac6","--stepkit-radius":"16px","--stepkit-space":"10px","--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 App() {
  return (
    <div className="stepkit-theme" data-stepkit-preset="modern" style={themeStyle}>
      <VellumWorkspace />
    </div>
  );
}

Dependencies

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

Download and run

This is a complete React + Vite page. You do not need a pre-existing shadcn setup. Individual Stepkit components remain available from the registry if you only want one control.

unzip vellum-workspace-0.4.1.zip && npm ci && npm run dev
Assistant handoff

Integration prompt

Prompt
Unzip vellum-workspace-0.4.1.zip into a new folder.
npm ci
npm run dev

This is a complete React + Vite page. You do not need a pre-existing shadcn setup. Individual Stepkit components remain available from the registry if you only want one control.
Keep NOTICE.md with the copied source. Change colours by editing the --stepkit-* tokens on the .stepkit-theme wrapper in src/App.tsx.
Forms, plan choice, search, and edits are local demos until you connect your backend.

Usage:
```tsx
"use client";

import type { CSSProperties } from "react";
import { VellumWorkspace } from "./pages/vellum-workspace/VellumWorkspace";
import "./components/styles.css";
import "./pages/vellum-workspace/vellum-workspace.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 App() {
  return (
    <div className="stepkit-theme" data-stepkit-preset="modern" style={themeStyle}>
      <VellumWorkspace />
    </div>
  );
}
```
Quality

Accessibility & limits

  • Sidebar selection uses aria-current.
  • The table exposes sort direction.
  • The detail drawer is a native modal dialog: Escape closes it, Tab stays inside, and the opening row is restored.

Limitations

  • Auth, persistence, and notifications are not in this demo. Wire them in your app; this README lists the seams.
  • Counts on the chart are derived from the same demo rows as the table.
Source record

Provenance

Original source under the MIT licence.

Original Stepkit implementation.

Required notices: NOTICE.md, PROVENANCE-stepkit-vellum-workspace.md