@warmio/ui
Portable React components shared by Warm products. Install @warmio/ui@1.3.0 with the exact
@warmio/design@1.5.0 CSS/primitive contract, import @warmio/design/globals.css once, and add
the package's compiled files to Tailwind's source detection:
Why these files are separate
Independently deployed Warm products cannot import runtime code from the private warm-app
workspace, so libraries/public-ui/ must be a standalone public package rather than another private
workspace entry point. tools/tasks/check-ui-package.mjs is a dedicated package-boundary check
because the existing application checks do not build, pack, and inspect a public npm tarball.
.github/workflows/publish-ui.yml is separate from application deployment workflows so npm trusted
publishing can bind credentials to one reviewable package-release boundary without granting an app
deployment permission to publish packages.
@import '@warmio/design/globals.css';
@source '../node_modules/@warmio/ui/dist';
The 1.3.0 public UI surface contains the Warm badge, Text and StackedDisplay, DropdownMenu,
Sheet, the complete responsive Sidebar family, and the ProductHeader composition. Button,
ButtonLink, Logo, and WarmLogoIcon are directly owned by @warmio/design@1.5.0 and are
re-exported through UI where applicable. ProductHeader owns the responsive frame,
breadcrumb/title semantics, leading slot, action slot, and optional portal targets used by Warm
product shells. Styling is sealed: use documented semantic properties and layout wrappers, never
className or style overrides. DropdownMenu interaction feedback requires the exact public peer
cuelume@0.1.0.
The published artifact is standalone and never imports private warm-app workspace packages.