@ghub/gctl-ui
v0.2.5
Published
GControl design system: tokens plus hand-rolled accessible components. No Radix, no shadcn, no headless component libraries.
Readme
@ghub/gctl-ui
The GControl design system. Direction: precision control room. Dark-first, dense, hairline borders, mono numerals, one accent reserved for live state and primary action.
Components are hand-rolled. No Radix, no shadcn, no headless component library: accessibility is implemented rather than inherited, and the bar is WCAG 2.2 AA with a contrast test that enforces the colour half of it.
Three of the components render an application's own manifest rather than anything this
package knows about: GeneratedForm draws a settings schema, HealthPanel draws declared
health values, MeterPanel draws declared usage. An application adding a setting or a
metric costs no release of anything.
Tokens live in @ghub/gctl-config-tailwind/theme.css, which you import alongside this.
import { Badge, HealthPanel, Panel } from "@ghub/gctl-ui";The panel bridge
@ghub/gctl-ui/panels is a separate entry point, and the separation is deliberate. It is
the parent half of the panel protocol rather than a renderer, so it is the one thing here
that imports the wire contracts, and @ghub/gctl-core-types is an optional peer: install it
only if you frame panels.
It renders a screen an application shipped inside a sandbox with no same-origin permission
and answers a postMessage conversation with it, refusing any method whose permission the
application's signed manifest did not declare.
import { AppPanels } from "@ghub/gctl-ui/panels";ESM only.
Part of GControl, a self-hosted broker for G-Apps. This package is published on its own because it is consumed outside that repository; it is not a general-purpose library and its releases follow GControl's.
Licence
Elastic License 2.0. Source-available: you may read, self-host and modify it for your own
organisation. You may not offer it as a service, and you may not circumvent the
licence-key functionality. See the LICENSE file in this package.
Copyright (c) 2026 Gelhaus Solutions (Enno Gelhaus). Built and maintained by Gelhaus Solutions.
