Skip to content

feat(cdk-experimental/ui-patterns): create List behavior #31601

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

wagnermaciel
Copy link
Contributor

  • Adds a new List behavior class to @angular/cdk-experimental/ui-patterns/behaviors.
  • This new behavior composes the existing ListFocus, ListNavigation, ListSelection, and ListTypeahead behaviors into a single, cohesive class for managing the state and interactions of a list-based component.
  • This behavior is intended to be unify the copy/pasted logic in ListboxPattern, TreePattern, RadioGroupPattern, and any other patterns where it makes sense.

The List behavior provides a simplified, high-level API for common list operations, including:

  • Navigation (next, prev, first, last)
  • Selection (single, multi, range)
  • Typeahead search
  • Focus management (roving and activedescendant)

@wagnermaciel wagnermaciel requested a review from a team as a code owner July 25, 2025 15:11
@wagnermaciel wagnermaciel requested review from crisbeto and mmalerba and removed request for a team July 25, 2025 15:11
@angular-robot angular-robot bot added the detected: feature PR contains a feature commit label Jul 25, 2025
@wagnermaciel wagnermaciel requested a review from ok7sai July 25, 2025 15:12
- Adds a new `List` behavior class to `@angular/cdk-experimental/ui-patterns/behaviors`.
- This new behavior composes the existing `ListFocus`, `ListNavigation`, `ListSelection`, and
  `ListTypeahead` behaviors into a single, cohesive class for managing the state and interactions
  of a list-based component.
- This behavior is intended to be unify the copy/pasted logic in `ListboxPattern`, `TreePattern`,
  `RadioGroupPattern`, and any other patterns where it makes sense.

The `List` behavior provides a simplified, high-level API for common list operations, including:

- Navigation (`next`, `prev`, `first`, `last`)
- Selection (single, multi, range)
- Typeahead search
- Focus management (`roving` and `activedescendant`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
detected: feature PR contains a feature commit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant