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

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

Offen
#3,007 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
45/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
html, typescript
Bereich
frontend

Rechercherichtung

Start with .claude/ADVICE.md, then review the existing elements in cem and cockpit for API and behavior guidance. Define the element, named slots, attributes, properties, events, demos, and tests described in the issue, including accessibility and focus management. Done means the v6 visual design and React Drawer feature parity are covered, reviews pass, and a changeset is added for staging/pfv6.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

1:1 for dev priority: medium

Summary

Create `` to implement the PatternFly v6 Drawer component.

Slide-out panel overlay or inline panel for secondary content, details, or actions.

Prior Art

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

Requirements

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

  • React `isExpanded` / `defaultExpanded` - open/close state; map to `expanded` attribute; emit `toggle` event
  • React `isInline` - panel is inline (pushes content) vs overlay (overlaps); map to `inline` attribute
  • React `isStatic` - always visible, no toggle; map to `static` attribute
  • React `position`: `right`, `left`, `bottom` - map to `position` attribute
  • React `onExpand` - called after animation ends; emit `expanded` event
  • React sub-components: `DrawerContent`, `DrawerContentBody`, `DrawerPanelContent`, `DrawerPanelBody`, `DrawerHead`, `DrawerActions`, `DrawerCloseButton` - use named slots
  • Panel width/height as CSS custom property (default ~50%)
  • Responsive: panel may become full-width on mobile
  • Focus management: when drawer opens, focus should move into the panel; on close, return to trigger

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.

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.