jsp-dsv0.1

jsp-dsv0.1

JSP Creative's design system. Every design decision is named once, in its own tokens; shadcn/ui and Pro Blocks drop in untouched and pick them up through a thin bridge.

Get started
Install
npx shadcn add @jsp/starter
Theme
jsp
  • Tokens

    Primitives → semantic tokens, responsive, in light and dark.

  • Bridge

    shadcn's variable names pointed at the tokens, references only.

  • Components

    shadcn as installed, plus layout and type components written in tokens.

Sections

Everything is in the side nav: pick a section from the switcher at the top.

Four layers, one rule each

jsp-ds tokens
tokens/ → dist/

The only place design decisions are named. Primitives → semantic tokens with responsive steps and colour modes, built by Style Dictionary.

The bridge
styles/bridge.css

Points every shadcn variable (--primary, --muted-foreground, --ring …) at a semantic token. References only, never values. Checked for purity, completeness and contrast.

shadcn tier
registry/ui

shadcn/ui radix-vega components, installed by the CLI and left untouched. They read the bridge, so they render in jsp-ds tokens, in both modes, with no edits.

JSP tier
registry/jsp

Section, Container, SectionHeader, Eyebrow, Text, Stack and Cluster, written in token vocabulary only: bg-surface-subtle, py-layout-lg, text-heading-2.

One switch for modes

This band is data-mode=“dark”. One attribute flips every semantic token inside it, and the bridge follows – no inverse button variants, in either tier.

How modes work