Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

[feat]: Update `<pf-v6-select>` for PatternFly v6

Offen
#3,034 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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
css, html, typescript

Rechercherichtung

Start by reading .claude/ADVICE.md and the existing elements/pf-v5-select/ implementation, then study the PatternFly v6 Select source linked in the issue. Review elements/package.json, eslint.config.js, and the documented _snippets/ and framework-integration/ references before defining the new element structure. Done means the v6 component, sub-components, demos, accessibility and form tests, reviews, changeset, and staging/pfv6 delivery checklist are complete.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

1:1 for dev priority: medium

Summary

Update `` to implement the PatternFly v6 Select component.

Custom selection dropdown supporting single-select, multi-select, typeahead filtering, and grouped options.

Prior Art

Source Element Status
PFE v4 `` Exists
cem `` Exists
cockpit `` Exists
chickadee -- --

Sub-components

  • `` - Individual selectable option
  • `` - Grouped options with title

Notes

  • Consider implementing as a FACE for form submission
  • Use ARIA IDL attributes for cross-root ARIA (Baseline 2025)

Requirements

  • MUST implement PFv6 visual designs
  • MUST provide end-user feature parity with `@patternfly/react-core` Select
  • 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

  • MAJOR API CHANGE: React v6 Select is rebuilt on `Menu` + `MenuToggle` architecture - fundamentally different from v5. Study v6 React source before porting.
  • React v6 `Select` props: `toggle` (render prop), `isScrollable`, `isGrouped`, `selected`, `onSelect` - manages selected state externally
  • `SelectOption`, `SelectList`, `SelectGroup` are thin wrappers around Menu equivalents
  • Single-select vs multi-select: no separate component - parent manages `selected` array
  • Typeahead: not built into Select in v6 - use `TextInputGroup` inside the toggle; implement filtering in JS
  • FACE: MUST use `ElementInternals` for `name`/`value` form submission; multi-select must serialize all selected values
  • Consider `` as a slottable child element (like native ``)
  • ARIA: `role="listbox"`, options have `role="option"` + `aria-selected`; toggle has `aria-haspopup="listbox"` + `aria-expanded`

Checklist

Rename
  • Delete `elements/pf-v5-select/`
  • Update `elements/package.json` exports
  • Update `eslint.config.js` ignore globs if applicable
  • Update docs `_snippets/` and `framework-integration/` references
Implementation
  • API per `.claude/ADVICE.md`
  • CSS uses v6 tokens, logical properties, nesting
  • `@summary` and JSDoc on element class
  • `formAssociated = true` and `ElementInternals` for form participation
  • Form submission tested (single and multi-select)
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
  • Form submission test
Reviews
  • `/review-api` passes
  • `/review-demos` passes
  • `/review-a11y` passes
  • `eslint` and `stylelint` pass
Ship
  • Add changeset
  • PR targets `staging/pfv6` (NOT `main`)
Vorherrschende Sprache
TypeScript
Sterne
394
Forks
107
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus patternfly/patternfly-elements

Alle Issues in patternfly/patternfly-elements

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.