Button
Button component built on Base UI, styled with sc1m tokens.
Live preview
Installation
pnpm dlx shadcn@latest add @sc1m/buttonThis also merges the token layer and installs
src/lib/cn.ts. For the manual route — prerequisites,
components.json, and app-level setup — see Installation.
Usage
import { Button } from "@/components/ui/button";Example
The preview above, with its source. This is the demo module verbatim, so the code and the thing it renders cannot drift apart.
<Button>Save changes</Button>States
Every variant shares one focus ring and one disabled treatment; only the hover step is per-variant.
Accessibility
- Keyboard focus draws a 2px ring in
--ring, never removed — only shown on:focus-visible, so a pointer press does not paint one.
Design tokens
The component reads semantic tokens only — no raw colour, radius, or duration appears in its source. Override the token, not the component.
Source
src/components/ui/button/button.tsx — no next/* imports, so it drops into any
React 19 + Tailwind v4 app.
Banner
Banner: a borderless status note — a flat wash of the tone at 7–8%, a tone-coloured icon, and body copy inked toward the hue instead of muted grey. Four tones (info, warning, success, danger), each driven by three custom properties. No runtime dependencies.
Checkbox
Checkbox component built on Base UI, styled with sc1m tokens.