Skip to content

Conversation

wagnermaciel
Copy link
Contributor

  • Adds the underlying WAI-ARIA menu, menubar, and menuitem UI patterns.
  • Implements the ngMenu, ngMenuBar, ngMenuItem, and ngMenuTrigger directives.
  • Introduces a set of examples demonstrating common use cases, including a menubar, a
    standalone menu, a context menu, and a menu attached to a trigger.

@wagnermaciel wagnermaciel requested a review from a team as a code owner October 14, 2025 22:49
@wagnermaciel wagnermaciel requested review from adolgachev and ok7sai and removed request for a team October 14, 2025 22:49
@wagnermaciel wagnermaciel added the dev-app preview When applied, previews of the dev-app are deployed to Firebase label Oct 14, 2025
@angular-robot angular-robot bot added the detected: feature PR contains a feature commit label Oct 14, 2025
Copy link

github-actions bot commented Oct 14, 2025

Deployed dev-app for 12f3d89 to: https://ng-dev-previews-comp--pr-angular-components-32080-dev-vqxm81d2.web.app

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

* Adds the initial implementation of the WAI-ARIA menu, menubar, and menuitem patterns. This
includes the basic behaviors for keyboard navigation, opening and closing submenus, and
typeahead support.
* This also introduces a 'focusElement' option to the list navigation behaviors to allow for
moving the active item without focusing it.
* Adds the initial implementation of the 'ngMenu', 'ngMenuBar', 'ngMenuItem', and
'ngMenuTrigger' directives built on top of the menu UI patterns.
* Adds four examples for the new ARIA menu directives:
  - A menubar example demonstrating a typical application menu.
  - A menu trigger example showing a simple icon button that opens a menu.
  - A standalone menu example.
  - A context menu example that opens on right-click.
* Also includes a set of simple wrapper directives to apply basic popover styles and behavior
to the examples.
readonly submenu = input<Menu<V> | undefined>(undefined);

/** The unique ID of the menu. */
readonly id = input<string>(Math.random().toString(36).substring(2, 10));
Copy link
Member

Choose a reason for hiding this comment

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

Is this the new ID strategy?

}

/** Handles mouseover events for the menu. */
onMouseOver(event: MouseEvent) {
Copy link
Member

Choose a reason for hiding this comment

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

Should this handles pointer event instead?

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 dev-app preview When applied, previews of the dev-app are deployed to Firebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants