[feat]: Create `<pf-v6-truncate>` element
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- css, typescript
- Bereich
- accessibility, design, frontend, testing
Rechercherichtung
Start with .claude/ADVICE.md and the PatternFly v6 Truncate reference, then inspect the existing pf-v6-tooltip integration. Implement the element, demos, public API tests, accessibility snapshots, styling, reviews, and changeset described in the checklist; verify truncation behavior on resize and tooltip activation only when text overflows.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Create `` to implement the PatternFly v6 Truncate component.
Text truncation with tooltip showing full content on hover. Supports start, middle, and end truncation.
Prior Art
| Source | Element | Status |
|---|---|---|
| PFE v4 | -- | -- |
| cem | -- | -- |
| cockpit | -- | -- |
| chickadee | -- | -- |
Requirements
- MUST implement PFv6 visual designs
- MUST provide end-user feature parity with `@patternfly/react-core` Truncate
- 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 `content` (string) - the full text; truncated display is rendered from this
- React `position`: `start`, `middle`, `end` (default) - map to `position` attribute
- React `trailingNumChars` - number of trailing characters to preserve in `end` truncation (default 7)
- Middle truncation requires splitting the string and rendering two `` elements with CSS overflow on the first half
- Integrates with `` to show the full text on hover/focus - tooltip should activate when truncation is actually occurring (check `scrollWidth > clientWidth`)
- Use `ResizeObserver` to re-check truncation on container size changes
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`)
- Vorherrschende Sprache
- TypeScript
- Sterne
- 395
- Forks
- 107
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus patternfly/patternfly-elements
-
[bug] ssr-shims.js uses deprecated globalThis.litSsrCallConnectedCallbackEvtl. vergeben @zeroedin hat das vor 63 Tagen übernommen. Offenbug
patternfly/patternfly-elements#3158 · 1 zugewiesene Person ·
-
chore: evaluate removing isolatedDeclarations from tsconfigEvtl. wieder frei @bennypowers hat das vor 153 Tagen übernommen, und es ist kein Pull Request offen. Offen
patternfly/patternfly-elements#3136 · 1 Kommentar · 1 zugewiesene Person ·
-
chore: update docs scaffolding for v6 elementsEvtl. wieder frei @zeroedin hat das vor 153 Tagen übernommen, und es ist kein Pull Request offen. Offendocs
patternfly/patternfly-elements#3131 · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
patternfly/patternfly-elements#3122 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 38/100
patternfly/patternfly-elements#3118 ·
Alle Issues in patternfly/patternfly-elements
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
lukilabs/beautiful-mermaid#160 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
rescript-lang/rescript-lang.org#1420 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
chthollyphile/folia-major#520 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
databuddy-analytics/Databuddy#1106 ·
Maintainer antworten meist innerhalb von 1 Tag