Components

Surfaces

PhoenixPaper.Paper, Typography, and Accordion.

Paper

The base surface (a background, an elevation shadow, and rounded corners). No padding, no slots. Card is built by composing this instead of duplicating its classes.

Try it

A raised surface: Card is built on this.

Options

elevation
resting elevation, 0-24 (default: 1)
shape
corner radius token (default: :lg)
component
overrides the data-pp-component marker, used by components like Card (default: "paper")
paperize
boolean (default: true)

Typography

variant picks both the rendered tag and the text classes together: h1..h6, subtitle1/2, body1/2, caption, overline, button, code.

Scale

h1. Heading

h2. Heading

h3. Heading

h4. Heading

h5. Heading
h6. Heading

subtitle1. Manage your profile, notifications, and billing.

subtitle2. Manage your profile, notifications, and billing.

body1. Manage your profile, notifications, and billing.

body2. Manage your profile, notifications, and billing.

caption. Last updated 2 minutes ago overline. New button. Save changes mix phx.new my_app

Options

variant
h1..h6 | subtitle1 | subtitle2 | body1 | body2 | caption | overline | button | code (default: body1)
paperize
boolean (default: true)

Accordion

Pure CSS, no JS/LiveView: the same hidden-checkbox-plus-peer-checked trick as Drawer/Rating. AccordionSummary/Details/Actions all need the same id as their parent Accordion, to build the matching for=/peer-checked wiring.

Try it

Exclusive group (radios, name="faq-demo")

A checked radio can't be unchecked by clicking it again (an HTML limitation), so an exclusive group can't return to "all collapsed": a known, permanent difference from MUI's JS-driven version, not a bug.

Options

id
required: shared with AccordionSummary/Details/Actions
name
shared across accordions for an exclusive group (radio instead of checkbox)
default_expanded
boolean, initial checked state, uncontrolled (default: false)
disabled
boolean (default: false)
disable_gutters
boolean, skip the extra margin an expanded accordion normally gets
elevation / shape / paperize
same as Card; Accordion is a Paper underneath
z7ealth 2026