Skip to content

feat(aria/combobox): migrate simple-combobox directly into primary entrypoints - #33206

Merged
tjshiu merged 4 commits into
angular:mainfrom
tjshiu:deprecate
May 6, 2026
Merged

feat(aria/combobox): migrate simple-combobox directly into primary entrypoints#33206
tjshiu merged 4 commits into
angular:mainfrom
tjshiu:deprecate

Conversation

@tjshiu

@tjshiutjshiu commented May 5, 2026

Copy link
Copy Markdown
Contributor

Migrate the public src/aria/simple-combobox entrypoint to src/aria/combobox and the private implementation patterns to src/aria/private/combobox to complete the standalone widget migration.

  • Remove the simple- prefix from all public/private component files, classes, selectors, and uppercase injection tokens.
  • Add full parity for documentation generation via the json_api Bazel rule extraction target.
  • Standardize the accompanying toolbar component example showcase into a clean, unified aria-toolbar entrypoint.
  • Bulk update dev-app preview demo routes, sidebar layouts, and public API golden records.

@tjshiutjshiu added target: major This PR is targeted for the next major release detected: breaking change PR contains a commit with a breaking change area: aria/listbox area: aria/tree dev-app preview When applied, previews of the dev-app are deployed to Firebase labels May 5, 2026
@tjshiu
tjshiu marked this pull request as ready for review May 5, 2026 19:01
@github-actions

github-actionsBot commented May 5, 2026

Copy link
Copy Markdown

Deployed dev-app for 480ab11 to: https://ng-dev-previews-comp--pr-angular-components-33206-dev-fropu17d.web.app

Note: As new commits are pushed to this pull request, this link is updated after the preview is rebuilt.

@tjshiutjshiu added the action: merge The PR is ready for merge by the caretaker label May 5, 2026
@@ -1,4 +1,4 @@
## API Report File for "@angular/aria_combobox"
## API Report File for "@angular/aria_deprecated_combobox"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that Aria isn't stable yet, we can delete this code rather than going through a deprecation process.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We plan to migrate the internal usages later so we need a temporary place for the old combobox. It also provides a fallback if the migrations cause regression.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case maybe we should delete it externally and only leave it inside g3? The problem is that once we stabilize Aria, it'll take much longer to remove this code.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay - I removed the old combobox and replaced it with the new combobox. Thanks @crisbeto for the tips!

…points
Relocate the public `src/aria/combobox` entrypoint to `src/aria/deprecated/combobox` and the private implementation patterns to `src/aria/private/deprecated/combobox`. This frees up the primary `combobox` namespace for the upcoming standalone combobox widget migration.
- Add JSDoc `@deprecated` and `@breaking-change 22.0.0` markers to legacy classes and primitives.
- Adjust relative imports outwards to accommodate the deeper directory nesting levels.
- Re-wire build dependencies and entrypoint configurations across the framework package graph.
- Bulk update consumer example module targets and prune unused dependencies.
@angular-robotangular-robotBot added the detected: feature PR contains a feature commit label May 5, 2026
@tjshiutjshiu changed the title refactor(aria/combobox): deprecate and relocate legacy combobox entrypointsfeat(aria/combobox): migrate simple-combobox directly into primary entrypointsMay 5, 2026
tjshiu added 3 commits May 6, 2026 08:31
…ementations
Deletes the deprecated legacy combobox and autocomplete codebases, including their core entrypoints, integration layers within listbox and tree components, examples, dev-app pages, and associated API goldens.
BREAKING CHANGE:
The legacy combobox and autocomplete implementations have been removed. Use the new standalone combobox instead.
…mbobox
- Relocates public, private, and example directories to clean `combobox` entry points.
- Renames internal layout symbols, selectors, and uppercase tokens (`SIMPLE_COMBOBOX_POPUP` -> `COMBOBOX_POPUP`).
- Establishes full documentation extraction parity with the `json_api` Bazel rule target.
- Standardizes the accompanying toolbar component showcase into the clean `aria-toolbar` path.
- Re-routes dev-app navigation links and migrates public API golden records.
BREAKING CHANGE:
`SimpleCombobox` has been promoted to `Combobox`. All `simple-combobox` prefixed symbols, selectors, and tokens have been renamed to use the `combobox` prefix.
…olbar examples
Relocate the autocomplete examples to `src/components-examples/aria/autocomplete` and toolbar examples to `src/components-examples/aria/toolbar`.
- Restore naming continuity with the historical codebase by stripping redundant prefixes from example filenames and component selectors.
- Sync dev-app preview routing layout paths and strict Bazel target dependency links.
@tjshiu
tjshiu merged commit 0ca47b4 into angular:mainMay 6, 2026
22 of 24 checks passed
@tjshiu

Copy link
Copy Markdown
ContributorAuthor

This PR was merged into the repository. The changes were merged into the following branches:

@angular-automatic-lock-bot

Copy link
Copy Markdown

This pull request has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-botangular-automatic-lock-botBot locked and limited conversation to collaborators Jun 12, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: mergeThe PR is ready for merge by the caretakerarea: aria/comboboxarea: aria/listboxarea: aria/treedetected: breaking changePR contains a commit with a breaking changedetected: featurePR contains a feature commitdev-app previewWhen applied, previews of the dev-app are deployed to Firebasetarget: majorThis PR is targeted for the next major release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tjshiu@crisbeto@ok7sai