--- title: Introduction description: An introduction to Radiant UI and its component documentation. group: Getting started --- import { RuiButton } from '@ecopages/radiant-ui/button'; import { componentNavEntries } from '@/lib/component-nav'; # Introduction
Radiant UI is a component library for building accessible application interfaces with the Radiant reactive model. Import focused modules, compose light-DOM views, and ship interfaces that stay consistent across products.
## What you get Each component exposes a focused module under@ecopages/radiant-ui/<slug>, predictable props,
and accessible defaults. Documentation pairs implementation guidance with an interactive playground that uses the real
public API, not a generic placeholder.
- **{componentNavEntries.length} components** documented with usage examples, guidance, and accessibility notes.
- **Playgrounds** let you adjust real props and see the component respond live.
- **Focused imports** keep bundles small; applications only ship the UI they use.
## Install
```bash
pnpm add @ecopages/radiant-ui
```
Radiant, JSX, and Signals install as peers. You do not add them separately unless you are authoring hosts outside this library.
Load a theme and the aggregate stylesheet in your app shell. See [Theming](/docs/getting-started/theming) to compose
colour, spacing, and radius packs, and [Tokens](/docs/getting-started/tokens) for the scales those packs define.
## JSX view props
Every `Rui*` view declares the DOM surface that receives global attributes,
events, bindings, and ARIA/data props. Native helpers forward them to their
native root. Custom-element views forward them to the `rui-*` host. Coordinator
views document exceptions; for example, `RuiAlert` forwards surface props to
its inner `role="alert"` element.
Both direct and structured ARIA/data forms are supported:
```tsx