why hirael

One system, every surface.

The decisions that hold across the whole catalog, from a single input to a full page template.

source you own

Installed as plain TSX, never a black box.

The CLI copies the source into your repo. No runtime package, no version pin, no upgrade path to fight. Edit it like it is yours, because it is.

Dual API by default

Every component ships a compound surface and a single-prop surface in one file. Reach for whichever fits.

RTL is built in

Logical properties throughout, so every component works under dir=rtl with no extra config.

Typed end to end

Strict TypeScript with generics that flow from options to onChange. No any, no manual hints.

Your theme tokens

Reads the same CSS variables as shadcn/ui, so it re-skins live against any token system.

SSR safe

Server components by default, with 'use client' only where interactivity demands it.