Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#3,038 0 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Ein zugehöriger Pull Request wurde bereits gemerged.

  • #3154 von @zeroedin — gemerged

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

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`)
Vorherrschende Sprache
TypeScript
Sterne
394
Forks
107
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus patternfly/patternfly-elements

Alle Issues in patternfly/patternfly-elements

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.