The Phoenix UI with a real API.
Accessible, unstyled Phoenix components with a full server‑and‑client API, powered by Zag.js state machines.
- Server & client API. Drive every component from LiveView or JavaScript and listen back from either side.
- LiveView‑native. Update props at runtime without resetting component state.
- Truly unstyled. Bring your own CSS or opt into Corex Design tokens, themes and modes.
- Accessible by default. Keyboard, focus and ARIA wired in by Zag.js state machines.
Interactive preview
Accordion
Structure, custom slots, compound mode.
Zag.js powers accessibility, keyboard, and focus.
API
Drive the accordion from anywhere.
HEEx
<.accordion class="accordion">
<:trigger value="anatomy">Anatomy</:trigger>
<:trigger value="machine">State machines</:trigger>
<:content value="anatomy">Structure & slots</:content>
<:content value="machine">Zag.js on the client</:content>
</.accordion>
Events
| Time | Open items |
|---|---|
|
Toggle the accordion to watch events land. |
|
Corex by the numbers
40+
Components
Works in Controller and Live View
100+
API & Events
From the Server and the Client
100%
Open Source
Open Source and free to use. MIT License
A11y
Built in
Keyboard, focus and ARIA from Zag.js machines.
Built with
Ready?
Install Corex in one command.
Corex generator wires up the dependency, the design tokens and the assets pipeline for you.