@treasuryspatial/surface-shell-kit
v0.2.1
Published
Treasury's surface shell (React, styled-components 6): canvas frame with a top-bar slot, left and right rails, panel dock and shell panel; a missing shell manifest renders a visible contract failure.
Readme
@treasuryspatial/surface-shell-kit
The surface shell: canvas frame, a slot for the standard top bar, left and right rails, panel dock and shell panel. React, styled-components 6, tokens only.
import { TopBar } from '@treasuryspatial/top-bar';
import { TreasurySurfaceShell, TreasuryShellPanel } from '@treasuryspatial/surface-shell-kit';
<TreasurySurfaceShell manifest={{ surfaceId: 'studio', surfaceName: 'Studio' }} topBar={<TopBar model={model} />} rightRail={<TreasuryShellPanel>…</TreasuryShellPanel>}>
{page}
</TreasurySurfaceShell>- Manifest:
surfaceIdandsurfaceNameare required. A missing manifest or either field missing renders "Surface shell manifest failure", never a generic shell. - No bar of its own:
@treasuryspatial/top-baris the navbar, and itsModeBarandPageTabsare the mode and page switches. This shell renders whatever you pass astopBar. The 2026-06 branch version bridged totreasury-navbar-kitand drew its own mode bar; both were dropped when the kit landed onmain. - Rails: a rail column exists only when its content is passed; below 1180px everything stacks.
- Peers: React ≥ 18, styled-components ^6.1,
@treasuryspatial/surface-primitives,@treasuryspatial/treasury-design-tokens.
Release
npm ci
npm run build
npm testBump version and merge to main: the publish-npm workflow publishes it with npm trusted publishing. The
first version of a package that is not on npm yet is published once by hand by the scope owner (npm publish).
