[feat]: Create `<pf-v6-tree-view>` element
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- typescript
- Bereich
- accessibility, design, frontend, testing
Rechercherichtung
Start with .claude/ADVICE.md and review the PatternFly v6 Tree view design and @patternfly/react-core feature set. Define the element and tree-item API, demos, and public accessibility tests around the listed variants, keyboard behavior, attributes, properties, events, and slots. Done means the implementation, demos, a11ySnapshot assertions, review commands, lint checks, changeset, and staging/pfv6 targeting all pass.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Create a <pf-v6-tree-view> web component implementing the PatternFly v6 Tree view component.
Hierarchical tree display for nested data, with expandable nodes, checkboxes, and action menus.
Prior Art
| Source | Element | Status |
|---|---|---|
| PFE v4 | -- | -- |
| cem | <pf-v6-tree-view> |
Exists |
| cockpit | <pf-v6-tree-view> |
Exists |
| chickadee | -- | -- |
Sub-components
<pf-v6-tree-item>- Individual tree node
Requirements
- MUST implement PFv6 visual designs
- MUST provide end-user feature parity with
@patternfly/react-coreTreeView - 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
- Tree ARIA pattern:
role="tree"on root,role="treeitem"per node,role="group"on child lists aria-expandedon expandable nodes,aria-selectedfor selection- Keyboard: Arrow Up/Down navigate siblings, Arrow Right expands/enters children, Arrow Left collapses/exits, Home/End jump to first/last, Enter/Space select
hasCheckboxesvariant: each node has checkbox;aria-checkedfor tri-state (indeterminate when partial children selected)hasActionsvariant: action button per node (e.g., edit, delete)hasBadgesvariant: badge on each node showing child counthasGuidesvariant: vertical guide linesisNestedfor compact nested styleonSelectevent with node data;onExpand/onCollapseactiveItemsprop for controlled selection- Search/filter:
onSearchcallback or toolbar integration - Data-driven API:
dataprop array vs slotted<pf-v6-tree-item>children - evaluate both approaches
Checklist
Implementation
- API per
.claude/ADVICE.md - CSS uses v6 tokens, logical properties, nesting
-
@summaryand JSDoc on element class
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)
-
a11ySnapshotassertions
Reviews
-
/review-apipasses -
/review-demospasses -
/review-a11ypasses -
eslintandstylelintpass
Ship
- Add changeset
- PR targets
staging/pfv6(NOTmain)
- Vorherrschende Sprache
- TypeScript
- Sterne
- 395
- Forks
- 107
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus patternfly/patternfly-elements
-
[bug] ssr-shims.js uses deprecated globalThis.litSsrCallConnectedCallbackEvtl. wieder frei @zeroedin hat das vor 59 Tagen übernommen, und es ist kein Pull Request offen. Offenbug
patternfly/patternfly-elements#3158 · 1 zugewiesene Person ·
-
chore: evaluate removing isolatedDeclarations from tsconfigEvtl. wieder frei @bennypowers hat das vor 149 Tagen übernommen, und es ist kein Pull Request offen. Offen
patternfly/patternfly-elements#3136 · 1 Kommentar · 1 zugewiesene Person ·
-
chore: update docs scaffolding for v6 elementsEvtl. wieder frei @zeroedin hat das vor 149 Tagen übernommen, und es ist kein Pull Request offen. Offendocs
patternfly/patternfly-elements#3131 · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
patternfly/patternfly-elements#3122 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 38/100
patternfly/patternfly-elements#3118 ·
Alle Issues in patternfly/patternfly-elements
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
AOSSIE-Org/DebateAI#611 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
openzim/mwoffliner#2933 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Use the README category name for website links and submissionsEvtl. vergeben @dajiaohuang hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
birobirobiro/awesome-shadcn-ui#647 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Twake Drive picker: closePicker() never destroys the intent (stop() is on the promise returned by start(), not by create())Evtl. vergeben @chibenwa hat das heute übernommen. Offenclaude
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
linagora/twake-calendar-frontend#1498 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
check:passed streams:add
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag