Skip to content

shutteringv1.0.0

Layout & structure

The pieces that frame a page — a page masthead, the centered column and stacking primitives, an action toolbar, mono section labels, the application shell, and the composable footer.

@shuttering/uiimport { Footer, PageHeader, Container, Stack, Row, Center, Toolbar, AppShell } from '@shuttering/ui'

Footer

A footer assembled from parts, never a fixed layout. The root owns only the surface — a top border, a flat or frosted ground, and a capped inner column — so each app's tokens supply the brand and its own children supply the content. Pair with useScrollDock (@shuttering/motion) for the parallax drawer.

PropTypeDefaultDescription
Footer · frostedbooleanfalseTranslucent glass over a backdrop blur instead of a flat card ground.
Footer · sizeContainerSize'xl'Max width of the inner content column.
FooterBrand · wordmarkReactNodeThe display wordmark; children become the muted blurb.
FooterColumns · cols2 | 3 | 44Responsive column count.
FooterColumn · title (required)ReactNodeThe column heading; renders as a titled nav landmark.

PageHeader

A page masthead: an optional mono kicker, a serif title, a muted description, and a right-aligned actions slot.

Billing

Invoices

Every charge, with its public source.

PropTypeDefaultDescription
title (required)ReactNodeThe page heading.
kickerReactNodeA mono eyebrow above the title.
descriptionReactNodeA muted supporting line.
actionsReactNodeRight-aligned page actions.

Container, Stack, Row & Center

The spacing primitives. Container centers a max-width column; Stack (vertical) and Row (horizontal) are token-gapped flex; Center absolutely fills a relative parent to hold a loading, empty, or error message.

Nothing here yet
PropTypeDefaultDescription
Container · size'sm' | 'md' | 'lg' | 'xl' | 'full''lg'Max width; the gutters stay fixed.
Stack / Row · gap0 | 1 | 2 | 3 | 4 | 6 | 8Token gap between children (Stack columns, Row centers a row).
CenterdivAbsolute-fill flex center — put it in a relative parent.

Toolbar

A horizontally-scrollable band of actions with token-colored separators — filters and controls above a view.

Section labels

Kicker and SectionLabel — the mono, uppercase eyebrows that title a block without spending a full heading. SectionLabel takes a leading icon.

Overview
Recent activity

AppShell

A framework-agnostic application scaffold — a sticky, blurred header (brand, nav, actions) over a full-width or sidebar body, with the sidebar collapse as local state. It fills the viewport, so it's best seen inside a real app; its props are below.

PropTypeDefaultDescription
brand (required)ReactNodeThe product mark, pinned to the header left.
navReactNodeCenter header slot for rendered navigation links.
actionsReactNodeRight header slot (search, theme toggle, user menu).
sidebarReactNodeWhen given, a collapsible left column renders beside main.

Designed & built by stxkxs — React 19, Tailwind v4, and its own @shuttering/* packages.

Agent surfaces are always-on. Proprietary.

© stxkxs