Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#3,007 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
html, typescript
Domaine
frontend

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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`)
Langage dominant
TypeScript
Étoiles
394
Forks
107
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de patternfly/patternfly-elements

Toutes les issues de patternfly/patternfly-elements

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.