UI Components
The @payloadcms/ui package contains the React components used throughout the Payload Admin Panel. You can use these components to build Custom Components that match the surrounding Admin Panel interface and behavior.
Each component guide includes working examples for the selected version of Payload, common props, accessibility guidance, and any providers or setup the component requires.
Components
AnimateHeight
Animate a container as its content changes height.
Banner
Display contextual notices, warnings, and errors.
Button
Trigger actions with Payload's standard button styles.
Card
Present a title with optional actions or full-surface interaction.
Collapsible
Show and hide a section beneath a collapsible header.
CopyToClipboard
Copy text to the clipboard with built-in feedback.
DatePicker
Select dates and times with Payload's styled calendar control.
ErrorPill
Display a compact, localized validation error count.
Gutter
Align content with the Admin Panel's responsive gutters.
Link
Navigate between Admin routes through Payload's router adapter.
List and Pagination Controls
Navigate paginated data and compose common Admin list controls.
Motion and Loading
Communicate loading and route transitions with Payload's motion helpers.
Pill
Display compact metadata, categories, and statuses.
PillSelector
Select, deselect, and optionally reorder compact options.
ReactSelect
Select one or more options with Payload's react-select adapter.
ShimmerEffect
Show a loading placeholder while content resolves.
Using UI components
Inside a Payload Admin Panel Custom Component, import components from @payloadcms/ui:
Some components depend on context provided by the Admin Panel. Each guide calls out those requirements when a component cannot be rendered independently.
Customizing components
The Design tab in each component example provides CSS you can use as a starting point. Add those overrides to the stylesheet loaded by your Admin Panel.
Both frameworks use the same Payload selectors and design tokens. Only the stylesheet entry point differs.
Was this page helpful?