You’re viewing the docs for Pluma v2.219.0, which is not the current major version.
Go to the latest docs
Pluma
Theme
Auto
Overview
About
MCP server
CLI
Codemods
3.0.0
Button Variant Rename
Label To Badge
2.204.0
Flex To Stack
2.170.0
Banner Description Prop
Getting started
Contributing
Breaking changes
Changelog
Foundations
Content
Icons
Motion
Principles
Style utilities
Test helpers
Tokens
All Tokens
Color
Spacing
Typography
Elevation
Motion
AI
Components
Status
Layout
Accordion
AccordionGroup
AspectRatio
Box
Card
CenterBaseline
Divider
EmptyState
Flex
FormLayout
Grid
InlineStack
Panel
Scrollable
SplitView
Stack
Typography
Code
DescriptionList
Emphasis
Heading
List
Paragraph
Strong
Text
TextLabel
Truncated
Content
Avatar
CodeBlock
Coin
Icon
Image
LabelIcon
(deprecated)
Navigation
Breadcrumbs
Link
NavItem
Page
Pagination
PlainLink
SideNav
Stepper
Tabs
TabNav
Buttons
Button
ButtonGroup
CloseButton
DropdownMenu
PlainButton
ToggleButton
(deprecated)
Forms
Checkbox
CheckboxGroup
ColorPicker
Combobox
DatePicker
FileField
Form
JsonField
NumberField
OptionCard
OptionCardGroup
Radio
RadioGroup
Search
SegmentedControl
Select
SelectPalette
Slider
TextArea
TextField
Toggle
Data display
Badge
ConditionViewer
DataTable
Filters
FormattedDateTime
FormattedRelativeTime
KeyboardShortcut
Label
(deprecated)
ProgressBar
ProgressCircle
StatusIndicator
Table
Tag
Timeline
Feedback
Banner
PageLoader
SkeletonShape
SkeletonText
Snackbar
Spinner
Overlays
Blanket
ConfirmationModal
Drawer
Drawer manager
Modal
Modal manager
Popover
Tooltip
Misc
VisuallyHidden
Data visualization
Colors
Chart
Alpha
Marks
Line and area
Bar
Sparkline
Dot
Arc
Sankey
Axes
Series and legend
Interaction
Animation
Exporting
Patterns
Density
Menu keyboard shortcuts
States
Wizard layout
Advanced
Ember Floating UI
Ember prop spreading
ESLint plugin
tooltip-custom-interactive
no-banned-imports
enforce-pluma-elements
no-deprecated-apis
no-deprecated-icons
no-raw-pluma-classnames
no-raw-pluma-css-variables
require-form-control-label
prefer-managed-modals
no-ineffective-stack-props
no-raw-html-elements
prefer-stack-over-flex
ModalPrimitive
PlumaProvider
PopoverPrimitive
Portal
React yield
Fly Migration
fly-alert
fly-btn
fly-close
fly-label
fly-panel
fly-range
Forms
Lists
Tailwind
Components
v2.219.0
Icons
v1.19.0
MCP
v0.8.105
Tokens
v0.40.0
Components
Browse the reusable UI components available in Pluma.
Pages
Status
Track component maturity across design, framework support, tests, docs, and test helpers.
Layout
Arrange page structure, spacing, grouping, and scroll behavior with layout primitives.
Accordion
Accordion is a component that allows for the expansion and collapsing of content
AccordionGroup
AccordionGroup is the wrapper component for Accordions. It allows for limiting open accordions and helps standardize styling.
AspectRatio
A utility component for constraining content to a fixed width-to-height ratio.
Box
Base component for all Pluma components. All components in Pluma are built using the Box component. This means Pluma components all accept the Box component's props.
Card
Card is a component for grouping similar content in a container.
CenterBaseline
Utility component for centering content vertically.
Divider
A horizontal line that separates content.
EmptyState
EmptyStates notify the user that the content area or page has no data.
Flex
A utility component for creating flex containers.
FormLayout
A flexible layout component for arranging form elements with customizable spacing.
Grid
A utility component for building CSS grid layouts.
InlineStack
A utility component for creating horizontal flex containers.
Panel
A Panel wraps related content, sometimes separated by borders, within a minimally-styled container.
Scrollable
Scrollable is a utility component that provides a scrollable container with configurable overflow behavior and edge detection capabilities.
SplitView
A layout component for splitting a space into resizable, nestable panes with draggable handles.
Stack
A utility component for creating vertical flex containers.
Typography
Render text, headings, labels, lists, and other typographic content consistently.
Code
Code visually marks technical text in a monospace font family, alternate colors, and responsive font size.
DescriptionList
Organize and explain a group of terms and their descriptions.
Emphasis
Marks text that has stress emphasis.
Heading
A styled, semantic heading element. The Heading component builds on top of Text and supports all Text props.
List
List a group of text-only content.
Paragraph
Paragraph, meant to represent the paragraph element, is a typography component built on top of Text.
Strong
Strong renders bold text for visual weight and importance.
Text
Text is a foundational component used to apply typographic styles.
TextLabel
TextLabel captions form controls or definitions with contextual information.
Truncated
A component that handles text truncation with an accessible tooltip that appears only when the text is actually truncated.
Content
Display visual and rich content such as avatars, icons, images, code blocks, and coins.
Avatar
A component that displays a user's avatar, supporting images, Gravatar, and initials.
CodeBlock
Displays a block of code with syntax highlighting.
Coin
A shaped container (circle or rounded square) of fixed size that frames an Icon, Image, or short text content.
Icon
Icons are scalable graphics used to visually enhance a user interface.
Image
Images are used to display graphics and custom icons.
LabelIcon
An icon rendered on a circle background with PlumaLabel styles.
Navigation
Help people move through pages, tabs, sidebars, breadcrumbs, and paginated content.
Breadcrumbs
Breadcrumbs provide information about a user's current location within the application's page hierarchy.
Link
Links are used to navigate to a new location, open or download an asset, or serve as an inline action.
NavItem
A component to display a navigation button in a sidebar.
Page
Page is the outermost layout for a route, setting where the title and page-level actions sit and how wide the content column is.
Pagination
A navigation component for moving through paginated content.
PlainLink
PlainLink is an unstyled wrapper component around the linkComponent defined on PlumaProvider. If no linkComponent is defined, a regular a tag is used instead.
SideNav
A component to display a navigation sidebar.
Stepper
Communicates progress through the ordered steps of a wizard or multi-step flow.
Tabs
A component to switch between different views within the same context.
TabNav
A navigation component to move between different views within the same page hierarchy.
Buttons
Trigger actions, expose menus, and group related commands.
Button
Buttons are interactive elements that allow the user to perform an action on the page or serve as a prominent hyperlink.
ButtonGroup
The ButtonGroup component renders a group of related buttons next to each other.
CloseButton
CloseButton provides a standard close/dismiss button with an X icon for use in dialogs, modals, and other dismissible UI elements.
DropdownMenu
A set of actions in a popover.
PlainButton
The PlainButton is a foundational component with minimal styling used to build other button components in Pluma.
ToggleButton
A button that toggles between active and inactive states.
Forms
Collect, validate, and arrange user input with form controls and field layouts.
Checkbox
Checkboxes allow users to select one or more items from a group of options.
CheckboxGroup
The CheckboxGroup component is used for displaying a list of related options, in the form of Checkbox inputs, where multiple choices may be selected.
ColorPicker
An HEX value color picker.
Combobox
A text input with a dropdown list of options.
DatePicker
An input component that allows selecting a date from a popup calendar.
FileField
FileField lets people choose files from their device, either through a button or a drag-and-drop area.
Form
A component to handle submitting forms.
JsonField
A textarea component for JSON input
NumberField
A numeric input field with increment/decrement controls, value clamping, and keyboard support.
OptionCard
OptionCards present the functionality of a radio or checkbox in a more visually prominent card format with an increased click area.
OptionCardGroup
A wrapper for OptionCard components.
Radio
The Radio component renders a radio input, which allows selecting an option from a group of options. Usually you'll want to use the Radio component along with the RadioGroup component.
RadioGroup
The RadioGroup component is used for displaying a list of related options, in the form of Radio inputs, where only one choice can be selected.
Search
The PlumaSearch component builds upon the TextField component, providing additional functionality tailored for search use cases.
SegmentedControl
Toggle from a set of two or more options. SegmentedControl is essentially a styled wrapper around a group of radio inputs.
Select
Selecting a value from a dropdown list of options.
SelectPalette
The dropdown surface a Select renders, with an optional header, categories rail, detail pane and footer.
Slider
Choose a number value within a range.
TextArea
A textarea component for user input.
TextField
A styled text input field.
Toggle
The Toggle component renders a switch to toggle between enabled or disabled states.
Data display
Present tables, filters, labels, progress indicators, dates, and other structured data.
Badge
Badges are read-only indicators used to communicate a category, metadata, a numeric quantity, or a process's current state.
ConditionViewer
The ConditionViewer components render a read-only summary of a set of rules — one boxed sentence per rule, nested under the operator that combines them.
DataTable
DataTable enables users to act upon complex datasets with a variety of features including filtering and sorting.
Filters
The Filters component is a versatile component that can be used to filter data based on user-defined criteria.
FormattedDateTime
Displays a date/time formatted in one of a number of predefined formats.
FormattedRelativeTime
Displays a date/time in a human-readable format, relative to the current time.
KeyboardShortcut
Displays keyboard shortcuts with platform-aware formatting.
Label
Labels are read-only indicators used to communicate a category, metadata, or process's current state.
ProgressBar
A progress bar component that can be used to show the progress of a task.
ProgressCircle
A circular progress indicator that visually represents the completion of a task or process.
StatusIndicator
A small colored circle used to indicate status or state.
Table
Tables display a set of data in an organized tabular format.
Tag
The Tag component is used to display categorized labels, status indicators, or metadata in an application. It is designed for clarity and flexibility, supporting different frameworks and customization options.
Timeline
Presents ordered events, milestones, or state transitions with a connected vertical rail.
Feedback
Communicate loading, empty, status, and notification states.
Banner
Banners prominently communicate contextual information.
PageLoader
Indicates a loading state in a larger context.
SkeletonShape
A placeholder component that mimics the shape of various UI elements while data is loading.
SkeletonText
A placeholder component that mimics the shape of text content while data is loading.
Snackbar
A non-disruptive message that appears at the bottom of the interface to provide quick, at-a-glance feedback on the outcome of an action. Snackbars communicate messages that are minimally interruptive.
Spinner
Spinners are animated icons used to indicate a content area's loading state.
Overlays
Layer dialogs, drawers, popovers, tooltips, and other contextual surfaces above the page.
Blanket
An overlay component that centers content, with an optional semi-transparent background.
ConfirmationModal
Confirmation with confirm/cancel actions.
Drawer
Control interaction flow with simple, extensible drawers.
Drawer manager
Programmatic control of drawers
Modal
Modals are dialogs displayed over inert content that allow users to complete a singular, focused task without leaving the page.
Modal manager
Programmatic control of modals
Popover
Popovers are floating overlays that contain additional information or interactive content.
Tooltip
A floating label to explain additional context in the UI. They're triggered by interaction events like hover, focus, tap, or click.
Misc
Find utility components that support accessibility and specialized UI needs.
VisuallyHidden
A utility component that visually hides its children while keeping them accessible to screen readers.
Theme
Auto