@quantumwake/terminal-ux-components
v0.3.1
Published
Terminal-style React UX components for the Alethic ISM apps.
Maintainers
Readme
@quantumwake/terminal-ux-components
Terminal-style React UX components extracted from alethic-ism-ui-enterprise,
so the enterprise app and the read-only alethic-ism-publish-ui can share one
component library (mirrors how @quantumwake/kgraph was extracted).
Theme
The package owns the theme plumbing; the host app supplies the theme value (its existing rich theme object). Wrap your app once:
import { ThemeProvider } from '@quantumwake/terminal-ux-components';
<ThemeProvider theme={useStore(s => s.getCurrentTheme())}>
<App />
</ThemeProvider>Components read it via useTheme(). The Tailwind token contract
(midnight/etc. colors + shadows) still lives in the host's Tailwind config; a
shippable tailwind-preset is a planned follow-up.
Peer dependencies
Provided by the host app (not bundled):
react,react-dom(>=17)lucide-react(optional) — icons used by Checkbox/TagField/InfoButton@headlessui/react,@heroicons/react(optional) — used byTerminalDropdown
The read-only kgraph studio renderers (StudioGraph/StudioNode/CleanEdge) live in
@quantumwake/kgraph/ism, not here — this package is graph-free.
Components
Current export set (useTheme()-based, fully typed):
- Theme:
ThemeProvider,useTheme - Primitives:
TerminalButton,TerminalLabel,TerminalInput,TerminalCheckbox,TerminalToggle,TerminalContainer,TerminalSection,TerminalTagField,TerminalInfoButton,TerminalDropdown
Migration status
Incremental extraction (dogfooded by enterprise consuming each release):
- 0.2.0 (current) — theme plumbing + the 10 leaf primitives above.
- next — composites (
TerminalDialog,TerminalContextMenu,TerminalHoverMenu,TerminalTabView, …), then the statefulTerminalDataTable.canvas/and theism|ismql|statefsdomain components stay in the app.
Usage
npm install
npm run build # tsup → dist/ (esm + cjs + .d.ts)
npm run dev # tsup --watch
npm run lint # tsc --noEmitNo environment variables — this is a presentational component library with no network or app-state dependencies.
