Skip to content

[feat]: Create <pf-v6-simple-list> element #3035

@bennypowers

Description

@bennypowers

Summary

Create `` to implement the PatternFly v6 Simple list component.

Actionable list of selectable items, simpler alternative to a data list or table for flat lists.

Prior Art

Source Element Status
PFE v4 -- --
cem -- --
cockpit -- --
chickadee -- --

Sub-components

  • `` - Individual selectable item
  • `` - Grouped items with title

Requirements

  • MUST implement PFv6 visual designs
  • MUST provide end-user feature parity with `@patternfly/react-core` SimpleList
  • 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 `isControlled` - whether selection state is managed externally
  • `SimpleListItem` props: `isCurrent` (selected), `onClick`, `component` (`button` or `a`), `href`, `target`
  • `SimpleListGroup` has a `titleId` and `title` - renders as `
  • ` with `
      ` inside
    • Emit `select` event from items with the selected item reference
    • ARIA: `role="list"` on container; items are buttons/links (no special ARIA needed beyond standard button/link roles)
    • Selected item: `aria-current="true"` or just visual styling (verify React behavior)

    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`)

Metadata

Metadata

Assignees

No one assigned

    Labels

    1:1Aligning components with PatternFly v4for devpriority: mediumSeverity level: 2

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions