@battlestack/theme
v1.4.0
Published
Battlestack Design System Nuxt — the Nuxt UI theme: token values for light and dark, brand assets, and the Logo lockup. No components; Nuxt UI is the component library.
Readme
@battlestack/theme
Battlestack Design System Nuxt as a Nuxt layer. No components — Nuxt UI is the component library; this package themes it and nothing else.
Source of truth: the "Battlestack Design System Nuxt" project on claude.ai/design. Values change there first and are mirrored here.
What it ships
tokens.css— Tailwind@themeramps (brand / lilac / warm-stone) and the--ui-*values for light and dark. Imported from the project'sapp/assets/css/main.css(after@import "@nuxt/ui"), because@thememust compile inside the project's Tailwind root.<BsLogo>— the Battlestack lockup, the layer's only component (brand, not UI).- Brand SVG assets (
assets/). - Gates:
check:contrast(WCAG pairs through the realvar()chains, both modes) andcheck:contract(full ramps only, documented--ui-*names only, every:rootoverride restated in.dark).
How a project consumes it
nuxt4:battlestack-theme (in @battlestack/preset-nuxt4) wires it up:
extends: ['@battlestack/theme'], the two @imports in main.css, the
semantic alias map (primary: 'brand', secondary: 'lilac',
neutral: 'stone') in app.config.ts, and a project-owned
app/assets/css/brand.css for local token overrides.
A client theme is a copy of this package with different values — same names,
same shape, check:contract enforces it.
