Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#3,007 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
html, typescript
Domínio
frontend

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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`)
Linguagem predominante
TypeScript
Estrelas
394
Forks
107
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de patternfly/patternfly-elements

Todas as issues de patternfly/patternfly-elements

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.