Components
Live reference for every Caster component. Each page shows all states and variants alongside the markup. View-source on any page is the canonical reference implementation — copy markup directly from the snippets below the live examples.
How to use this
Each component page imports ../tokens/tokens.css + components.css. To build a page, import those two files and use the class names exactly as documented. --caster-* custom properties are available globally; override them at any scope to retheme without editing the component CSS.
Foundations
The visual primitives every component is built from. 7 pages.
Brand, accent, neutrals, feedback, alpha overlays
TypographyDisplay, heading, body, label, code styles
Spacing4px scale, container padding, section gaps
Radius7 primitives + 5 semantic aliases (control, card, panel, pill, tag)
Shadow5 primitives + elevation aliases (rest, raised, floating, overlay, deep)
Motion4 durations × 4 easings, with live hover demos
Breakpoints3 mobile-first breakpoints with live viewport indicator
Primitives
Single-purpose components used everywhere. 8 pages.
7 styles × 5 sizes × icon-only modifier
PillStatus pill — 7 tones
Stock badgeIn stock, low, out, backordered
Input / SelectText, select, textarea — states, sizes, input groups
Checkbox / RadioNative + card variants, indeterminate states
Qty stepperDefault + large (PDP), interactive +/- with bounds
BreadcrumbStandard, chevron, with-home-icon variants
TabsUnderline-style with optional counter badges, scrolling overflow
Composites
Compositions of primitives that make up product surfaces. 6 pages.
PLP card with badges, price, stock, CTA
Machine cardEquipment unit — status badges, due-by row, fleet meta
Alert4 tones (info, success, warning, brand) — with title + dismissable
Stat blockSingle stat + grouped stats-bar with optional trend indicators
Section headerTitle + optional eyebrow + description + trailing link
Reorder rowBuy-Again line item — SKU, badges, cadence hint, qty + add + save
Layout
Page-spanning chrome — header, nav, footer, container, rails. 6 pages.
Deep-navy strip — shipping context + utility links
Site headerLogo + global search + user pill + cart, sticky
Primary nav6-item top-level nav with active states + utility CTA
FooterBrand cluster + 4 link columns + bottom strip
ContainerPage-content wrapper with responsive side gutter
Scroll rowHorizontal-scrolling rail for cards — carousels + recommendation rows
Patterns
Compositions of multiple components — recipes, not new components. 3 pages.