[feat]: Create `<pf-v6-toggle-group>` element
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Start by reading .claude/ADVICE.md and reviewing the referenced @patternfly/react-core ToggleGroup along with the existing cem, cockpit, and chickadee elements. Establish the element and item API, visual styles, demos, accessibility behavior, and tests from the checklist. Done means the implementation passes the listed reviews, lint checks, tests, and includes a changeset targeting staging/pfv6.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Create `` to implement the PatternFly v6 Toggle group component.
Group of mutually exclusive or multi-selectable toggle buttons.
Prior Art
| Source | Element | Status |
|---|---|---|
| PFE v4 | -- | -- |
| cem | `` | Exists |
| cockpit | `` | Exists |
| chickadee | `` | Exists |
Sub-components
- `` - Individual toggle button
Requirements
- MUST implement PFv6 visual designs
- MUST provide end-user feature parity with `@patternfly/react-core` ToggleGroup
- 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 `isCompact` on group - reduced spacing; map to `compact` attribute
- React `areAllGroupsDisabled` - disables entire group; map to `disabled` attribute
- `ToggleGroupItem`: `text`, `icon`, `isSelected`, `onChange`, `isDisabled`, `buttonId`, `aria-label`
- Single-select vs multi-select: React defaults to multi-select (each item independently toggleable); consider a `single` attribute for exclusive-select mode
- RTI (Roving Tab Index) controller for keyboard navigation
- ARIA: `role="group"` on container with `aria-label`; items are ``
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`)
- Lenguaje dominante
- TypeScript
- Estrellas
- 394
- Forks
- 107
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de patternfly/patternfly-elements
-
bug
patternfly/patternfly-elements#3158 · 1 asignado ·
-
patternfly/patternfly-elements#3136 · 1 comentario · 1 asignado ·
-
docs
patternfly/patternfly-elements#3131 · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
patternfly/patternfly-elements#3122 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
patternfly/patternfly-elements#3118 ·
Todos los issues de patternfly/patternfly-elements
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
TanStack/tanstack.com#1293 ·