This page catalogs all UI components in the patternfly-java-components module, organized by functional category. Each category links to a sub-page with full API detail. For chart components (Donut, Bullet, Pie), see Chart Components. For the underlying base classes, builder conventions, and shared interfaces, see Core Architecture.
All components reside in the patternfly-java-components Maven module (components/pom.xml), packaged under org.patternfly.component. The module declares compile dependencies on patternfly-java-core, patternfly-java-layouts, patternfly-java-icons, and patternfly-java-tokens.
The ComponentType enum (components/src/main/java/org/patternfly/component/ComponentType.java) is the authoritative registry of every implemented component. Each enum constant carries a short id string and a componentName string used to tag DOM elements and support ComponentRegistry singleton lookups.
Implementation coverage: Not all PatternFly components are yet implemented. Components in
components.json(showcase/src/main/resources/org/patternfly/showcase/components.json) without aclazzfield are listed in the showcase as planned but not yet available.
Sources: components/src/main/java/org/patternfly/component/ComponentType.java showcase/src/main/resources/org/patternfly/showcase/components.json
All components extend BaseComponent<E, B> and implement a combination of cross-cutting interfaces depending on their role. The table and diagram below show the major interfaces and which component categories apply them.
| Interface | Package | Implementing Example |
|---|---|---|
BaseComponent<E,B> | org.patternfly.component | Every top-level component |
HasItems<E,C,S> | org.patternfly.component | Menu, Navigation, Tabs, DataList |
HasIdentifier<E,B> | org.patternfly.component | MenuItem, NavigationItem, TreeViewItem |
ComponentContext | org.patternfly.core | MenuItem, Tr, TabContent, ToolbarItem |
Closeable | org.patternfly.component | Modal, Popover, Alert |
Expandable | org.patternfly.component | Accordion, Drawer, ExpandableSection |
HasValue<V> | org.patternfly.component | TextInput, Checkbox, Switch, NumberInput |
Ordered | org.patternfly.component | Menu, Navigation, SimpleList |
Sources: README.md components/src/main/java/org/patternfly/component/ComponentType.java
Every component follows the same fluent builder pattern. The API surface is divided into consistent method groups:
| Method Category | Naming Convention | Example |
|---|---|---|
| Static factory | Named after component, returns new instance | button("Click me"), numberInput(0) |
| Add subcomponent | add<SubComponent>(), returns this | menu.addContent(menuContent()) |
| Modifier / builder | Named after effect, returns this | card().flat().rounded().large() |
| ARIA | aria<Attribute>(), returns this | navigation.ariaLabel("Main nav") |
| Event handler | on<Event>(), accepts typed handler, returns this | switch_.onToggle(handler) |
| Getter / action | Returns value or void | switch_.value(), select.clear() |
Detailed documentation: Form and Input Components
Components for collecting and validating user input.
| Component | Primary Class | Package |
|---|---|---|
Form | Form | org.patternfly.component.form |
FormGroup | FormGroup | org.patternfly.component.form |
FormGroupLabel | FormGroupLabel | org.patternfly.component.form |
FormGroupControl | FormGroupControl | org.patternfly.component.form |
TextInput | TextInput | org.patternfly.component.form |
TextArea | TextArea | org.patternfly.component.form |
FormSelect | FormSelect | org.patternfly.component.form |
Checkbox | Checkbox | org.patternfly.component.form |
Radio | Radio | org.patternfly.component.form |
Switch | Switch | org.patternfly.component.form |
NumberInput | NumberInput | org.patternfly.component.numberinput |
TextInputGroup | TextInputGroup | org.patternfly.component.textinputgroup |
InputGroup | InputGroup | org.patternfly.component.inputgroup |
HelperText | HelperText | org.patternfly.component.help |
NumberInput (components/src/main/java/org/patternfly/component/numberinput/NumberInput.java) wraps a text field with increment/decrement buttons and supports min, max, step, unit, and UnitPosition (components/src/main/java/org/patternfly/component/numberinput/UnitPosition.java).
Sources: components/src/main/java/org/patternfly/component/ComponentType.java18-178 showcase/src/main/resources/org/patternfly/showcase/components.json
Detailed documentation: Menu and Selection Components
Components built on the shared Menu + MenuToggle core, providing dropdowns, single/multi select, and typeaheads.
| Component | Primary Class | Package |
|---|---|---|
Menu | Menu | org.patternfly.component.menu |
MenuToggle | MenuToggle | org.patternfly.component.menu |
MenuItem | MenuItem | org.patternfly.component.menu |
MenuContent | MenuContent | org.patternfly.component.menu |
MenuGroup | MenuGroup | org.patternfly.component.menu |
MenuList | MenuList | org.patternfly.component.menu |
MenuSearch | MenuSearch | org.patternfly.component.menu |
Dropdown | Dropdown | org.patternfly.component.menu |
SingleSelect | SingleSelect | org.patternfly.component.menu |
MultiSelect | MultiSelect | org.patternfly.component.menu |
SingleTypeahead | SingleTypeahead | org.patternfly.component.menu |
MultiTypeahead | MultiTypeahead | org.patternfly.component.menu |
Dropdown, SingleSelect, MultiSelect, SingleTypeahead, and MultiTypeahead are composite components that each wrap a MenuToggle and a Menu. Menu behavior is configured via a MenuType enum and a SelectionMode enum.
Sources: components/src/main/java/org/patternfly/component/ComponentType.java62-101 showcase/src/main/resources/org/patternfly/showcase/components.json
Detailed documentation: Data Display Components
Components that present structured data sets.
| Component | Primary Class | Package |
|---|---|---|
Table | Table | org.patternfly.component.table |
Thead | Thead | org.patternfly.component.table |
Tbody | Tbody | org.patternfly.component.table |
Tr | Tr | org.patternfly.component.table |
Th | Th | org.patternfly.component.table |
Td | Td | org.patternfly.component.table |
DataList | DataList | org.patternfly.component.list |
DataListItem | DataListItem | org.patternfly.component.list |
SimpleList | SimpleList | org.patternfly.component.list |
SimpleListGroup | SimpleListGroup | org.patternfly.component.list |
DescriptionList | DescriptionList | org.patternfly.component.list |
List | List | org.patternfly.component.list |
Sources: components/src/main/java/org/patternfly/component/ComponentType.java52-57 showcase/src/main/resources/org/patternfly/showcase/components.json
Detailed documentation: Overlay Components
Components that render above or outside the normal page flow. Popover and Tooltip use PopperBuilder from the core module for dynamic positioning. Modal, Alert, and Popover implement Closeable.
| Component | Primary Class | Package |
|---|---|---|
Popover | Popover | org.patternfly.component.popover |
Tooltip | Tooltip | org.patternfly.component.tooltip |
Modal | Modal | org.patternfly.component.modal |
Alert | Alert | org.patternfly.component.alert |
AlertGroup | AlertGroup | org.patternfly.component.alert |
EmptyState | EmptyState | org.patternfly.component.emptystate |
Sources: components/src/main/java/org/patternfly/component/ComponentType.java64-65 showcase/src/main/resources/org/patternfly/showcase/components.json
Detailed documentation: Navigation and Tabs
Components for site-level and page-level navigation structures.
| Component | Primary Class | Package |
|---|---|---|
Navigation | Navigation | org.patternfly.component.navigation |
NavigationGroup | NavigationGroup | org.patternfly.component.navigation |
ExpandableNavigationGroup | ExpandableNavigationGroup | org.patternfly.component.navigation |
NavigationItem | NavigationItem | org.patternfly.component.navigation |
Breadcrumb | Breadcrumb | org.patternfly.component.breadcrumb |
BreadcrumbItem | BreadcrumbItem | org.patternfly.component.breadcrumb |
Tabs | Tabs | org.patternfly.component.tabs |
Tab | Tab | org.patternfly.component.tabs |
TabContent | TabContent | org.patternfly.component.tabs |
JumpLinks | JumpLinks | org.patternfly.component.jumplinks |
JumpLinksList | JumpLinksList | org.patternfly.component.jumplinks |
JumpLinksItem | JumpLinksItem | org.patternfly.component.jumplinks |
ProgressStepper | ProgressStepper | org.patternfly.component.progress |
Sources: components/src/main/java/org/patternfly/component/ComponentType.java101-120 showcase/src/main/resources/org/patternfly/showcase/components.json
Detailed documentation: Tree View Component
| Component | Primary Class | Package |
|---|---|---|
TreeView | TreeView | org.patternfly.component.treeview |
TreeViewItem | TreeViewItem | org.patternfly.component.treeview |
TreeView supports three TreeViewType modes (default, selectableItems, checkboxes), async item loading via AsyncStatus, single and multi-selection, and keyboard navigation. TreeViewItem implements both HasItems (for nesting) and HasIdentifier.
Sources: components/src/main/java/org/patternfly/component/ComponentType.java163-164
Detailed documentation: Wizard Component
| Component | Primary Class | Package |
|---|---|---|
Wizard | Wizard | org.patternfly.component.wizard |
WizardStep | WizardStep | org.patternfly.component.wizard |
WizardNav | WizardNav | org.patternfly.component.wizard |
WizardNavItem | WizardNavItem | org.patternfly.component.wizard |
WizardFooter | WizardFooter | org.patternfly.component.wizard |
WizardHeader | WizardHeader | org.patternfly.component.wizard |
WizardStep supports synchronous navigation guards (nextIf, previousIf) and promise-based guards (nextIfPromised, previousIfPromised). Cross-step data is managed via WizardContext. Wizard can be embedded inside Modal.
Sources: components/src/main/java/org/patternfly/component/ComponentType.java168
Detailed documentation: Layout and Container Components
Components that structure page layout and serve as containers for other components. Layout primitives from the patternfly-java-layouts module (Flex, Grid, Stack, etc.) are also documented there.
| Component | Primary Class | Package |
|---|---|---|
Page | Page | org.patternfly.component.page |
PageMain | PageMain | org.patternfly.component.page |
PageGroup | PageGroup | org.patternfly.component.page |
Masthead | Masthead | org.patternfly.component.page |
PageSidebar | PageSidebar | org.patternfly.component.page |
Card | Card | org.patternfly.component.card |
Panel | Panel | org.patternfly.component.panel |
Accordion | Accordion | org.patternfly.component.accordion |
AccordionItem | AccordionItem | org.patternfly.component.accordion |
Label | Label | org.patternfly.component.label |
LabelGroup | LabelGroup | org.patternfly.component.label |
ToggleGroup | ToggleGroup | org.patternfly.component.togglegroup |
ToggleGroupItem | ToggleGroupItem | org.patternfly.component.togglegroup |
Toolbar | Toolbar | org.patternfly.component.toolbar |
ToolbarItem | ToolbarItem | org.patternfly.component.toolbar |
Title | Title | org.patternfly.component.title |
Truncate | Truncate | org.patternfly.component.truncate |
Drawer | Drawer | org.patternfly.component.drawer |
NotificationDrawer | NotificationDrawer | org.patternfly.component.notification |
Sources: components/src/main/java/org/patternfly/component/ComponentType.java110-116 showcase/src/main/resources/org/patternfly/showcase/components.json
These components do not belong exclusively to a single functional category. They are used widely across page layouts and within other components.
| Component | Primary Class | Package | Purpose |
|---|---|---|---|
Button | Button | org.patternfly.component.button | Clickable action trigger |
Badge | Badge | org.patternfly.component.badge | Numeric annotation |
Banner | Banner | org.patternfly.component.banner | Full-width informational strip |
Brand | Brand | org.patternfly.component.brand | Product logo container |
Avatar | Avatar | org.patternfly.component.avatar | User visual representation |
BackToTop | BackToTop | org.patternfly.component.backtotop | Scroll-to-top shortcut |
Divider | Divider | org.patternfly.component.divider | Horizontal/vertical separator |
Icon | Icon | org.patternfly.component.icon | SVG icon container |
Spinner | Spinner | org.patternfly.component.spinner | Indeterminate loading indicator |
Skeleton | Skeleton | org.patternfly.component.skeleton | Content loading placeholder |
Content | Content | org.patternfly.component.content | Styled HTML content block |
CodeBlock | CodeBlock | org.patternfly.component.code | Read-only multi-line code display |
ExpandableSection | ExpandableSection | org.patternfly.component.expandable | Toggle-to-reveal content section |
Hint | Hint | org.patternfly.component.hint | In-page contextual reminder |
NotificationBadge | NotificationBadge | org.patternfly.component.notification | Incoming notification indicator |
Progress | Progress | org.patternfly.component.progress | Determinate progress bar |
Slider | Slider | org.patternfly.component.slider | Range selection control |
Timestamp | Timestamp | org.patternfly.component.timestamp | Formatted date/time display |
SkipToContent | SkipToContent | org.patternfly.component.skiptocontent | Accessibility skip link |
SearchInput | SearchInput | org.patternfly.component.search | Search field with clear button |
Sources: components/src/main/java/org/patternfly/component/ComponentType.java18-178 showcase/src/main/resources/org/patternfly/showcase/components.json
Refresh this wiki