Window control overlay does not dim when modal custom dialog shows (fix #159671) (#295117)

This commit is contained in:
Benjamin Pasero
2026-02-13 11:44:17 +01:00
committed by GitHub
parent 7687ea5f10
commit d0061bb5d5
17 changed files with 100 additions and 53 deletions

View File

@@ -58,6 +58,7 @@ export interface IDialogOptions {
readonly disableCloseAction?: boolean;
readonly disableCloseButton?: boolean;
readonly disableDefaultAction?: boolean;
readonly onVisibilityChange?: (window: Window, visible: boolean) => void;
readonly buttonStyles: IButtonStyles;
readonly checkboxStyles: ICheckboxStyles;
readonly inputBoxStyles: IInputBoxStyles;
@@ -536,6 +537,10 @@ export class Dialog extends Disposable {
this.element.setAttribute('aria-describedby', 'monaco-dialog-icon monaco-dialog-message-text monaco-dialog-message-detail monaco-dialog-message-body monaco-dialog-footer');
show(this.element);
// Notify visibility change
this.options.onVisibilityChange?.(window, true);
this._register(toDisposable(() => this.options.onVisibilityChange?.(window, false)));
// Focus first element (input or button)
if (this.inputs.length > 0) {
this.inputs[0].focus();