Zero/Packages/Zero Basic/Installation
@sigx/zero-basic · Beta

Installation#

Add @sigx/zero-basic beside @sigx/zero, import the two stylesheets, and register its themes.

Install the package#

Terminal
pnpm add @sigx/zero @sigx/zero-basic

@sigx/zero-basic peer-depends on @sigx/zero; the two publish in lockstep.

Wire it up#

TypeScript
import '@sigx/zero/css';                 // layer order + structural fallbacks
import '@sigx/zero-basic/css';           // the whole design system
import { installThemes } from '@sigx/zero-basic';

installThemes();

installThemes() registers basic (light) and basic-dark with zero's theme registry; with no explicit choice the page follows the system preference through light-dark(). See Theming.

Exports#

SubpathWhat
@sigx/zero-basicinstallThemes(), plus the tokens, recipes and designSystem declarations.
@sigx/zero-basic/cssThe complete compiled stylesheet.
@sigx/zero-basic/css/tokensTokens and theme blocks only.
@sigx/zero-basic/css/<scope>One component's recipe — @sigx/zero-basic/css/tabs, …/css/dialog, …
@sigx/zero-basic/registerThe generated ZeroVocabulary augmentation.
@sigx/zero-basic/manifest.jsonThe design-system manifest.
@sigx/zero-basic/report.jsonThe coverage report.
@sigx/zero-basic/lynx/index.css, …/lynx/tokens.css, …/lynx/manifest.jsonThe Lynx projection.

Typed vocabulary#

TypeScript
import '@sigx/zero-basic/register';

Narrows every component's color / size / variant props to what this design system wires, and setTheme to 'basic' | 'basic-dark'. See Typed vocabulary.

Verify#

TSX
import { Button } from '@sigx/zero/button';

<Button.Root color="primary" variant="outline">Monograph</Button.Root>

A petrol-inked outline button with a 2px petrol focus ring means the stylesheet is live.