Components

Actions

PhoenixPaper.Button, PhoenixPaper.ButtonGroup, PhoenixPaper.Fab, PhoenixPaper.ToggleButton.

Button

Five classic Material variants, each available in four colors. pp_button always renders a native button element, and ripples on click or tap by default (see the Helpers page).

raised

flat

outlined

text

icon

Icons and loading

Disabled and paperize: false

Options

variant
raised | flat | outlined | text | icon (default: raised)
color
primary | secondary | tertiary | error (default: primary)
elevation
override the resting elevation, 0-24 (default: nil, variant decides)
shape
:none | :xs | :sm | :md | :lg | :xl | :full (default: :full, a pill)
ripple
boolean, the ripple effect on click/tap (default: true)
disabled
boolean (default: false)
loading
boolean, spinner replaces start_icon, disables the button (default: false)
:start_icon / :end_icon
slots: an icon before/after the label
type
button | submit | reset (default: button)
paperize
boolean (default: true)
class
merged on top via Tails

Button Group

Visually joins a row of buttons into one segmented control by rounding only the outer corners. No group-level color/variant that cascades to children like MUI's; set each button's own attrs.

Horizontal

Vertical

disable_elevation

Options

orientation
horizontal | vertical (default: horizontal)
shape
corner radius token for the group's outer corners (default: :md)
disable_elevation
boolean, zero out every child button's own elevation shadow (default: false)
paperize
boolean (default: true)
class
merged on top via Tails

Floating Action Button

A circular, elevated, icon-only button, or an extended pill with a label, typically anchored to a screen corner.

Sizes

Colors and extended

Options

color
primary | secondary | tertiary | error (default: secondary)
size
sm | md | lg (default: md)
extended
boolean, labeled pill instead of a fixed circle (default: false)
ripple
boolean (default: true)
disabled
boolean (default: false)
paperize
boolean (default: true)

Toggle Button

A button with a boolean pressed state, filled when pressed. Combine several inside a Button Group for a segmented toggle.

Standalone

Colors, pressed

Grouped

Options

pressed
boolean (default: false)
color
primary | secondary | tertiary | error (default: primary)
shape
corner radius token (default: :md)
ripple
boolean (default: true)
disabled
boolean (default: false)
z7ealth 2026