[feat]: Update `<pf-v6-tabs>` for PatternFly v6
還沒有人認領這個 Issue。
評估
- 難度
- 5/5
- 預估耗時
- 一週以上
- 新手友好度
- 35/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 冷清
- 技術堆疊
- css, html, react, typescript
研究方向
Start with .claude/ADVICE.md, the PatternFly v6 Tabs reference, and the existing elements/pf-v5-tabs/ implementation, then review the CEM, cockpit, and chickadee prior art. Done means the renamed element and sub-components cover the stated API, accessibility, demos, tests, linting, review checks, changeset, and staging/pfv6 target; update the listed exports and documentation references.
由索引模型根據 Issue 內容生成。
描述
Summary
Update `` to implement the PatternFly v6 Tabs component.
Tabbed content panels with horizontal or vertical orientation, supporting default, box, and filled variants.
Prior Art
| Source | Element | Status |
|---|---|---|
| PFE v4 | `` | Exists |
| cem | `` | Exists |
| cockpit | `` | Exists |
| chickadee | `` | Exists |
Sub-components
- `` - Individual tab trigger
- `` - Content panel associated with a tab
Requirements
- MUST implement PFv6 visual designs
- MUST provide end-user feature parity with `@patternfly/react-core` Tabs
- 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 `variant`: `default`, `box`, `vertical`, `horizontal` - and combinations like `box vertical`; verify v6 variant names
- React `isBox`, `isVertical`, `isSecondary`, `isFilled` - map to boolean attributes
- React `activeKey` (controlled) vs `defaultActiveKey` (uncontrolled) - reflect as `active-key` attribute
- React `onSelect` - fires with tab key and event - emit `tab-select` or `change` custom event
- React `mountOnEnter`, `unmountOnExit` - lazy content mounting; may not apply to web component slots
- React `inset`, `usePageInsets` - padding tokens
- React `overflow menu` - tabs that overflow collapse into a dropdown; complex, verify v6 scope
- ARIA: `role="tablist"`, tabs have `role="tab"` + `aria-selected` + `aria-controls`; panels have `role="tabpanel"` + `aria-labelledby`
- RTI (Roving Tab Index) controller for keyboard navigation (← → arrow keys)
Checklist
Rename
- Delete `elements/pf-v5-tabs/`
- Update `elements/package.json` exports
- Update `eslint.config.js` ignore globs if applicable
- Update docs `_snippets/` and `framework-integration/` references
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
- 星號
- 395
- 分支
- 107
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
patternfly/patternfly-elements 的其他 Issue
-
[bug] ssr-shims.js uses deprecated globalThis.litSsrCallConnectedCallback可能已有人在做 @zeroedin 於 65 天前認領。 未關閉bug
patternfly/patternfly-elements#3158 · 已指派 1 人 ·
-
chore: evaluate removing isolatedDeclarations from tsconfig可能重新可做 @bennypowers 於 155 天前認領,目前沒有進行中的 PR。 未關閉
patternfly/patternfly-elements#3136 · 1 則留言 · 已指派 1 人 ·
-
chore: update docs scaffolding for v6 elements可能重新可做 @zeroedin 於 155 天前認領,目前沒有進行中的 PR。 未關閉docs
patternfly/patternfly-elements#3131 · 已指派 1 人 ·
-
難度 4/5 3-5 天 新手友好度 55/100
patternfly/patternfly-elements#3122 ·
-
難度 5/5 一週以上 新手友好度 38/100
patternfly/patternfly-elements#3118 ·
查看 patternfly/patternfly-elements 的全部 Issue
相似的 Issue
-
chore v2
難度 2/5 1-3 小時 新手友好度 78/100
modelcontextprotocol/servers#5115 ·
維護者通常 1 天內回覆
-
beginner bug good first issue
難度 1/5 1 小時以內 新手友好度 85/100
philaconvalley/website#168 ·
維護者通常 1 天內回覆
-
bug frontend good first issue
難度 2/5 1-3 小時 新手友好度 86/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 82/100
oss-slu/lrda_mobile#294 ·
-
難度 2/5 1-3 小時 新手友好度 78/100
hatchet-dev/hatchet#5179 ·
維護者通常 1 天內回覆