Repository navigation
[feat]: Create <pf-v6-breadcrumb> element #2688
Copy link
Copy link
Open
Labels
1:1Aligning components with PatternFly v4Aligning components with PatternFly v4featureNew feature or requestNew feature or requestfor devgood 1st issueGood for newcomers to the project; requires at least an introductory knowledge of the languageGood for newcomers to the project; requires at least an introductory knowledge of the languagenew component requestpriority: mediumSeverity level: 2Severity level: 2red hack dayGood issue for Red Hack DayGood issue for Red Hack Day
Milestone
Description
Summary
Create `` to implement the PatternFly v6 Breadcrumb component.
Page hierarchy navigation trail showing the user's location within the application.
Prior Art
| Source | Element | Status |
|---|---|---|
| PFE v4 | -- | -- |
| cem | -- | -- |
| cockpit | -- | -- |
| chickadee | `` | Exists |
Sub-components
- `` - Individual breadcrumb link
Design
Requirements
- MUST implement PFv6 visual designs
- MUST provide end-user feature parity with `@patternfly/react-core` Breadcrumb
- MAY adjust element API to leverage web platform strengths
- SHOULD maintain CSS custom property theming compatibility
- SHOULD expose useful CSS shadow parts
Element-specific considerations
- Renders as `` containing `
- ` - required for WAI-ARIA breadcrumb pattern
- React `BreadcrumbItem` props: `to` (href), `isActive` (current page), `target`, `component` (`a` or `button`)
- React `BreadcrumbHeading` - last item rendered as heading for landmark navigation
- React `showDivider` - deprecated in v6; dividers are CSS-only (::before/::after pseudo-elements)
- Active/current item: `aria-current="page"` on the last item's link
- Slotted `` elements should render as `
- ` wrapping an `` or ``
Checklist
Implementation
- API per `.claude/ADVICE.md`
- CSS uses v6 tokens, logical properties, nesting
- `@summary` and JSDoc on element class
- Renders `
- ...
Demos
- Demos match patternfly.org naming/structure
- CSS custom properties match computed styles from patternfly.org (Chrome MCP)
- Visual parity verified via Chrome MCP
Tests
- Public API covered (attributes, properties, events, slots)
- `a11ySnapshot` assertions
Reviews
- `/review-api` passes
- `/review-demos` passes
- `/review-a11y` passes
- `eslint` and `stylelint` pass
Ship
- Add changeset
- PR targets `staging/pfv6` (NOT `main`)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
1:1Aligning components with PatternFly v4Aligning components with PatternFly v4featureNew feature or requestNew feature or requestfor devgood 1st issueGood for newcomers to the project; requires at least an introductory knowledge of the languageGood for newcomers to the project; requires at least an introductory knowledge of the languagenew component requestpriority: mediumSeverity level: 2Severity level: 2red hack dayGood issue for Red Hack DayGood issue for Red Hack Day
Activity
markcaron commentedon Jan 24, 2024
CSS chevron on a pseudo-element
This should get it roughly the same size as PF's design, though modify as needed:
markcaron commentedon Jun 13, 2024
Good first issue.
Worth looking at @adamjohnson's PR in RHDS: RedHat-UX/red-hat-design-system#1535
[-][feat] `<pf-breadcrumb>` element[/-][+][feat]: Create `<pf-v6-breadcrumb>` element[/+]