Get started
Learn the model
Import focused modules, compose light-DOM views, and keep the public contract on the custom element.
Radiant UI
Import focused modules, compose views in the document tree, and theme through semantic roles. Components ship accessible defaults; the document tree stays yours.
import { RuiButton } from '@ecopages/radiant-ui/button';
import { RuiChip } from '@ecopages/radiant-ui/chip';
import { RuiInput } from '@ecopages/radiant-ui/input';
import { RuiLabel } from '@ecopages/radiant-ui/label';
import { RuiSwitch } from '@ecopages/radiant-ui/switch';
export const Preview = () => (
<>
<RuiButton>Save</RuiButton>
<RuiButton variant="ghost">Cancel</RuiButton>
<RuiChip variant="primary">light DOM</RuiChip>
<RuiSwitch checked>Notifications</RuiSwitch>
<RuiLabel htmlFor="name">Name</RuiLabel>
<RuiInput id="name" placeholder="Andrea" />
</>
);@import '@ecopages/radiant-ui/themes/default';
@import '@ecopages/radiant-ui/styles.css';Get started
Import focused modules, compose light-DOM views, and keep the public contract on the custom element.
Theming
Choose a colour profile, then layer spacing and radius. Components consume semantic roles.
Tokens
Colour roles, spacing, and radius scales with live swatches for every semantic token.
Components
Each page pairs usage guidance with a playground that uses the real public API.
Theming
Colour, spacing, and radius are packs. They restyle this document; the hero JSX stays the same.
Documentation preview — not an application API. See Theming.
Library
Forms
Suggested path