jsp-dsv0.1

Modesdata-mode

One attribute does both jobs. On <html> it is dark mode for the whole page; on a Section it is an inverse band. The bridge reads the tokens, so the shadcn tier flips with no inverse variants.

Colour
Modes
light · dark
Source
tokens/themes/jsp/modes/dark.json
  • One switch

    data-mode="dark" flips every semantic colour inside the element.

  • Inverse sections

    Section background="inverse" sets it for you – no inverse component variants.

  • Checked

    Every contrast pair is measured in light and dark by npm run check.

Side by side

The same card in the page's mode and forced dark.

Page mode
Sample card

Secondary text in text.subtle.

Forced dark
Sample card

Secondary text in text.subtle.

Inverse section

Every component, inside Section background=“inverse”.

Button

shadcn tier

Badge and Avatar

shadcn tier
DefaultSecondaryOutlineDestructiveJP

Card

shadcn tier
Card title
--card on --background, text in --card-foreground.

Body copy inside a card uses --muted-foreground, which is text.subtle.

Loading

Form controls

shadcn tier

Border is --input (border.default), focus ring is --ring (focus.ring).

Alert and Tabs

shadcn tier

Active tab fill is --background on a --muted list.

Overlays

shadcn tier

Accordion, Table and Separator

shadcn tier

VariableToken
--bordercolor.border.subtle
--inputcolor.border.default

Text styles

JSP tier
display-xl

The quick brown fox jumps over the lazy dog

display-lg

The quick brown fox jumps over the lazy dog

display-md

The quick brown fox jumps over the lazy dog

display-sm

The quick brown fox jumps over the lazy dog

display-xs

The quick brown fox jumps over the lazy dog

display-xxs

The quick brown fox jumps over the lazy dog

heading-1

The quick brown fox jumps over the lazy dog

heading-2

The quick brown fox jumps over the lazy dog

heading-3

The quick brown fox jumps over the lazy dog

heading-4

The quick brown fox jumps over the lazy dog

heading-5

The quick brown fox jumps over the lazy dog

heading-6

The quick brown fox jumps over the lazy dog

body-lead

The quick brown fox jumps over the lazy dog

body-lg

The quick brown fox jumps over the lazy dog

body-md

The quick brown fox jumps over the lazy dog

body-sm

The quick brown fox jumps over the lazy dog

caption

The quick brown fox jumps over the lazy dog

label

The quick brown fox jumps over the lazy dog

overline

The quick brown fox jumps over the lazy dog

code

const bridge = var(--ds-color-surface-page)

SectionHeader, Eyebrow, Stack and Cluster

JSP tier

Eyebrow

A section heading

A lead paragraph in body.lead and text.subtle, capped at the prose width.

Centred

Everything centres, including actions.

Cluster

wrapsbydefault