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

[feat]: Create `<pf-v6-menu>` element

Offen
#3,020 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
html, typescript

Rechercherichtung

Start by reading .claude/ADVICE.md, then compare the PatternFly v6 Menu design and @patternfly/react-core Menu behavior described in the issue. Done means the element and listed sub-components cover the required API, keyboard and ARIA behavior, demos, tests, reviews, linting, changeset, and staging/pfv6 targeting.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

1:1 for dev priority: medium

Summary

Create `` to implement the PatternFly v6 Menu component.

Versatile list of actions, links, or options. Used as the basis for dropdown, select, and other menu-based components.

Prior Art

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

Sub-components

  • `` - Individual action, link, or checkbox/radio item
  • `` - Grouped items with optional title
  • `` - List container within a group

Requirements

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

  • Foundation for dropdown, select, nav flyout - port early; other elements depend on it
  • React `isNavFlyout` - flyout variant with arrow keys to open sub-menus
  • React `isPlain` - removes box shadow/border
  • React `isScrollable` - scrollable menu with fixed height
  • React `isGrouped` - contains `MenuGroup` children
  • React `activeItemId` (controlled) / `onSelect` - selection state; emit `select` event
  • React `onActionClick` - secondary action on `MenuItemAction` (the right-side icon button on an item)
  • `MenuItem` props: `itemId`, `isDisabled`, `isExternalLink`, `description`, `icon`, `badge`, `to` (href), `flyoutMenu`
  • `MenuItemAction` - secondary interactive element on an item (e.g. a bookmark icon)
  • `MenuSearch` - search input above the menu list
  • Keyboard: Arrow keys navigate items, Enter/Space select, Escape closes, right arrow enters flyout
  • ARIA: `role="menu"`, items have `role="menuitem"` (or `"menuitemcheckbox"`, `"menuitemradio"`)

Checklist

Implementation
  • API per `.claude/ADVICE.md`
  • CSS uses v6 tokens, logical properties, nesting
  • `@summary` and 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)
  • `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`)
Vorherrschende Sprache
TypeScript
Sterne
394
Forks
107
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

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.