[feat]: Create `<pf-v6-drawer>` element
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- html, typescript
- 領域
- frontend
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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`)
- 主要言語
- TypeScript
- スター
- 394
- フォーク
- 107
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
patternfly/patternfly-elements のほかの issue
-
[bug] ssr-shims.js uses deprecated globalThis.litSsrCallConnectedCallback再び着手できるかも @zeroedin が 52 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンbug
patternfly/patternfly-elements#3158 · 担当者 1 名 ·
-
chore: evaluate removing isolatedDeclarations from tsconfig再び着手できるかも @bennypowers が 142 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
patternfly/patternfly-elements#3136 · コメント 1 件 · 担当者 1 名 ·
-
chore: update docs scaffolding for v6 elements再び着手できるかも @zeroedin が 142 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンdocs
patternfly/patternfly-elements#3131 · 担当者 1 名 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
patternfly/patternfly-elements#3122 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
patternfly/patternfly-elements#3118 ·
patternfly/patternfly-elements の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
melgarafael/DeskcommCRM#1812 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
prisma/prisma-cli#309 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
gregwebs/pi-quota-dispatcher#26 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
openwatersio/slackwater.xyz#124 ·
メンテナーはふだん 1 日以内に返信
-
agent-reported area/browser area/docs documentation good first issue hacktoberfest help wanted P2
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
メンテナーはふだん 2 日以内に返信