Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[feat]: Update `<pf-v6-switch>` for PatternFly v6

Đang mở
#3,038 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Một pull request liên quan đã được merge.

  • #3154 của @zeroedin — đã merge

Đánh giá

Issue này chưa được đánh giá.

Mô tả

1:1 for dev priority: medium

Summary

Update `` to implement the PatternFly v6 Switch component.

Toggle switch for binary on/off choices with label support.

Prior Art

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

Notes

  • Implement as a Form-Associated Custom Element (FACE) using `ElementInternals`
  • Use ARIA IDL attributes for cross-root ARIA (Baseline 2025)

Requirements

  • MUST implement PFv6 visual designs
  • MUST provide end-user feature parity with `@patternfly/react-core` Switch
  • MUST participate in native form submission via FACE
  • 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 `label`, `labelOff` - visible text beside toggle; `label` also used as `aria-label` fallback
  • React `isChecked` (controlled) - reflect as `checked` attribute; default via `defaultChecked`
  • React `isReversed` - places label before toggle; map to `reversed` attribute
  • React `isDisabled` - `ElementInternals` should propagate disabled to form
  • React `hasCheckIcon` - shows checkmark inside toggle when on; verify v6 still has this
  • `name`/`value` attributes required for form submission

Checklist

Rename
  • Delete `elements/pf-v5-switch/`
  • 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
  • `formAssociated = true` and `ElementInternals` for form participation
  • Form submission tested (`name`/`value` submitted when checked)
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
  • Form submission test
Reviews
  • `/review-api` passes
  • `/review-demos` passes
  • `/review-a11y` passes
  • `eslint` and `stylelint` pass
Ship
  • Add changeset
  • PR targets `staging/pfv6` (NOT `main`)
Ngôn ngữ chính
TypeScript
Star
394
Fork
107
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của patternfly/patternfly-elements

Tất cả issue của patternfly/patternfly-elements

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.