feat: Update version to 2.2.2, enhance global navigation exclusion logic, and improve hover behavior in MegaMenu

This commit is contained in:
Torsten Brendgen
2026-08-18 20:20:20 +02:00
parent f58c6f6135
commit e977fd7365
12 changed files with 104 additions and 25 deletions
+4 -2
View File
@@ -23,8 +23,8 @@ export interface IMegaMenuRendererStrings {
}
export class MegaMenuRenderer {
private static readonly hoverOpenDelayMs: number = 140;
private static readonly hoverCloseDelayMs: number = 180;
private static readonly hoverOpenDelayMs: number = 0;
private static readonly hoverCloseDelayMs: number = 0;
private _container: HTMLElement | undefined;
private _documentKeydownHandler: ((event: KeyboardEvent) => void) | undefined;
private _documentClickHandler: ((event: MouseEvent) => void) | undefined;
@@ -657,6 +657,7 @@ export class MegaMenuRenderer {
const label: string = this.getTriggerLabel(trigger);
trigger.setAttribute('aria-expanded', 'true');
trigger.setAttribute('aria-label', this.strings.closeSubmenu + ' ' + label);
(trigger.parentElement as HTMLElement).classList.add('is-open');
menu.setAttribute('aria-expanded', 'true');
menu.classList.add('js-open');
this.announce(label + ' ' + this.strings.opened);
@@ -667,6 +668,7 @@ export class MegaMenuRenderer {
const label: string = this.getTriggerLabel(trigger);
trigger.setAttribute('aria-expanded', 'false');
trigger.setAttribute('aria-label', this.strings.openSubmenu + ' ' + label);
(trigger.parentElement as HTMLElement).classList.remove('is-open');
menu.setAttribute('aria-expanded', 'false');
menu.classList.remove('js-open');
this.announce(label + ' ' + this.strings.closed);