feat!: Added support for separators in menus. (#8767)

* feat!: Added support for separators in menus.

* chore: Do English gooder.

* fix: Remove menu separators from the DOM during dispose.
This commit is contained in:
Aaron Dodson
2025-02-27 14:00:40 -08:00
committed by GitHub
parent 0ed6c82acc
commit fa4fce5c12
8 changed files with 186 additions and 48 deletions

View File

@@ -18,6 +18,7 @@ import type {
import {EventType} from './events/type.js';
import * as eventUtils from './events/utils.js';
import {Menu} from './menu.js';
import {MenuSeparator} from './menu_separator.js';
import {MenuItem} from './menuitem.js';
import * as serializationBlocks from './serialization/blocks.js';
import * as aria from './utils/aria.js';
@@ -111,6 +112,11 @@ function populate_(
menu.setRole(aria.Role.MENU);
for (let i = 0; i < options.length; i++) {
const option = options[i];
if (option.separator) {
menu.addChild(new MenuSeparator());
continue;
}
const menuItem = new MenuItem(option.text);
menuItem.setRightToLeft(rtl);
menuItem.setRole(aria.Role.MENUITEM);